CN106789152A - 基于多队列网卡的处理器扩展方法及装置 - Google Patents
基于多队列网卡的处理器扩展方法及装置 Download PDFInfo
- Publication number
- CN106789152A CN106789152A CN201611033006.4A CN201611033006A CN106789152A CN 106789152 A CN106789152 A CN 106789152A CN 201611033006 A CN201611033006 A CN 201611033006A CN 106789152 A CN106789152 A CN 106789152A
- Authority
- CN
- China
- Prior art keywords
- queue
- network
- hardware
- processor cores
- network data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 101
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多队列网卡的处理器扩展方法及装置,其中,该方法包括在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心;在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系重定向表;在检测到网络流量满足预设的触发条件时扩展p个处理器核心;从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种基于多队列网卡的处理器扩展方法及装置。
背景技术
通常,用于处理报文的网络设备,比如交换机、路由器、防火墙和网关等作为计算机互连的数据交换节点。同时数据转发性能决定了网络的整体质量。
随着用户连接数的急剧增长和各种高宽带应用的出现,主频提升受限的单核处理器越来越难以满足高速数据转发的性能需求。多核处理器凭借其较低成本的扩展能力和并行计算特性,逐渐在网络通信领域得到广泛应用。其中,多核处理器是指在一个硬件芯片上集成多个核心处理器(Core-CPU),通常为共享内存式结构。多核处理器具备相对独立的多个计算处理器核心,可以并行地执行报文处理程序,从而使得报文处理性能得到大幅度提高,进而可以提高系统整体的吞吐率。
然而,多核处理器由于共享许多硬件和软件资源,在数据转发繁忙时,如何能够提高彼此的协同效率,减少相互等待时间,充分发挥并行特性成为多核处理器平台软件开发的难点。
为了提高多核处理器的计算并行性,现有技术中通常采用流水线技术即接收到报文,根据该报文中携带的特征值(例如该报文的源IP、源端口、目的IP、目的端口等)计算该报文的散列值,然后将报文分配给与该散列值对应的处理器核心。
目前,防火墙等网络设备在对网络数据流量处理时,为了改善多核处理器的计算性能,通常利用网卡硬件提供的RSS(Receive Side Scaling)技术,将流量分发给多个队列,来充分发挥多处理器系统的并行处理能力。
然而,网卡硬件初始化完成RSS的配置,以及硬件队列与处理器核心的绑定关系。即硬件队列和参与接收数据包的处理器核心的数量是固定的,在网卡以及处理器运行期间不能动态变化,不能够满足流量接收数据处理的需求。
发明内容
本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于多队列网卡的处理器扩展方法,该方法能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
本发明的第二个目的在于提出一种基于多队列网卡的处理器扩展装置。
本发明的第三个目的在于提出另一种基于多队列网卡的处理器扩展装置。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
本发明的第五个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种基于多队列网卡的处理器扩展方法,包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;在所述网卡中配置重定向表(Redirection Table),其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
本发明实施例的基于多队列网卡的处理器扩展方法,通过在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列以及在系统初始化时配置n个用于并行处理网络数据包的处理器核心,并在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系的重定向表,在检测到网络流量满足预设的触发条件时扩展p个处理器核心,其中,p小于等于m,最后从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
另外,本发明上述实施例的基于多队列网卡的处理器扩展方法还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述的方法,还包括:在系统初始化时配置(n+m)个暂存队列;或者,根据所配置的处理器核心数量动态配置对应的暂存队列。
在本发明的一个实施例中,所述若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,包括:若检测到n个处理器核心的负载大于预设阈值,则获取当前的网络流量;根据所述当前的网络流量确定匹配的扩展处理器数量;计算所述匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
在本发明的一个实施例中,从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联之前,还包括:先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
在本发明的一个实施例中,在将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系之后,还包括:对接收到的网络数据包进行解析提取相应的字段;应用HASH函数对所述字段进行HASH运算获取处理标识;查询所述第二对应关系获取与所述处理标识对应的硬件队列标识;将所述网络数据包发送至与所述硬件队列标识对应的硬件队列。
为达上述目的,本发明第二方面实施例提出了一种基于多队列网卡的处理器扩展装置,包括:第一配置模块,用于在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;第二配置模块,用于在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;第三配置模块,用于在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;扩展模块,用于在检测到网络流量满足预设的触发条件时,扩展p个处理器核心,其中,p小于等于m;处理模块,用于从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
本发明实施例的基于多队列网卡的处理器扩展装置,通过在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列以及在系统初始化时配置n个用于并行处理网络数据包的处理器核心,并在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系的重定向表,在检测到网络流量满足预设的触发条件时扩展p个处理器核心,其中,p小于等于m,最后从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
另外,本发明上述实施例的基于多队列网卡的处理器扩展装置还可以具有如下附加的技术特征:
在本发明的一个实施例中,所述的装置,还包括:第四配置模块,用于在系统初始化时配置(n+m)个暂存队列;第五配置模块,用于根据所配置的处理器核心数量动态配置对应的暂存队列。
在本发明的一个实施例中,所述扩展模块用于:在检测到n个处理器核心的负载大于预设阈值时,获取当前的网络流量;根据所述当前的网络流量确定匹配的扩展处理器数量;计算所述匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
在本发明的一个实施例中,所述的装置,还包括:同步模块,用于先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
在本发明的一个实施例中,所述的装置,还包括:解析模块,用于对接收到的网络数据包进行解析提取相应的字段;应用模块,用于应用HASH函数对所述字段进行HASH运算获取处理标识;查询模块,用于查询所述第二对应关系获取与所述处理标识对应的硬件队列标识;发送模块,用于将所述网络数据包发送至与所述硬件队列标识对应的硬件队列。
为达上述目的,本发明第三方面实施例提出了另一种基于多队列网卡的处理器扩展装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种基于多队列网卡的处理器扩展方法,所述方法包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种基于多队列网卡的处理器扩展方法,所述方法包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于多队列网卡的处理器扩展方法的流程示意图;
图2为根据本发明另一个实施例的基于多队列网卡的处理器扩展方法的流程示意图;
图3为根据本发明一个实施例的基于多队列网卡的处理器扩展装置的结构示意图;
图4为根据本发明另一个实施例的基于多队列网卡的处理器扩展装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于多队列网卡的处理器扩展方法及装置。
通常,多队列网卡能够支持多个接收和发送队列,并且能够将接收的网络数据包分发到不同的队列,使网络流量能在不同的处理器核心之间并行处理。多队列网卡还可以通过过滤器来指定网络数据包属于哪个分类。每个分类的数据包被送至一个指定的接收队列中,处理器核心会对每个队列中的数据地进行处理。
由于RSS机制是一种此类分流技术,可以通过解析每个数据包的协议,并根据提取相应的字段,作为HASH函数的输入参数,进行HASH运算,依据计算出的函数结果,查找重定向表(Redirect Table)对应的表项,取出队列标识,将该数据包发送至该队列。实现对数据包进行多队列分发,以达到网络数据流分类的目的。RSS技术的目的是充分利用多核处理器并行处理,从而提高性能。
通常使用RSS技术,在系统初始化时,网卡硬件初始化完成RSS的配置,以及硬件队列与处理器核心的绑定关系。若重新配置硬件队列与处理器核心的绑定关联时,需要停止硬件网卡接收网络数据包工作和处理器核心接收网络数据包处理工作,对网卡进行重新初始化,并配置硬件队列与处理器核心的绑定关系。即硬件队列和参与接收数据包的处理器核心的数量是固定的,在网卡以及处理器运行期间不能动态变化,不能够满足流量接收数据处理的需求。
为了解决上述问题,本申请提出基于多队列网卡的处理器扩展方法。该方法能够在网卡以及处理器运行期间动态增加接收网络数据包硬件队列的数量以及动态增加接收数据包处理器核心的数量,从而满足流量接收数据处理需求。具体如下:
图1为根据本发明一个实施例的基于多队列网卡的处理器扩展方法的流程示意图。
如图1所示,该基于多队列网卡的处理器扩展方法包括以下步骤:
步骤101,在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列。
具体地,在网卡进行初始化时,需要完成硬件队列和处理器核心的关联。由此,为了能够在网卡和处理器运行期间动态增加硬件队列的数量,在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列。
其中,n个初始硬件队列与n个处理器核心进行关联。m可以根据实际需要进行选择设置,表示可以动态扩展接收数据包的硬件队列的数量。
步骤102,在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包。
具体地,在系统初始化时配置n个用于并行处理网络数据包的处理器核心与上述n个初始硬件队列进行关联。
需要说明的是,每个处理器核心具有对应的用于保存从硬件队列获取的网络数据包的暂存队列。
可以理解的是,暂存队列的配置方式有很多种,可以根据实际应用需要进行选择设置。举例说明如下:
第一种示例,在系统初始化时配置(n+m)个暂存队列。
具体地,在系统初始化时,配置用于保存从n个初始硬件队列获取的网络数据包的暂存队列以及配置用于保存从m个动态硬件队列获取的网络数据包的暂存队列。
第二种示例,根据所配置的处理器核心数量动态配置对应的暂存队列。
具体地,根据实际应用情况随时配置暂存队列,比如处理器核心数量动态增加2个,动态增加配置2个对应的暂存队列。
步骤103,在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系。
具体地,重定向表存储在网卡中,根据网络数据包的处理标识查询重定向表,可以查询到对应的初始硬件队列标识。
其中,配置重定向表的方式有很多种,可以根据实际应用需要选择设置。比如将重定向表的内容全部设置为0至n-1之间的数值。
其中,网络数据包的处理标识的方式有很多种,可以根据实际应用需要选择设置。比如解析网络数据包的协议提取相应的字段,应用HASH函数对字段进行HASH运算获取处理标识。
进一步地,查询第一对应关系获取与处理标识对应的硬件队列标识以及将网络数据包发送至与硬件队列标识对应的硬件队列。。
需要说明的是,查询到的硬件队列标识在0至n-1之间,因此初始运行配置n个用于并行处理网络数据包的处理器核心,并相应配置n个暂存队列。
可以理解的是,m个硬件队列处于等待状态,并没有数据包进入硬件队列。
步骤104,若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m。
步骤105,从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
需要说明的是,处理器核心数量可以是手动配置增加,也可以根据处理器核心负载情况自动增加。
具体地,预设的触发条件有很多种,可以根据实际应用需要进行选择设置。举例说明如下:
第一种示例,设置预设阈值。
具体地,在检测到n个处理器核心的负载大于预设阈值时获取当前的网络流量,并根据当前的网络流量确定匹配的扩展处理器数量,进一步计算匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
第二种示例,设置预设算法。
具体地,通过预设算法处理得到处理器核心数量不能满足流量数据接收数据处理需求,自动扩展处理器核心数量P。
可以理解的是,p小于等于m是可以扩展处理器核心数量的个数不大于在网卡初始化时动态硬件队列的个数。
进一步地,在扩展p个处理器核心后,从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
具体地,在将动态硬件队列与扩展的处理器核心关联之后,需要重新配置重定向表,将新增加的硬件队列标识符与原有的0至n-1个硬件标识符都写入重定向表中。
本发明实施例的基于多队列网卡的处理器扩展方法,通过在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列以及在系统初始化时配置n个用于并行处理网络数据包的处理器核心,并在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系的重定向表,在检测到网络流量满足预设的触发条件时扩展p个处理器核心,其中,p小于等于m,最后从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
基于上述实施例,当需要增加处理器核心数量时,需要考虑同步问题即同一会话的不同数据包同时由两个处理器核心处理,会导致两个处理器核心同时访问会话重定向表,造成数据状态不一致的问题。
为了防止产生同步问题,需要先将暂存队列的全部数据包处理完毕,并不再从硬件队列结束数据包,直到动态增加处理器核心结束。具体结合图2说明如下:
图2为根据本发明另一个实施例的基于多队列网卡的处理器扩展方法的流程示意图
如图2所示,该基于多队列网卡的处理器扩展方法包括以下步骤:
步骤201,在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列。
步骤202,在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包。
步骤203,在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系。
需要说明的是,步骤S201-S203的描述与上述步骤S101-S103相对应,因此对的步骤S201-S203的描述参考上述步骤S101-S103的描述,在此不再赘述。
步骤204,若检测到n个处理器核心的负载大于预设阈值,则获取当前的网络流量。
步骤205,根据当前的网络流量确定匹配的扩展处理器数量。
步骤206,计算匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
具体地,设置预设阈值,在检测到n个处理器核心的负载大于预设阈值时,获取当前的网络流量以确定需要扩展的处理器核心数量P,并进行扩展。
可以理解的是,p小于等于m是可以扩展处理器核心数量的个数不大于在网卡初始化时动态硬件队列的个数。
步骤207,先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
具体地,为了避免产生同步问题,需要将暂存队列的网络数据包处理完毕,直到扩展p个处理器核心恢复接收网络数据包结束,都不再从n个初始硬件队列接收网络数据包。
步骤208,从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
需要说明的是,步骤S208的描述与上述步骤S105相对应,因此对的步骤S208的描述参考上述步骤S105的描述,在此不再赘述。
步骤209,对接收到的网络数据包进行解析提取相应的字段。
步骤2010,应用HASH函数对字段进行HASH运算获取处理标识。
步骤2011,查询第二对应关系获取与处理标识对应的硬件队列标识。
步骤2012,将网络数据包发送至与硬件队列标识对应的硬件队列。
具体地,在将动态硬件队列与扩展的处理器核心关联之后,需要重新配置重定向表,将新增加的硬件队列标识符与原有的0至n-1个硬件标识符都写入重定向表中。
进一步地,通过对接收到的网络数据包进行解析提取相应的字段,并应用HASH函数对字段进行HASH运算获取处理标识,根据获取的处理标识在重定向表中查询对应的硬件队列标识,以将网络数据包发送至与硬件队列标识对应的硬件队列。
可以理解的是,在动态增加处理器核心数量完成后,各个处理器核心可以从硬件队列接收数据包,进行数据包处理。
本发明实施例的基于多队列网卡的处理器扩展方法,通过先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。由此,避免了产生同步问题,支持数据并发。进一步提高处理性能。
为了实现上述实施例,本发明还提出了一种基于多队列网卡的处理器扩展装置。
图3为根据本发明一个实施例的基于多队列网卡的处理器扩展装置的结构示意图。
如图3所示,该基于多队列网卡的处理器扩展装置包括:第一配置模块31、第二配置模块32、第三配置模块33、扩展模块34和处理模块35。
其中,第一配置模块31用于在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列。
第二配置模块32用于在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包。
第三配置模块33用于在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系。
扩展模块34用于在检测到网络流量满足预设的触发条件时,扩展p个处理器核心,其中,p小于等于m。
处理模块35用于从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
其中,在本发明的一个实施例中,该基于多队列网卡的处理器扩展装置还包括:第四配置模块36和第四配置模块37。
其中,第四配置模块36用于在系统初始化时配置(n+m)个暂存队列。
第五配置模块37用于根据所配置的处理器核心数量动态配置对应的暂存队列。
扩展模块34用于在检测到n个处理器核心的负载大于预设阈值时,获取当前的网络流量;根据当前的网络流量确定匹配的扩展处理器数量;计算匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
需要说明的是,前述对基于多队列网卡的处理器扩展方法实施例的解释说明也适用于该基于多队列网卡的处理器扩展装置,其实现原理类似,此处不再赘述。
本发明实施例的基于多队列网卡的处理器扩展装置,通过在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列以及在系统初始化时配置n个用于并行处理网络数据包的处理器核心,并在网卡中配置包括网络数据包的处理标识与n个初始硬件队列标识的第一对应关系的重定向表,在检测到网络流量满足预设的触发条件时扩展p个处理器核心,其中,p小于等于m,最后从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。由此,能够在网卡以及处理器运行期间动态增加硬件队列和处理器核心的数量,从而满足流量接收数据处理需求。
图4为根据本发明另一个实施例的基于多队列网卡的处理器扩展装置的结构示意图。
如图4所示,在图3的基础上,该基于多队列网卡的处理器扩展装置还包括:同步模块38、解析模块39、应用模块310、查询模块311和发送模块312。
其中,同步模块38用于先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
解析模块39用于对接收到的网络数据包进行解析提取相应的字段。
应用模块310用于应用HASH函数对字段进行HASH运算获取处理标识。
查询模块311用于查询第二对应关系获取与处理标识对应的硬件队列标识。
发送模块312用于将网络数据包发送至与硬件队列标识对应的硬件队列。
需要说明的是,前述对基于多队列网卡的处理器扩展方法实施例的解释说明也适用于该基于多队列网卡的处理器扩展装置,其实现原理类似,此处不再赘述。
本发明实施例的基于多队列网卡的处理器扩展装置,通过先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。由此,避免了产生同步问题,支持数据并发。进一步提高处理性能。
为达上述目的,本发明第三方面实施例提出了另一种基于多队列网卡的处理器扩展装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包;在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种基于多队列网卡的处理器扩展方法,所述方法包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包;在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种基于多队列网卡的处理器扩展方法,所述方法包括:在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,暂存队列用于保存从硬件队列获取的网络数据包;在网卡中配置重定向表,其中,重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;从m个动态硬件队列中选择p个动态硬件队列与p个处理器核心关联,并将第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于多队列网卡的处理器扩展方法,其特征在于,包括以下步骤:
在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;
在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;
在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;
若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,其中,p小于等于m;
从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
2.如权利要求1所述的方法,其特征在于,还包括:
在系统初始化时配置(n+m)个暂存队列;或者,
根据所配置的处理器核心数量动态配置对应的暂存队列。
3.如权利要求1所述的方法,其特征在于,所述若检测到网络流量满足预设的触发条件,则扩展p个处理器核心,包括:
若检测到n个处理器核心的负载大于预设阈值,则获取当前的网络流量;
根据所述当前的网络流量确定匹配的扩展处理器数量;
计算所述匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
4.如权利要求1所述的方法,其特征在于,从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联之前,还包括:
先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
5.如权利要求1-4任一所述的方法,其特征在于,在将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系之后,还包括:
对接收到的网络数据包进行解析提取相应的字段;
应用HASH函数对所述字段进行HASH运算获取处理标识;
查询所述第二对应关系获取与所述处理标识对应的硬件队列标识;
将所述网络数据包发送至与所述硬件队列标识对应的硬件队列。
6.一种基于多队列网卡的处理器扩展装置,其特征在于,包括:
第一配置模块,用于在网卡初始化时配置用于接收网络数据包的n个初始硬件队列和m个动态硬件队列;
第二配置模块,用于在系统初始化时配置n个用于并行处理网络数据包的处理器核心,其中,每个处理器核心具有对应的暂存队列,其中,所述暂存队列用于保存从硬件队列获取的网络数据包;
第三配置模块,用于在所述网卡中配置重定向表,其中,所述重定向表包括:网络数据包的处理标识与n个初始硬件队列标识的第一对应关系;
扩展模块,用于在检测到网络流量满足预设的触发条件时,扩展p个处理器核心,其中,p小于等于m;
处理模块,用于从所述m个动态硬件队列中选择p个动态硬件队列与所述p个处理器核心关联,并将所述第一对应关系更新为网络数据包的处理标识与(n+p)个硬件队列标识的第二对应关系。
7.如权利要求6所述的装置,其特征在于,还包括:
第四配置模块,用于在系统初始化时配置(n+m)个暂存队列;
第五配置模块,用于根据所配置的处理器核心数量动态配置对应的暂存队列。
8.如权利要求6所述的装置,其特征在于,所述扩展模块用于:
在检测到n个处理器核心的负载大于预设阈值时,获取当前的网络流量;
根据所述当前的网络流量确定匹配的扩展处理器数量;
计算所述匹配的扩展处理器数量与n个处理器核心的差值获取处理器核心数量P,并进行扩展。
9.如权利要求6所述的装置,其特征在于,还包括:
同步模块,用于先将暂存队列的网络数据包处理完毕,并不再从n个初始硬件队列接收网络数据包,直到结束扩展p个处理器核心恢复接收网络数据包。
10.如权利要求6-9任一所述的装置,其特征在于,还包括:
解析模块,用于对接收到的网络数据包进行解析提取相应的字段;
应用模块,用于应用HASH函数对所述字段进行HASH运算获取处理标识;
查询模块,用于查询所述第二对应关系获取与所述处理标识对应的硬件队列标识;
发送模块,用于将所述网络数据包发送至与所述硬件队列标识对应的硬件队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033006.4A CN106789152A (zh) | 2016-11-17 | 2016-11-17 | 基于多队列网卡的处理器扩展方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033006.4A CN106789152A (zh) | 2016-11-17 | 2016-11-17 | 基于多队列网卡的处理器扩展方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106789152A true CN106789152A (zh) | 2017-05-31 |
Family
ID=58970854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611033006.4A Pending CN106789152A (zh) | 2016-11-17 | 2016-11-17 | 基于多队列网卡的处理器扩展方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106789152A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769084A (zh) * | 2018-08-28 | 2018-11-06 | 山东超越数控电子股份有限公司 | 一种处理器与防火墙 |
CN109284192A (zh) * | 2018-09-29 | 2019-01-29 | 网宿科技股份有限公司 | 参数配置方法及电子设备 |
CN109729021A (zh) * | 2018-12-27 | 2019-05-07 | 北京天融信网络安全技术有限公司 | 一种报文处理方法及电子设备 |
CN109729024A (zh) * | 2018-12-29 | 2019-05-07 | 中盈优创资讯科技有限公司 | 数据包处理系统及方法 |
CN111030844A (zh) * | 2019-11-14 | 2020-04-17 | 中盈优创资讯科技有限公司 | 流量处理框架建立方法及装置 |
CN111190745A (zh) * | 2019-11-05 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112019398A (zh) * | 2020-07-16 | 2020-12-01 | 中国人民财产保险股份有限公司 | 网络流量的预测方法和装置 |
WO2021063154A1 (zh) * | 2019-09-30 | 2021-04-08 | 华为技术有限公司 | 一种队列通信的方法、系统及相关设备 |
CN112769639A (zh) * | 2020-12-22 | 2021-05-07 | 杭州迪普科技股份有限公司 | 一种并行下发配置信息的方法及装置 |
CN113726737A (zh) * | 2021-07-26 | 2021-11-30 | 绿盟科技集团股份有限公司 | 一种通信方法、设备及介质 |
CN114006873A (zh) * | 2021-10-29 | 2022-02-01 | 深圳市风云实业有限公司 | 一种基于多核处理器的流量调度方法 |
CN115941465A (zh) * | 2022-12-02 | 2023-04-07 | 京东科技信息技术有限公司 | 网卡配置方法、装置、电子设备和计算机可读存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546386A (zh) * | 2011-10-21 | 2012-07-04 | 北京安天电子设备有限公司 | 自适应多网卡捕包方法及装置 |
CN102609298A (zh) * | 2012-01-11 | 2012-07-25 | 中国科学技术大学苏州研究院 | 基于硬件队列扩展的网卡虚拟化系统及其方法 |
CN102790777A (zh) * | 2012-08-07 | 2012-11-21 | 华为技术有限公司 | 网络接口适配器注册方法及驱动设备、服务器 |
CN102859491A (zh) * | 2010-04-23 | 2013-01-02 | 国际商业机器公司 | 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 |
CN102916905A (zh) * | 2012-10-18 | 2013-02-06 | 曙光信息产业(北京)有限公司 | 一种基于hash算法的万兆网卡多路分流方法及其系统 |
US8413143B2 (en) * | 2010-04-12 | 2013-04-02 | International Business Machines Corporation | Dynamic network adapter queue pair allocation |
US8639833B1 (en) * | 2006-10-06 | 2014-01-28 | Nvidia Corporation | Dynamic control of scaling in computing devices |
CN104158764A (zh) * | 2014-08-12 | 2014-11-19 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN104281493A (zh) * | 2014-09-28 | 2015-01-14 | 般固(北京)科技股份有限公司 | 一种提升应用交付通讯平台多进程程序性能的方法 |
US20150100770A1 (en) * | 2013-10-09 | 2015-04-09 | International Business Machines Corporation | Dynamic reconfiguration of queue pairs |
CN104639578A (zh) * | 2013-11-08 | 2015-05-20 | 华为技术有限公司 | 多协议栈负载均衡方法及装置 |
CN104750543A (zh) * | 2013-12-26 | 2015-07-01 | 杭州华为数字技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
CN105518620A (zh) * | 2014-10-31 | 2016-04-20 | 华为技术有限公司 | 一种网卡配置方法及资源管理中心 |
US9736211B2 (en) * | 2012-08-27 | 2017-08-15 | Vmware, Inc. | Method and system for enabling multi-core processing of VXLAN traffic |
-
2016
- 2016-11-17 CN CN201611033006.4A patent/CN106789152A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639833B1 (en) * | 2006-10-06 | 2014-01-28 | Nvidia Corporation | Dynamic control of scaling in computing devices |
US8413143B2 (en) * | 2010-04-12 | 2013-04-02 | International Business Machines Corporation | Dynamic network adapter queue pair allocation |
CN102859491A (zh) * | 2010-04-23 | 2013-01-02 | 国际商业机器公司 | 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 |
CN102546386A (zh) * | 2011-10-21 | 2012-07-04 | 北京安天电子设备有限公司 | 自适应多网卡捕包方法及装置 |
CN102609298A (zh) * | 2012-01-11 | 2012-07-25 | 中国科学技术大学苏州研究院 | 基于硬件队列扩展的网卡虚拟化系统及其方法 |
CN102790777A (zh) * | 2012-08-07 | 2012-11-21 | 华为技术有限公司 | 网络接口适配器注册方法及驱动设备、服务器 |
US9736211B2 (en) * | 2012-08-27 | 2017-08-15 | Vmware, Inc. | Method and system for enabling multi-core processing of VXLAN traffic |
CN102916905A (zh) * | 2012-10-18 | 2013-02-06 | 曙光信息产业(北京)有限公司 | 一种基于hash算法的万兆网卡多路分流方法及其系统 |
US20150100770A1 (en) * | 2013-10-09 | 2015-04-09 | International Business Machines Corporation | Dynamic reconfiguration of queue pairs |
CN104639578A (zh) * | 2013-11-08 | 2015-05-20 | 华为技术有限公司 | 多协议栈负载均衡方法及装置 |
CN104750543A (zh) * | 2013-12-26 | 2015-07-01 | 杭州华为数字技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
CN104158764A (zh) * | 2014-08-12 | 2014-11-19 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN104281493A (zh) * | 2014-09-28 | 2015-01-14 | 般固(北京)科技股份有限公司 | 一种提升应用交付通讯平台多进程程序性能的方法 |
CN105518620A (zh) * | 2014-10-31 | 2016-04-20 | 华为技术有限公司 | 一种网卡配置方法及资源管理中心 |
Non-Patent Citations (2)
Title |
---|
别体伟: "用户空间协议栈的并行化与性能优化", 《电子技术设计与应用》 * |
方浪: "一种网络加速引擎模型的设计与实现", 《计算机安全》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769084A (zh) * | 2018-08-28 | 2018-11-06 | 山东超越数控电子股份有限公司 | 一种处理器与防火墙 |
CN108769084B (zh) * | 2018-08-28 | 2020-12-15 | 山东超越数控电子股份有限公司 | 一种处理器与防火墙 |
CN109284192A (zh) * | 2018-09-29 | 2019-01-29 | 网宿科技股份有限公司 | 参数配置方法及电子设备 |
CN109729021A (zh) * | 2018-12-27 | 2019-05-07 | 北京天融信网络安全技术有限公司 | 一种报文处理方法及电子设备 |
CN109729024A (zh) * | 2018-12-29 | 2019-05-07 | 中盈优创资讯科技有限公司 | 数据包处理系统及方法 |
WO2021063154A1 (zh) * | 2019-09-30 | 2021-04-08 | 华为技术有限公司 | 一种队列通信的方法、系统及相关设备 |
CN111190745A (zh) * | 2019-11-05 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111190745B (zh) * | 2019-11-05 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111030844A (zh) * | 2019-11-14 | 2020-04-17 | 中盈优创资讯科技有限公司 | 流量处理框架建立方法及装置 |
CN111030844B (zh) * | 2019-11-14 | 2023-03-14 | 中盈优创资讯科技有限公司 | 流量处理框架建立方法及装置 |
CN112019398A (zh) * | 2020-07-16 | 2020-12-01 | 中国人民财产保险股份有限公司 | 网络流量的预测方法和装置 |
CN112769639A (zh) * | 2020-12-22 | 2021-05-07 | 杭州迪普科技股份有限公司 | 一种并行下发配置信息的方法及装置 |
CN113726737A (zh) * | 2021-07-26 | 2021-11-30 | 绿盟科技集团股份有限公司 | 一种通信方法、设备及介质 |
CN114006873A (zh) * | 2021-10-29 | 2022-02-01 | 深圳市风云实业有限公司 | 一种基于多核处理器的流量调度方法 |
CN114006873B (zh) * | 2021-10-29 | 2023-12-15 | 深圳市风云实业有限公司 | 一种基于多核处理器的流量调度方法 |
CN115941465A (zh) * | 2022-12-02 | 2023-04-07 | 京东科技信息技术有限公司 | 网卡配置方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789152A (zh) | 基于多队列网卡的处理器扩展方法及装置 | |
US10581729B2 (en) | Network interface card, computing device, and data packet processing method | |
US10452422B2 (en) | Method and apparatus for deploying virtual machine instance, and device | |
EP3079313B1 (en) | Data splitting method and splitter | |
US20160301603A1 (en) | Integrated routing method based on software-defined network and system thereof | |
US10263809B2 (en) | Selecting an optimal network device for reporting flow table misses upon expiry of a flow in a software defined network | |
EP3528439A1 (en) | Service routing method and system | |
JP6417942B2 (ja) | 制御装置、通信システム、トンネルエンドポイントの制御方法及びプログラム | |
CN110896404A (zh) | 数据处理的方法、装置和计算节点 | |
US11936562B2 (en) | Virtual machine packet processing offload | |
EP3099032A1 (en) | A load balancing method, device, system and computer storage medium | |
US9077552B2 (en) | Method and system for NIC-centric hyper-channel distributed network management | |
WO2017166136A1 (zh) | 一种vnf的资源分配方法及装置 | |
CN106385354B (zh) | 报文转发方法及装置 | |
WO2015149343A1 (zh) | 网络中的报文处理方法、转发设备和报文处理系统 | |
CN104394083A (zh) | 转发表项处理的方法、报文转发的方法及其装置和系统 | |
WO2016177191A1 (zh) | 一种报文的处理方法及装置 | |
WO2011142227A1 (ja) | コンピュータ・システム、方法及びプログラム | |
CN110768911B (zh) | 流量高效引流方法、装置、设备、系统及存储介质 | |
US10498637B2 (en) | Switch processing method, controller, switch, and switch processing system | |
CN110737530B (zh) | 一种提升handle标识解析系统收包能力的方法 | |
CN110086676B (zh) | 一种分布式路由器的配置方法及相关设备 | |
CN114490458B (zh) | 数据传输方法、芯片、服务器以及存储介质 | |
CN106803804B (zh) | 传输报文的方法和装置 | |
US20150256469A1 (en) | Determination method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |