一种网络处理器和控制方法技术

技术编号:37078473 阅读:15 留言:0更新日期:2023-03-29 19:54
本发明专利技术公开了一种网络处理器和控制方法,网络处理器包括主机和智能网卡,所述主机用于将网络任务分为数据面线程和控制面线程,所述主机只保留控制面线程,所述控制面线程负责创建、释放数据面线程并负责监听外部网络请求事件;所述智能网卡用于运行从主机卸载下来的数据面线程。本发明专利技术通过提供一种网络处理器和控制方法,解决网络任务中数据面线程占用主机CPU计算资源过高的问题。CPU计算资源过高的问题。CPU计算资源过高的问题。

【技术实现步骤摘要】
一种网络处理器和控制方法


[0001]本专利技术涉及计算机系统
,特别是涉及一种网络处理器和控制方法。

技术介绍

[0002]随着网络技术、存储技术、芯片设计制造技术的不平衡发展,目前,计算机网卡的设计面临新的问题.网络速度在2020年已经迈向400Gbps以太网大关,并正向着更快的800Gbps,甚至1.6Tbps发展,而后摩尔时代意味着CPU的频率已经趋于稳定,在这种不平衡的现状下,使用传统的CPU来进行网络任务处理已经显得不尽如人意。
[0003]同时,云服务器盈利的方式为租户租用虚拟机支付的价格与维护虚拟机所需成本之差,因此为了获得最大盈利,需要尽可能的减少用于处理网络任务的主机CPU,以创建更多的虚拟机交付使用。
[0004]因此,如何解决网络任务中线程占用主机CPU计算资源过高的问题是本领域技术人员需解决的技术问题。

技术实现思路

