logo好方法网

基于FPGA改善NFV业务链转发效率的装置及方法


技术摘要:
本发明公开了一种基于FPGA改善NFV业务链转发效率的装置及方法,该装置包括FPGA管理器、RDMA转接口、RDMA控制器、调度器、n个加速单元,其中FPGA管理器用于管理FPGA资源,RDMA转接口用于连接RDMA控制器,RDMA控制器用于接收数据包,调度器用于分配数据包,加速单元用于  全部
背景技术:
随着数据业务流量的爆炸式增长,现有网络架构暴露出难以克服的结构性问题。 设备和业务的紧耦合,造成现有相对封闭的网络架构,粗放的网络建设与运维模式也难以 支撑网络可持续发展。NFV技术的诞生从根本上来说就是为了解决运营商网络演进的痛点, 将IT技术运用到ICT融合的必然趋势。NFV技术除了实现网络功能软件的灵活加载与实例 化,在数据中心、网络节点及用户驻地网等各个位置灵活地部署配置,降低业务部署的复杂 度,还向运营商提供管理和编排功能以实现网络部署的自动化、灵活性和敏捷性,提高网络 设备的统一化、通用性、适配性等特性。 NFV设计的初衷是针对部分低转发流量类业务功能,基本可以满足大多数低速率 转发业务的处理要求。但是,随着SDN技术的推动,各类高速率转发和会话控制类网络业务 功能,如vBNG、vPGW等,速率在40Gbit/s以上,也逐步加入到NFV的应用行列中来。X86服务器 采用软件转发和交换技术,报文在服务器各层面间传递,会受到多方面因素的影响,因此服 务器的内部转发性能是NFV系统的主要瓶颈。影响NFV转发性能的主要因素有:网卡硬件中 断、内核网络协议栈、虚拟化层的封装效率、业务链网络的转发效率。 针对上述转发性能影响因素,目前业界已提出了多类解决方法。简单介绍如下: 现有技术一:轮询取代中断。 原理:以网卡接收分组为例,在轮询模式下,系统会在初始化时屏蔽收发分组中 断,并使用一个线程或进程来不断检测收取分组描述符中的收取分组成功标志是否被网卡 置位,以此来判断是否有数据分组。 优点:当I/O速率接近CPU速率时,中断的开销变得不可忽略,轮询模式的优势明 显。 缺点:如果数据吞吐率很低,中断能有更好的CPU利用率,此时不宜采用轮询模式。 现有技术二:零复制技术。 原理:在NFV数据平面操作的场景下,零复制技术指的是除网卡将DMA复制进内存 外,从数据分组接收到应用程序处理数据分组,整个过程中不存在数据复制。 优点:避免CPU将数据从一个内存区域复制到另一个内存区域带来的开销。 缺点:存在着大量改写原有业务应用套接字的问题,应用中需要在性能与代码改 动之间进行取舍。 现有技术三:DPDK技术。 原理:DPDK是Intel提供的数据平面开发工具集,为Intel处理架构下用户空间高 效的数据包处理提供库函数和驱动的支持。它不同于Linux系统以通用性设计为目的,而是 3 CN 111585787 A 说 明 书 2/4 页 专注于网络应用中数据包的高性能处理。 优点:以用户数据I/O通道优化为基础,结合Intel虚拟化技术、操作系统、虚拟化 层与虚拟交换机等多种优化方案,形成了完善的转发性能加速架构,并开放了用户态API供 用户应用程序访问。 缺点:还无法达到小包线速转发,仍需进行性能提升研究和测试研究验证工作。 而对于NFV业务链网络,CPU难以避免地会参与数据包的传递过程。
技术实现要素:
本发明的目的是为了解决现有技术中的NFV转发速度瓶颈、避免CPU的参与与开 销,提出一种基于FPGA改善NFV业务链转发效率的装置及方法。 本发明的第一个目的可以通过采取如下技术方案达到: 一种基于FPGA改善NFV业务链转发效率的装置,所述装置包括:位于x86服务器上 的用于管理FPGA资源的FPGA管理器以及RDMA转接口,位于FPGA上的用于传输数据包的RDMA 控制器、用于分配数据包的调度器和用于提高数据处理的n个加速单元,其中,20<=n<= 40, 所述RDMA转接口用于连接FPGA管理器和RDMA控制器; 所述FPGA管理通过RDMA转接口将数据包传到RDMA控制器中,所述RDMA控制器将收 到的数据包通过调度器交由n个加速单元并行处理。 进一步地通过RDMA转接口,在用户空间的FPGA管理器可以直接操控FPGA资源,而 把内核旁路。 进一步地所述FPGA管理器将FPGA中的寄存器和内存空间映射到用户空间的内存 地址,采取轮询的方式将数据包传到RDMA控制器中。 进一步地,当两台或多台x86服务器中的NFV业务应用要进行数据传输时,启动 FPGA管理器,将数据包请求以轮询的方式传入位于FPGA中的RDMA控制器,RDMA控制器通过 一个调度器交由n个加速单元处理,处理完成后RDMA控制器读取处理结果并通过网络传输 到远程RDMA控制器中。 本发明的另一个目的可以通过采取如下技术方案达到: 一种基于FPGA改善NFV业务链转发效率的方法,所述方法包括以下步骤: 当两台或多台服务器中的NFV业务应用进行数据传输时,启动FPGA管理器,FPGA管 理器通过RDMA转接口直接操控FPGA,并以轮询的方式将数据包传入RDMA控制器; RDMA控制器通过调度器以分配的方式将数据包传输给FPGA中n个加速单元进行并 行处理,20<=n<=40; 并行处理完成后,RDMA控制器读取处理结果并通过网络传输到远程RDMA控制器 中; 目标服务器确认内存钥匙,直接将数据写入缓存中。 进一步地,所述RDMA控制器读取处理结果并通过基于ROCE协议的RDMA远程传输方 法传输到远程RDMA控制器中。 进一步地,所述加速单元处理结果包含目标虚拟地址、内存钥匙和数据本身。 本发明相对于现有技术具有如下的优点及效果: 4 CN 111585787 A 说 明 书 3/4 页 本发明基于FPGA高速并行处理能力,提高了数据处理能力和数据吞吐率;相对于 传统数据传输,采用RDMA远程传输,通过基于ROCE协议的RDMA远程传输方法传输到远程 RDMA控制器中,避免了CPU的参与,减少了开销。 附图说明 图1是发明实施例提供的一种基于FPGA改善NFV业务链转发效率的技术原理图; 图2为本发明实施例提供的一种基于FPGA改善NFV业务链转发效率的装置结构图; 图3是本发明实施例提供的一种基于FPGA改善NFV业务链转发效率的方法流程图。
分享到:
收藏