[0005]本专利技术提供一种网络处理器和控制方法,用于解决网络任务中线程占用主机CPU计算资源过高的问题。
[0006]为实现上述效果,本专利技术的技术方案如下:
[0007]一种网络处理器,包括主机和智能网卡,所述主机用于将网络任务分为数据面线程和控制面线程,所述主机只保留控制面线程,所述控制面线程负责创建、释放数据面线程;所述智能网卡用于运行从主机卸载下来的数据面线程。
[0008]上述方案中,卸载的过程较为复杂,需要硬件支持卸载的功能以及操作系统内核相应的修改;目前的智能网卡已经能够支持简单功能的卸载,如网络数据包的校验和计算等,但更为复杂的处理任务,如拥塞控制,封装、解封数据包等仍需要主机CPU参与。
[0009]进一步的,所述数据面线程和控制面线程之间设有线程管理模块,通过线程管理模块监控数据面线程的进程、状态。
[0010]上述方案中,也可以通过线程管理模块控制数据面线程进程、状态。线程管理模块通过主机中软硬件配合实现,硬件比如主机中的内存。线程管理模块、控制面线程、数据面线程均为多个。
[0011]进一步的,所述智能网卡上设有通用处理器核,主机和智能网卡上均集成有CPU。
[0012]上述方案中,通用处理器核还可以选用ARM芯片等。
[0013]进一步的,所述智能网卡上还集成有GPU。
[0014]进一步的,所述智能网卡上的GPU、CPU通过PCIe接口与主机相连。
[0015]上述方案中,智能网卡通过PCIe接口接收数据报文,智能网卡接收到的数据报文对应的处理类型作为线程;所述线程为控制面线程和数据面线程。数据面线程还负责网络任务的处理,用于在连接建立之后本地与外部网络之间的所有网络任务的处理。
[0016]进一步的,智能网卡还设有网口,用于连通外接设备。
[0017]一种网络处理器的控制方法,所述方法包括:
[0018]主机接收并运行网络任务,并将网络任务分为数据面线程和控制面线程;所述控制面线程负责创建、释放数据面线程;数据面线程负责处理网络任务中的网络数据;
[0019]主机将数据面线程卸载到智能网卡上的通用处理器核,同时保留控制面线程在主机的CPU运行。
[0020]上述方案中,控制面线程并不负责具体的网络任务处理,因此,对于主机的CPU来说开销较小。
[0021]进一步的,所述主机在卸载数据面线程时,如果数据面线程的并行度高,则将数据面卸载到智能网卡上的GPU中,否则将数据面卸智能载到网卡上的CPU中。
[0022]进一步的,所述控制面线程负责还监听外部网络的请求事件,如果请求事件为建立连接请求事件,则建立连接请求事件后,创建一个数据面线程,将数据面线程卸载到智能网卡上的通用处理器核中运行,同时维护线程管理模块。
[0023]进一步的,所述控制面线程还负责监听外部网络的请求事件,如果请求事件为撤销连接请求事件,则通过线程管理模块删除智能网卡上的所有数据面线程。
[0024]与现有技术相比,本专利技术技术方案的有益效果是:
[0025]本专利技术将网络任务中的线程分为数据面线程和控制面线程,其中控制面线程负责创建、释放数据面线程,数据面线程负责处理网络任务数据。
[0026]主机将数据面线程卸载到智能网卡上的通用处理器核,同时保留控制面线程在主机CPU运行,解决网络任务中线程占用主机CPU计算资源过高的问题,提高网络任务的运算效率。
附图说明
[0027]附图仅用于示例性说明,不能理解为对本专利技术的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0028]图1为本专利技术实施例提供的一种网络处理器示意图;
[0029]图2是本专利技术实施例提供的一种网络处理器的控制方法示意图。
具体实施方式
[0030]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都是本专利技术保护的范围。
[0031]需要注意的是,术语“S1”、“S2”等仅用于步骤的描述目的,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅仅是为了方便描述本申请的方法,而不能理解为指示步骤的先后顺序。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0032]随着数据中心网络架构的发展,为解决数据中心虚拟化所带来的网络任务流量资源消耗的问题,智能网卡的概念应运而生。主机通过将服务器上虚拟机之间的网络流量卸载到智能网卡上,释放了服务器中宝贵的计算资源。
[0033]在性能和成本两方面看,主机CPU都不适合用于处理网络任务。
[0034]目前网络IO密集型应用程序都会用到多线程去处理并行的网络任务,这也导致了占用主机的CPU计算资源过高。同时,网络任务的处理用不到高端的CPU,且网络任务的处理一般为整数型运算,不需要浮点运算等复杂计算。
[0035]同时,数据中心的智能网卡会集成ARM、RISC

V等通用处理器核。如MellanoxBlueField产品系列就集成了ARM v8 A72处理器阵列(最多16核,0.8GHz)。
[0036]PCI

Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,PCIe比以前的标准有许多改进,包括更高的最大系统总线吞吐量,更低的I/O引脚数量和更小的物理尺寸,更好的总线设备性能缩放,更详细的错误检测和报告机制(高级错误报本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络处理器,其特征在于,包括主机和智能网卡,所述主机用于将网络任务分为数据面线程和控制面线程,所述主机只保留控制面线程,所述控制面线程负责创建、释放数据面线程;所述智能网卡用于运行从主机卸载下来的数据面线程。2.根据权利要求1所述一种网络处理器,其特征在于,所述数据面线程和控制面线程之间设有线程管理模块,通过线程管理模块监控数据面线程的进程、状态。3.根据权利要求2所述一种网络处理器,其特征在于,所述智能网卡上设有通用处理器核,主机和智能网卡上均集成有CPU。4.根据权利要求3所述一种网络处理器,其特征在于,所述智能网卡上还集成有GPU。5.根据权利要求4所述一种一种网络处理器,其特征在于,所述智能网卡上的GPU、CPU通过PCIe接口与主机相连。6.根据权利要求5所述一种网络处理器,其特征在于,所述智能网卡还设有网口,用于连通外接设备。7.一种应用于如权利要求1~6所述的网络处理器的控制方法,其特征在于,所述方法包括:主机接收并运行网...

【专利技术属性】
技术研发人员:李晓霖刘宏伟
申请(专利权)人:芯光智网集成电路设计无锡有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1