CN112363833B - 一种网络数据包的内存分配方法、装置及相关设备 - Google Patents
一种网络数据包的内存分配方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112363833B CN112363833B CN202011249241.1A CN202011249241A CN112363833B CN 112363833 B CN112363833 B CN 112363833B CN 202011249241 A CN202011249241 A CN 202011249241A CN 112363833 B CN112363833 B CN 112363833B
- Authority
- CN
- China
- Prior art keywords
- die
- data packet
- network data
- mapping table
- hash
- 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.)
- Active
Links
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种网络数据包的内存分配方法、装置及相关设备,其中方法包括:网卡获取网络数据包,确定所述网络数据包的hash值;根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识,其中,所述hash映射表记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识;若查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。本申请实施例可合理的为网络数据包分配内存,提升网络数据包的访问速率,提升网络数据包的处理速率。
Description
技术领域
本申请实施例涉及内存分配技术领域,具体涉及一种网络数据包的内存分配方法、装置及相关设备。
背景技术
在多Die(裸片)的计算机体系架构中,每个Die配置有多个CPU(中央处理器)且每个Die均具有独立对应的内存,不同Die之间通过互联方式进行连接和信息交互;每个Die中的CPU可以访问本Die对应的内存,称为本地内存访问,也可以访问其他Die对应的内存,称为远端内存访问;由于CPU进行远端内存访问需要通过互联方式跨Die实现,因此CPU进行本地内存访问的速率高于进行远端内存访问的速率。
网络数据包作为网卡通过网络获取的数据包,网卡需要将网络数据包存储到内存中,以便网络数据包的后续处理;而在多Die的计算机体系架构中,每个Die均具有独立对应的内存,因此如何合理的为网络数据包分配内存,以提升后续网络数据包的处理速率,成为了本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本申请实施例提供一种网络数据包的内存分配方法、装置及相关设备,达到合理的为网络数据包分配内存,以提升后续网络数据包的处理速率的目的。
为实现上述目的,本申请实施例提供如下技术方案:
一种网络数据包的内存分配方法,应用于网卡,所述方法包括:
获取网络数据包,确定所述网络数据包的哈希hash值;
根据hash映射表,查询所述hash值在hash映射表中是否对应有裸片Die标识,其中,所述hash映射表记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识;
若查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。
本申请实施例还提供一种网络数据包的内存分配方法,应用于网卡,所述方法包括:
获取网络数据包,确定所述网络数据包的哈希hash值;
根据hash映射表,查询所述hash值在hash映射表中是否对应有裸片Die标识,其中,所述hash映射表记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识;
若查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。
本申请实施例还提供一种网卡,所述网卡被配置为执行如上述所述的网络数据包的内存分配方法。
本申请实施例还提供一种芯片,所述芯片包括多个裸片Die,各个Die包括多个中央处理器CPU,且所述多个Die运行有操作系统,所述操作系统被配置为执行如上述所述的网络数据包的内存分配方法。
本申请实施例还提供一种电子设备,包括如上述所述的网卡,以及如上述所述的芯片,其中,所述网卡连接于所述芯片的多个Die中的一个Die上。
本申请实施例提供的网络数据包的内存分配方法中,网卡可基于网卡和操作系统共享的hash映射表,选择网络数据包存储的内存;具体在网卡获取网络数据包后,网卡可确定所述网络数据包的hash值,从而根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识;由于hash映射表可记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识,因此网卡在查询所述hash值在hash映射表中对应有第一Die标识的情况下,可将所述网络数据包存储到所述第一Die标识的Die对应的内存中,由于处理网络数据包的应用程序极可能运行在历史运行的Die上,因此本申请实施例基于hash映射表中记录的hash值与Die标识的对应关系,选择网络数据包存储的内存,可尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,从而执行应用程序的CPU可尽可能以本地内存访问的方式,来访问网络数据包,达到提升网络数据包的访问速率,提升网络数据包的处理速率的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为NUMA的架构示例图;
图2为目前为网络数据包分配内存的示例架构图;
图3为本申请实施例提供的多Die的计算机体系架构的示例图;
图4为本申请实施例提供的网络数据包的内存分配方法的流程图;
图5为本申请实施例提供的网络数据包的内存分配方法的另一流程图;
图6为本申请实施例提供的网络数据包的内存分配方法的再一流程图;
图7为本申请实施例提供的网络数据包的内存分配方法的又一流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
NUMA(Non-Uniform Memory Access,非一致性内存访问)作为典型的多Die的计算机体系架构,为便于理解多Die的计算机体系架构,下面以NUMA架构为例,对多Die的计算机体系架构进行说明;以NUMA架构配置4个Die为例,图1示例了NUMA的架构示例,如图1所示:
Die1,Die2,Die3和Die4为NUMA架构中配置的4个Die;每个Die包括多个CPU(Central Processing Unit,中央处理器),且每个Die均具有独立的内存控制器、内存插槽、I/O槽口,用于连接对应的内存;具体的,Die1连接对应的内存1,Die2连接对应的内存2,Die3连接对应的内存3,Die4连接对应的内存4;
每个Die中的CPU可以访问本Die对应的内存,称为本地内存访问,例如,Die1中的CPU可以访问Die1对应的内存1,称为Die1中CPU的本地内存访问,Die2中的CPU可以访问Die2对应的内存2,称为Die2中CPU的本地内存访问,以此类推;每个Die中的CPU也可以通过互联方式访问其他Die对应的内存,称为远端内存访问,例如,Die1中的CPU可以通过互联方式访问Die2、Die3、Die4分别对应的内存,称为Die1中CPU的远端内存访问,Die2中的CPU可以通过互联方式访问Die1、Die3、Die4分别对应的内存,称为Die2中CPU的远端内存访问,以此类推;
CPU进行本地内存访问和进行远端内存访问的速率是不同,具体的,由于CPU进行远端内存访问需要以互联访问跨Die实现,因此CPU进行本地内存访问的速率高于CPU进行远端内存访问的速率。
多Die的计算机体系架构可以通过配置网卡来获取网络数据包,并将网络数据包存储到内存中,以便应用程序处理网络数据包;目前在多Die的计算机体系架构中,一块网卡连接到多Die中的某一Die上,并且网卡接收到网络数据包后,默认将网络数据包存储到网卡所连接Die对应的内存中,示例的,图2示出了目前为网络数据包分配内存的示例架构,结合图1和图2所示:
网卡连接到多Die中的某一Die上,以网卡连接到Die4为例,操作系统对网卡进行初始化时,可在Die4对应的内存4中为网卡分配内存空间,用于存储网卡获取到的网络数据包;从而,当网卡获取到网络数据包后,网卡默认将网络数据包存储到内存4的内存空间中,例如,网卡可通过DMA(Direct Memory Access,直接存储器访问)方式将获取到的网络数据包存储到内存4的内存空间中,然后,网卡可通知操作系统,由操作系统控制应用程序对内存4中的网络数据包进行处理;
可以看出,目前为网络数据包分配内存的方式中,网卡是将网络数据包存储到网卡所连接的Die对应的内存中,然而,后续处理网络数据包的应用程序与存储网络数据包的内存可能并不对应同一Die(应用程序对应的Die可以理解为是,执行应用程序的CPU位于的Die),而在多Die的计算机体系架构中,CPU进行本地内存访问和远端内存访问的速率不同,如果处理网络数据包的应用程序与存储网络数据包的内存并不对应同一Die,则执行应用程序的CPU需要通过远端内存访问的方式,来访问存储网络数据包的内存,这导致执行应用程序的CPU访问网络数据包的速率较慢,极大降低了网络数据包的处理速率;
例如,在图2示例中,网卡将网络数据包存储到Die4对应的内存4,后续处理网络数据包的应用程序可能并不对应Die4(即执行应用程序的CPU可能并不位于Die4),则执行应用程序的CPU需要通过远端内存访问的方式,访问内存4中存储的网络数据包,导致执行应用程序的CPU访问网络数据包的速率较慢,降低了网络数据包的处理速率,特别是在高网络流量的情况下,应用程序的网络请求处理能力会严重受到内存访问速度的限制,从而影响整体的网络吞吐量。
在另一种方式中,也可以将处理网络数据包的应用程序绑定在,存储网络数据包的内存对应的Die上,以使得访问网络数据包具有较快的速度;例如,图2示例中,网卡将网络数据包存储到Die4对应的内存4,则可将处理网络数据包的应用程序绑定在Die4上,从而使得处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,但是这种方式将导致存储网络数据包的内存对应的Die上的CPU负载较高,而其他Die上的CPU出现资源闲置的情况。
为解决上述问题,本申请实施例提供改进的网络数据包的内存分配方案,从而合理的为网络数据包分配内存,以提升后续网络数据包的处理速率。
在本申请实施例中,网卡连接到多Die中的某一Die上后,操作系统可对网卡进行初始化,以在每个Die对应的内存中分别为网卡分配内存空间,从而每个Die对应的内存均具有存储网络数据包的能力;示例的,如图3所示,网卡连接到多Die中的Die4,区别于现有技术仅在Die4对应的内存4中为网卡分配内存空间,在本申请实施例中,操作系统对网卡进行初始化时,可在每个Die对应的内存中分别为网卡分配内存空间,具体如图3示例,操作系统可在Die1对应的内存1中为网卡分配内存空间,在Die2对应的内存2中为网卡分配内存空间,在Die3对应的内存3中为网卡分配内存空间,在Die4对应的内存4中为网卡分配内存空间,并且网卡均能够通过DMA方式访问内存1、内存2、内存3和内存4;
网卡初始化后,若网卡获取到网络数据包,本申请实施例并不是直接将网络数据包存储到网卡连接Die对应的内存,而是基于操作系统和网卡共享的hash(哈希)映射表,选择存储网络数据包的内存;
具体的,在本申请实施例中,操作系统和网卡共享hash映射表,并由操作系统更新hash映射表;在hash映射表的初始情况下,hash映射表记录的内容为空,而在网卡获取网络数据包并由操作系统确定处理网络数据包的应用程序对应的Die后,操作系统可基于网络数据包的hash值与应用程序对应的Die的Die标识,生成条目记录到hash映射表中,从而使得hash映射表可记录网络数据包的hash值与处理网络数据包的应用程序对应的Die的Die标识;需要说明的是,应用程序对应的Die的Die标识可以理解为是,执行应用程序的CPU位于的Die的标识,Die的标识可以用于唯一标识Die,Die标识例如Die ID(Identitydocument,身份标识号)等;
在一种示例中,下表1示例了hash映射表的示例结构,可进行参照。
hash值 | Die标识 |
hash 0 | Die 0 |
hash 1 | Die 1 |
… | … |
hash n | Die n |
表1
从表1可以看出,hash映射表记录了hash值对应的Die标识,即在hash映射表的初始情况下,hash映射表中的内容为空,而随着网卡不断获取各网络数据包且操作系统不断确定处理各网络数据包的应用程序对应的Die后,操作系统可不断基于各网络数据包的hash值和处理各网络数据包的应用程序对应的Die的Die标识,生成不同的条目记录到hash映射表中,使得hash映射表记录hash值对应的Die标识,例如表1示例中,hash0对应Die 0,hash1对应Die1等。
基于上述描述,本申请实施例可基于操作系统和网卡共享的hash映射表,来选择存储网络数据包的内存,并尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,使得执行应用程序的CPU尽可能以本地内存访问的方式来访问网络数据包,提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能。
在上述思路下,可以理解的是,hash映射表的初始情况或者网卡首次获取某一hash值的网络数据包的情况下,hash映射表未记录网络数据包的hash值对应的Die标识,而在网卡历史曾经获取过某一hash值的网络数据包的情况下,hash映射表可记录网络数据包的hash值对应的Die标识,因此针对上述不同情况,本申请实施例提供的网络数据包的内存分配方法需要进行不同的处理,下面将分别进行说明。
在hash映射表的初始情况或者网卡首次获取某一hash值的网络数据包的情况,hash映射表未记录网络数据包的hash值对应的Die标识,针对此情况,在可选实现中,图4示出了本申请实施例提供的网络数据包的内存分配方法的可选流程,该流程可由网卡和操作系统交互实现,其中,网卡连接到多Die中的某一Die上,操作系统一般是多线程,可以运行在多Die上,例如操作系统可在多Die的任何一个Die上切换运行;如图4所示,该流程可以包括:
步骤S100、网卡获取网络数据包,确定所述网络数据包的hash值。
当网卡获取网络数据包后,网卡可确定网络数据包的hash值;在可选实现中,网卡可提取网络数据包的特征信息,从而基于网络数据包的特征信息,计算网络数据包的hash值;在更为具体的可选实现中,网络数据包的特征信息例如网络数据包的源地址、目的地址、源端口号、目的端口号等特征信息,从而针对网卡获取的任一帧网络数据包,网卡可提取网络数据包的源地址、目的地址、源端口号、目的端口号等特征信息,基于这些特征信息计算网络数据包的hash值。
可以理解的是,hash算法是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是hash值,因此基于网络数据包的特征信息计算hash值的具体过程,可以参照hash算法的可能实现,此处不再展开说明。
步骤S110、网卡根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识。
步骤S120、若网卡查询所述hash值在hash映射表中未对应有Die标识,将所述网络数据包存储到设定的默认Die对应的内存中。
基于步骤S100确定的网络数据包的hash值,在步骤S110中,网卡可根据hash映射表,查询所述hash值是否在hash映射表中对应有Die标识,为便于说明,本申请实施例后续将hash映射表中查询到的所述hash值对应的Die标识称为第一Die标识。
可以理解的是,在hash映射表的初始情况下或者网卡首次获取到所述hash值的网络数据包时,网卡在所述hash映射表中查询不到所述hash值对应的Die标识,即所述网络数据包的hash值在hash映射表中未对应有Die标识;针对此情况,网卡可将所述网络数据包存储到设定的默认Die对应的内存中,在可选的具体实现中,设定的默认Die对应的内存可以是网卡连接Die对应的内存,也可以是其他任意Die对应的内存,本申请实施例可预先设定默认Die对应的内存。
步骤S130、网卡通知操作系统所述设定的默认Die对应的内存中存储有所述网络数据包。
在网卡将网络数据包存储到设定的默认Die对应的内存中后,网卡可进一步通知操作系统所述默认Die对应的内存中存储有所述网络数据包,以使得操作系统对所述网络数据包进行后续处理。可选的,网卡对操作系统的通知可以是一个中断通知,即网卡可产生一个中断通知,来通知操作系统所述默认Die对应的内存中存储有所述网络数据包,以使操作系统对所述网络数据包进行后续处理。
作为步骤S130的替代实现,网卡也可不通知操作系统,而是由操作系统定时轮询各个Die对应的内存,从而查询哪个Die对应的内存中存储有新的网络数据包,进而在查询到设定的默认Die对应的内存时,操作系统可确定设定的默认Die对应的内存中存储有所述网络数据包,以对所述网络数据包进行后续处理。
步骤S140、操作系统确定所述网络数据包的hash值。
步骤S150、操作系统确定处理所述网络数据包的应用程序对应的Die的第二Die标识。
可选的,操作系统接收到网卡的通知,或者操作系统轮询到所述设定的默认Die对应的内存中存储有所述网络数据包后,操作系统可确定所述网络数据包的hash值,然后控制应用程序处理所述网络数据包,并确定所述应用程序对应的Die的Die标识;所述应用程序对应的Die的Die标识可以理解为是,执行所述应用程序的CPU位于的Die的Die标识,为便于说明,本申请实施例后续将所述应用程序对应的Die的Die标识称为第二Die标识。
在可选实现中,操作系统可控制存储所述网络数据包的内存对应的Die上的CPU,提取所述网络数据包的特征信息,并控制该CPU基于提取的特征信息,计算所述网络数据包的hash值;在本申请实施例中,由于网卡是将网络数据包存储到设定的默认Die对应的内存中,因此操作系统可控制所述默认Die上的CPU提取所述网络数据包的特征信息,并控制该CPU基于特征信息,计算所述网络数据包的hash值;
可以理解的是,步骤S140所确定的网络数据包的hash值,与步骤S100所确定的网络数据包的hash值是相同的,区别在于:步骤S100是由网卡在获取到所述网络数据包后,由网卡确定所述网络数据包的hash值,而步骤S140是由操作系统控制存储所述网络数据包的内存对应的Die上的CPU,确定所述网络数据包的hash值。
需要说明的是,处理所述网络数据包的应用程序可根据网络数据包的类型、属性、网络数据包归属的应用程序而定,例如,网络数据包为程序安装数据包,则可由安装应用程序处理该网络数据包,又如,网络数据包为视频图像数据包,则可由视频应用程序处理该网络数据包,对此,本申请实施例并不限制;在多Die的计算机体系架构下,应用程序可优先运行在历史运行过的Die上,如果应用程序历史运行过的Die上的CPU负载较高,则可基于各Die的CPU负载情况,将应用程序调度到CPU负载较低的Die上。
步骤S160、操作系统根据hash映射表,查询所述hash值在hash映射表是否对应有Die标识。
步骤S170、若操作系统查询所述hash值在hash映射表中未对应有Die标识,生成记录所述hash值和所述第二Die标识的条目,将所述条目记录到hash映射表。
操作系统确定所述网络数据包的hash值和所述应用程序对应的Die的第二Die标识后,可根据hash映射表,查询所述hash值是否在hash映射表中记录有Die标识,由于在hash映射表的初始情况下或者网卡首次获取到所述hash值的网络数据包的情况下,操作系统在所述hash映射表中查询不到所述hash值对应的Die标识,即所述hash值在hash映射表中未对应有Die标识,此时,操作系统可对hash映射表进行更新,以使得hash映射表记录所述hash值和所述第二Die标识的对应关系;基于此,在步骤S170中,操作系统可基于所述hash值和所述第二Die标识,生成一条条目,该条目可用于记录所述hash值和所述第二Die标识,从而将该条目记录到hash映射表,可使得hash映射表记录所述hash值和所述第二Die标识的对应关系。
可选的,操作系统将所述条目记录到所述hash映射表,实现对hash映射表进行更新后,操作系统可向网卡传递hash映射表的更新同步通知,以使得网卡同步所更新的hash映射表;即操作系统在查询所述hash值在hash映射表中未对应有Die标识后,网卡可获取操作系统传递的hash映射表的更新同步通知,所述更新同步通知用于同步所述hash映射表记录的新的条目,所述条目用于记录所述hash值和处理所述网络数据包的应用程序对应的Die的第二Die标识。
通过上述处理,在hash映射表未记录网络数据包的hash值和处理网络数据包的应用程序对应的Die的Die标识的情况下,操作系统可通过确定网络数据包的hash值,并在确定处理网络数据包的应用程序对应的Die的Die标识后,基于网络数据包的hash值和所述应用程序对应的Die的Die标识,生成更新hash映射表的条目,通过将该条目记录到hash映射表,可使得hash映射表记录所述hash值和所述应用程序对应的Die的Die标识的对应关系;从而,后续网卡获取到所述hash值的网络数据包后,可基于hash映射表的记录,将所述网络数据包存储到处理所述网络数据包的应用程序对应的Die的内存中,以尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,从而执行应用程序的CPU可尽可能以本地内存访问的方式,来访问网络数据包,提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能。
在一种示例中,以网卡获取的网络数据包的hash值为hash 2,处理网络数据包的应用程序对应的Die的Die标识为Die 2为例,图4流程的示例过程可以如下所示:
网卡在获取网络数据包并确定网络数据包的hash值为hash2后,由于hash映射表的初始情况下或者网卡首次获取hash 2的网络数据包的情况下,hash映射表未记录hash 2对应的Die标识,因此网卡在hash映射表未查询到hash 2对应的Die标识;此时,网卡可将网络数据包存储到设定的默认Die对应的内存中,假设设定的默认Die为网卡连接Die且网卡连接Die4,则网卡可将网络数据包存储到Die4对应的内存4并通知操作系统;
操作系统在获取网卡的通知后,可控制Die4上的CPU确定网络数据包的hash值(即hash2),并控制应用程序处理所述网络数据包;假设应用程序当前运行在Die2的CPU上,则操作系统可记录应用程序对应的Die的Die标识为Die2;
然后,操作系统可使用hash2查询hash映射表,由于hash映射表未记录hash2对应的Die标识,因此操作系统可基于hash2和Die2生成一条条目,并将该条目记录到hash映射表,从而hash映射表可记录hash2与Die2的对应关系;
通过上述处理,网卡后续获取hash2的网络数据包后,可基于hash映射表查询到hash2对应的Die标识为Die2,从而网卡可将网络数据包存储到Die2对应的内存2,由于处理网络数据包的应用程序极可能在后续还是运行在Die2,因此执行所述应用程序的CPU可直接通过本地内存访问的方式,访问Die2对应的内存2中的网络数据包,从而提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能。
在网卡历史曾经获取过某一hash值的网络数据包的情况下,hash映射表记录有该网络数据包的hash值对应的Die标识,针对此情况下,在可选实现中,图5示出了本申请实施例提供的网络数据包的内存分配方法的另一可选流程,该流程可由网卡和操作系统交互实现;如图5所示,该流程可以包括:
步骤S200、网卡获取网络数据包,确定所述网络数据包的hash值。
可选的,步骤S200的介绍可参照步骤S100,此处不再赘述。
步骤S210、网卡根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识。
步骤S220、若网卡查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。
基于步骤S200确定的网络数据包的hash值,在步骤S210中,网卡可根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识;可以理解的是,由于网卡历史曾经获取过所述hash值的网络数据包,hash映射表已记录有所述hash值对应的Die标识,为便于说明,本申请实施例可将hash映射表中查询到的所述hash值对应的Die标识称为第一Die标识;也就是说,历史处理所述网络数据包的应用程序所在的CPU,运行在所述第一Die标识的Die上;
网卡在hash映射表中查询到所述hash值对应的第一Die标识后,可将所述网络数据包存储到第一Die标识的Die对应的内存中,以尽可能保障后续处理所述网络数据包的应用程序对应的Die,与存储网络数据包的内存对应的Die为同一Die。可以理解的是,历史处理所述网络数据包的应用程序所在的CPU,运行在所述第一Die标识的Die上,则后续处理所述网络数据包的应用程序所在CPU也极可能运行在第一Die标识的Die上。
步骤S230、网卡通知操作系统所述第一Die标识的Die对应的内存中,存储有所述网络数据包。
在网卡将网络数据包存储到第一Die标识的Die对应的内存中后,网卡可进一步通知操作系统,以使得操作系统对所述网络数据包进行后续处理。可选的,网卡对操作系统的通知可以是一个中断通知。
作为步骤S230的替代实现,网卡也可不通知操作系统,而是由操作系统定时轮询各个Die对应的内存,从而查询哪个Die对应的内存中存储有新的网络数据包,进而在查询到第一Die标识的Die对应的内存时,操作系统可确定第一Die标识的Die对应的内存中存储有所述网络数据包,以对所述网络数据包进行后续处理。
步骤S240、操作系统确定所述网络数据包的hash值。
步骤S250、操作系统确定处理所述网络数据包的应用程序对应的Die的第二Die标识。
可选的,步骤S240和步骤S250的介绍可参照前文步骤S140和步骤S150部分,此处不再赘述。
步骤S260、操作系统根据hash映射表,查询所述hash值在hash映射表是否对应有Die标识。
步骤S270、若操作系统查询所述hash值在hash映射表中对应有第一Die标识,判断所述第一Die标识与所述第二Die标识是否相同,若是,执行步骤S280,若否,执行步骤S290。
操作系统确定网络数据包的hash值和所述应用程序对应的第二Die标识后,第二Die标识的Die上运行的应用程序可处理所述网络数据包,在本申请实施例中,网络数据包的hash值已在hash映射表中对应有第一Die标识,而由于第一Die标识的Die上的CPU负载较高等原因,处理网络数据包的应用程序当前对应的第二Die标识可能与第一Die标识不同,即处理网络数据包的应用程序可能由在第一Die标识的Die上运行,转变为在其他Die上运行;因此为使得网卡下次获取到所述hash值的网络数据包后,处理所述网络数据包的应用程序对应的Die与存储所述网络数据包的内存对应的Die相同,操作系统需进一步查询所述hash值在hash映射表中对应的第一Die标识,并判断第一Die标识与处理所述网络数据包的应用程序当前对应的Die的第二Die标识是否相同。
步骤S280、操作系统维持所述hash映射表不变。
所述网络数据包的hash值在hash映射表对应的第一Die标识,与所述应用程序对应的Die的第二Die标识相同,说明处理所述网络数据包的应用程序运行的Die未改变,hash映射表记录的所述hash值对应的第一Die标识,仍是处理所述网络数据包的应用程序当前运行的Die对应的Die标识,可维持所述hash映射表不变。
步骤S290、操作系统更新所述hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识。
所述网络数据包的hash值在hash映射表对应的第一Die标识,与所述应用程序对应的Die的第二Die标识不同,说明处理所述网络数据包的应用程序当前运行的Die发生改变,即处理网络数据包的应用程序当前运行的Die不是所述第一Die标识的Die,这种情况可能是由于述第一Die标识的Die上的CPU负载较高,操作系统调度所述应用程序在其他Die上运行导致;从而,操作系统可将hash映射表中记录的所述hash值对应的Die标识修改为,所述应用程序对应的Die的第二Die标识,以对所述hash映射表进行更新,使得hash映射表中记录的所述hash值对应的Die标识,保持为处理所述hash值的网络数据包的应用程序对应的Die的Die标识。
可选的,基于步骤S290,操作系统更新所述hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识后,可向网卡传递hash映射表的更新同步通知,以使得网卡同步所更新的hash映射表;即若操作系统确定处理所述网络数据包的应用程序当前对应的Die的第二Die标识,不同于所述第一Die标识,则网卡可获取操作系统传递的hash映射表的更新同步通知,所述更新同步通知用于同步所述hash映射表中记录的所述hash值对应的Die标识修改为所述第二Die标识。
通过上述处理,在hash映射表记录网络数据包的hash值和处理网络数据包的应用程序对应的Die的Die标识的情况下,网卡在获取所述网络数据包后,可将所述网络数据包存储到所述hash值对应的Die标识的Die连接的内存中,以尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能;
进一步,为避免处理所述网络数据包的应用程序对应的Die由于调度发生改变,操作系统确定所述网络数据包的hash值,并在确定处理网络数据包的应用程序当前对应的Die的Die标识后,可判断所述应用程序当前对应的Die的Die标识,与hash映射表中记录的所述hash值对应的Die标识是否相同;若是,则说明处理网络数据包的应用程序当前对应的Die未发生改变,操作系统可维持所述hash映射表;若否,则说明处理网络数据包的应用程序当前对应的Die发生改变,操作系统可将hash映射表中记录的所述hash值对应的Die标识,修改为所述应用程序当前对应的Die的Die标识;
从而,后续网卡获取到所述hash值的网络数据包后,可基于hash映射表的记录,将所述网络数据包存储到处理所述网络数据包的应用程序对应的Die的内存中,尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,从而执行应用程序的CPU可尽可能以本地内存访问的方式,来访问网络数据包,提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能。
在一种示例中,以网卡获取的网络数据包的hash值为hash 2,hash映射表中记录的hash2对应的Die标识为Die 2为例,图5流程的示例过程可以如下所示:
网卡在获取网络数据包并确定网络数据包的hash值为hash2后,由于网卡历史曾经获取过hash2的网络数据包,hash映射表已记录hash 2对应的Die2,因此网卡在hash映射表中可查询到hash 2对应的Die2;此时,网卡可将网络数据包存储到Die2对应的内存2中并通知操作系统;
操作系统在获取网卡的通知后,可控制Die2上的CPU确定网络数据包的hash值(即hash2),并控制应用程序处理所述网络数据包;然后,操作系统可使用hash2查询hash映射表,确定hash映射表中记录的hash2对应的Die2,由于应用程序优先运行在历史运行过的Die上,并在应用程序历史运行过的Die上的CPU负载较高等原因时,改变应用程序当前运行的Die,因此可能出现应用程序当前运行的Die为Die2或者不为Die2的情况,下面将分别说明;
假设处理网络数据包的应用程序当前仍运行在Die2,则操作系统可确定hash映射表中记录的hash2对应的Die2,与应用程序当前运行的Die的Die标识(Die2)相同,维持hash映射表不变;
假设由于Die2上的CPU负载较高等原因,操作系统调度所述应用程序运行在Die3上,则操作系统可确定hash映射表中记录的hash2对应的Die2,与应用程序当前运行的Die的Die标识(Die3)不同,操作系统可将hash映射表中记录的hash2对应的Die标识修改为Die3,从而网卡在下一次获取到hash2的网络数据包后,可基于hash映射表中的记录,将所述网络数据包存储到Die3连接的内存中,尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,从而执行应用程序的CPU可尽可能以本地内存访问的方式,来访问网络数据包,提升网络数据包的访问速率,为提升网络数据包的处理速率提供可能。
基于上文描述的技术方案,下面站在网卡的角度,对本申请实施例提供的网络数据包的内存分配方法进行介绍。在可选实现中,图6示出了本申请实施例提供的网络数据包的内存分配方法的再一可选流程,该流程可由网卡执行实现,如图6所示,该流程可以包括:
步骤S300、获取网络数据包,确定所述网络数据包的hash值。
步骤S310、根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识,若是,执行步骤S320,若否,执行步骤S330。
可以理解的是,所述hash映射表记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识。而在hash映射表的初始情况或者网卡首次获取所述hash值的网络数据包的情况下,hash映射表未记录所述hash值对应的Die标识,步骤S310的判断结果为否;而在网卡历史曾经获取过所述hash值的网络数据包的情况下,hash映射表记录有所述hash值对应的Die标识,步骤S320的判断结果为是。
步骤S320、若查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。
网卡在查询到所述hash值在hash映射表中对应有第一Die标识的情况下,网卡可将所述网络数据包存储到所述第一Die标识的Die对应的内存中,可尽可能保障后续处理所述网络数据包的应用程序对应的Die,与存储所述网络数据包的内存对应的Die为同一Die,可提升网络数据包的访问速率,提升后续处理所述网络数据包的速率。
可选的,进一步,由于第一Die标识对应的Die上的CPU负载较高等原因,操作系统后续可能将处理所述网络数据包的应用程序调度到其他Die上,即处理所述网络数据包的应用程序当前对应的Die的第二Die标识,将不同于所述第一Die标识,此时,操作系统可基于所述应用程序当前对应的Die的第二Die标识,修改hash映射表中记录的所述hash值对应的Die标识,以对hash映射表进行更新;在操作系统更新hash映射表后,网卡可获取到操作系统传递的hash映射表的更新同步通知,即该更新同步通知用于同步所述hash映射表中记录的所述hash值对应的Die标识修改为所述第二Die标识。
步骤S330、将所述网络数据包存储到设定的默认Die对应的内存中。
在hash映射表未记录有所述hash值对应的Die标识的情况下,网卡将所述网络数据包存储到设定的默认Die对应的内存中。
进一步,操作系统后续控制应用程序处理所述网络数据包,并确定所述应用程序对应的Die的第二Die标识后,可基于所述第二Die标识和所述hash值,在hash映射表中增加新的条目,以更新所述hash映射表;操作系统更新hash映射表后,可向网卡传递hash映射表的更新同步通知,即该更新同步通知用于同步所述hash映射表记录的新的条目,所述条目用于记录所述hash值和处理所述网络数据包的应用程序对应的Die的第二Die标识。
下面站在操作系统的角度,对本申请实施例提供的网络数据包的内存分配方法进行介绍。在可选实现中,图7示出了本申请实施例提供的网络数据包的内存分配方法的又一可选流程,该流程可由操作系统执行实现,操作系统一般是多线程,可运行在多Die的任何Die上,如图7所示,该流程可以包括:
步骤S400、在确定网卡将网络数据包存储到内存后,确定所述网络数据包的hash值。
可选的,在网卡将网络数据包存储到内存后,操作系统可获取到网卡的通知,从而操作系统可确定网卡将网络数据包存储到内存中;进而,操作系统可确定所述网络数据包的hash值。
步骤S410、确定处理所述网络数据包的应用程序对应的Die的第二Die标识。
步骤S420、根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识,若是,执行步骤S430,若否,执行步骤S460。
步骤S430、判断所述第一Die标识与所述第二Die标识是否相同,若是,执行步骤S440,若否,执行步骤S450。
操作系统查询所述网络数据包的hash值在hash映射表中对应有Die标识后,可称所述hash值在hash映射表中对应的Die标识为第一Die标识,从而操作系统可判断hash映射表中记录的所述hash值对应的第一Die标识,是否与处理所述网络数据包的应用程序当前对应的Die的第二Die标识相同。
步骤S440、维持所述hash映射表不变。
在步骤S430判断所述第一Die标识与所述第二Die标识相同时,说明处理所述网络数据包的应用程序对应的Die未发生改变,则在步骤S440中,操作系统可维持所述hash映射表不变。
步骤S450、更新所述hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识。
在步骤S430判断所述第一Die标识与所述第二Die标识不同时,说明处理所述网络数据包的应用程序对应的Die发生改变,为使得hash映射表中记录的所述hash值对应的Die标识保持与所述应用程序对应的Die的Die标识一致,在步骤S450中,操作系统可修改hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识。
进一步,操作系统通过步骤S450对hash映射表进行更新后,操作系统可向网卡传递更新同步通知,以使网卡同步所述hash映射表中记录的所述hash值对应的Die标识修改为所述第二Die标识。
可见,操作系统在查询所述hash值在hash映射表中对应有Die标识时,操作系统可进一步判断所述hash值在hash映射表中对应的第一Die标识,与所述应用程序对应的Die的第二Die标识是否相同,从而根据判断结果,处理hash映射表,以使所述hash映射表记录的所述hash值对应的Die标识与所述第二Die标识相同;即如果第一Die标识与第二Die标识相同,则维持所述hash映射表不变,如果第一Die标识与第二Die标识不同,则修改hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识。
步骤S460、生成记录所述hash值和所述第二Die标识的条目,将所述条目记录到hash映射表。
操作系统在步骤S420中,查询所述hash值在hash映射表中未对应有Die标识,则操作系统可基于所述网络数据包的hash值和所述第二Die标识,生成更新hash映射表的条目,将所述条目记录到hash映射表中,以使得hash映射表记录所述hash值与所述第二Die标识的对应关系。
进一步,操作系统在将所述条目记录到hash映射表后,可进一步向网卡传递hash映射表的更新同步通知,以使网卡同步所述hash映射表记录的所述条目。
可见,本申请实施例提供的网络数据包的内存分配方法中,网卡可基于网卡和操作系统共享的hash映射表,选择网络数据包存储的内存;具体在网卡获取网络数据包后,网卡可确定所述网络数据包的hash值,从而根据hash映射表,查询所述hash值在hash映射表中是否对应有Die标识;由于hash映射表可记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识,因此网卡在查询所述hash值在hash映射表中对应有第一Die标识的情况下,可将所述网络数据包存储到所述第一Die标识的Die对应的内存中,由于处理网络数据包的应用程序极可能运行在历史运行的Die上,因此本申请实施例基于hash映射表中记录的hash值与Die标识的对应关系,选择网络数据包存储的内存,可尽可能保障处理网络数据包的应用程序与存储网络数据包的内存对应同一Die,从而执行应用程序的CPU可尽可能以本地内存访问的方式,来访问网络数据包,达到提升网络数据包的访问速率,提升网络数据包的处理速率的目的。
本申请实施例还提供一种网卡,该网卡可被配置为执行上述网卡角度说明的网络数据包的内存分配方法。
本申请实施例还提供一种芯片,该芯片可具有多Die的结构,具体的,该芯片可以包括多个Die,各个Die可以包括多个CPU,并且所述多个Die可运行操作系统,该操作系统可被配置为执行上述操作系统角度说明的网络数据包的内存分配方法。
本申请实施例还提供一种电子设备,该电子设备可以基于多Die的计算机体系架构实现,在本申请实施例中,该电子设备可以包括上述所述的网卡和上述所述的芯片,其中,网卡可连接于芯片的多个Die中的一个Die上。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种网络数据包的内存分配方法,其特征在于,应用于网卡,所述方法包括:
获取网络数据包,确定所述网络数据包的哈希hash值;
确定处理所述网络数据包的应用程序对应的Die的Die标识;
根据hash映射表,查询所述hash值在hash映射表中是否对应有裸片Die标识,其中,所述hash映射表记录历史处理所述hash值的网络数据包的应用程序对应的Die的Die标识;
若查询所述hash值在hash映射表中对应有第一Die标识,将所述网络数据包存储到所述第一Die标识的Die对应的内存中。
2.根据权利要求1所述的方法,其特征在于,还包括:
若处理所述网络数据包的应用程序当前对应的Die的第二Die标识,不同于所述第一Die标识,获取操作系统传递的hash映射表的更新同步通知,所述更新同步通知用于同步所述hash映射表中记录的所述hash值对应的Die标识修改为所述第二Die标识。
3.根据权利要求1所述的方法,其特征在于,还包括:
若查询所述hash值在hash映射表中未对应有Die标识,将所述网络数据包存储到设定的默认Die对应的内存中。
4.根据权利要求3所述的方法,其特征在于,还包括:
在查询所述hash值在hash映射表中未对应有Die标识后,获取操作系统传递的hash映射表的更新同步通知,所述更新同步通知用于同步所述hash映射表记录的新的条目,所述条目用于记录所述hash值和处理所述网络数据包的应用程序对应的Die的第二Die标识。
5.根据权利要求3所述的方法,其特征在于,所述默认Die为所述网卡连接的Die。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
在将所述网络数据包存储到内存后,向操作系统传递通知。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述确定所述网络数据包的hash值包括:
提取所述网络数据包的特征信息;
基于所述网络数据包的特征信息,计算所述网络数据包的hash值。
8.一种网络数据包的内存分配方法,其特征在于,应用于操作系统,所述方法包括:
在确定网卡将网络数据包存储到内存后,确定所述网络数据包的哈希hash值;
确定处理所述网络数据包的应用程序对应的裸片Die的第二Die标识;
根据hash映射表,查询所述hash值在hash映射表是否对应有Die标识;
若查询所述hash值在hash映射表中对应有第一Die标识,判断所述第一Die标识与所述第二Die标识是否相同;
根据判断结果,处理所述hash映射表,以使所述hash映射表记录的所述hash值对应的Die标识与所述第二Die标识相同。
9.根据权利要求8所述的方法,其特征在于,所述根据判断结果,处理所述hash映射表,以使所述hash映射表记录的所述hash值对应的Die标识与所述第二Die标识相同包括:
若判断结果为是,维持所述hash映射表不变;
若判断结果为否,修改所述hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识。
10.根据权利要求9所述的方法,其特征在于,还包括:
在更新所述hash映射表中记录的所述hash值对应的Die标识为所述第二Die标识之后,向网卡传递hash映射表的更新同步通知,以使网卡同步所述hash映射表中记录的所述hash值对应的Die标识修改为所述第二Die标识。
11.根据权利要求8所述的方法,其特征在于,还包括:
若查询所述hash值在hash映射表中未对应有Die标识,生成记录所述hash值和所述第二Die标识的条目,将所述条目记录到hash映射表。
12.根据权利要求11所述的方法,其特征在于,还包括:
在将所述条目记录到hash映射表之后,向网卡传递hash映射表的更新同步通知,以使网卡同步所述hash映射表记录的所述条目。
13.根据权利要求8-12任一项所述的方法,其特征在于,还包括:
在网卡将所述网络数据包存储到内存后,获取网卡传递的通知,以确定网卡将网络数据包存储到内存。
14.根据权利要求8-12任一项所述的方法,其特征在于,所述确定所述网络数据包的hash值包括:
提取所述网络数据包的特征信息;
基于所述网络数据包的特征信息,计算所述网络数据包的hash值。
15.一种网卡,其特征在于,所述网卡被配置为执行如权利要求1-7任一项所述的网络数据包的内存分配方法。
16.一种芯片,其特征在于,所述芯片包括多个裸片Die,各个Die包括多个中央处理器CPU,且所述多个Die运行有操作系统,所述操作系统被配置为执行如权利要求8-14任一项所述的网络数据包的内存分配方法。
17.一种电子设备,其特征在于,包括如权利要求15所述的网卡,以及如权利要求16所述的芯片,其中,所述网卡连接于所述芯片的多个Die中的一个Die上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249241.1A CN112363833B (zh) | 2020-11-10 | 2020-11-10 | 一种网络数据包的内存分配方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011249241.1A CN112363833B (zh) | 2020-11-10 | 2020-11-10 | 一种网络数据包的内存分配方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112363833A CN112363833A (zh) | 2021-02-12 |
CN112363833B true CN112363833B (zh) | 2023-01-31 |
Family
ID=74509509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011249241.1A Active CN112363833B (zh) | 2020-11-10 | 2020-11-10 | 一种网络数据包的内存分配方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112363833B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115996153A (zh) * | 2021-10-19 | 2023-04-21 | 华为技术有限公司 | 一种数据处理的方法和相关装置 |
CN114490085B (zh) * | 2022-02-16 | 2023-09-19 | 北京火山引擎科技有限公司 | 一种网卡配置方法、装置、设备及存储介质 |
WO2024101571A1 (ko) * | 2022-11-09 | 2024-05-16 | 한국전자통신연구원 | 다이 간 통신을 수행하는 장치 및 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788847A (zh) * | 2010-02-11 | 2010-07-28 | 华硕电脑股份有限公司 | 系统内存性能调整方法与计算机系统 |
CN106878973A (zh) * | 2017-01-03 | 2017-06-20 | 电信科学技术研究院 | 一种网络标识映射方法及装置 |
CN107861884A (zh) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | 一种提高nand闪存中跨页存储地址映射效率的方法 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
CN109240829A (zh) * | 2018-08-29 | 2019-01-18 | 盛科网络(苏州)有限公司 | 用于交换芯片的申请、管理独占资源的方法及装置 |
CN110377599A (zh) * | 2018-04-12 | 2019-10-25 | 三星电子株式会社 | 键值存储装置及其操作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310158B2 (en) * | 2017-12-08 | 2022-04-19 | Corsa Technology Inc. | Packet classification using fingerprint hash table |
-
2020
- 2020-11-10 CN CN202011249241.1A patent/CN112363833B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788847A (zh) * | 2010-02-11 | 2010-07-28 | 华硕电脑股份有限公司 | 系统内存性能调整方法与计算机系统 |
CN109154917A (zh) * | 2016-12-29 | 2019-01-04 | 华为技术有限公司 | 存储系统和固态硬盘 |
CN106878973A (zh) * | 2017-01-03 | 2017-06-20 | 电信科学技术研究院 | 一种网络标识映射方法及装置 |
CN107861884A (zh) * | 2017-11-06 | 2018-03-30 | 华中科技大学 | 一种提高nand闪存中跨页存储地址映射效率的方法 |
CN110377599A (zh) * | 2018-04-12 | 2019-10-25 | 三星电子株式会社 | 键值存储装置及其操作方法 |
CN109240829A (zh) * | 2018-08-29 | 2019-01-18 | 盛科网络(苏州)有限公司 | 用于交换芯片的申请、管理独占资源的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112363833A (zh) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112363833B (zh) | 一种网络数据包的内存分配方法、装置及相关设备 | |
US7689694B2 (en) | Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device | |
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
US10686728B2 (en) | Systems and methods for allocating computing resources in distributed computing | |
US6560628B1 (en) | Apparatus, method, and recording medium for scheduling execution using time slot data | |
CN102023890B (zh) | 一种用于设置事务优先级的数据处理装置和方法 | |
CN108108463B (zh) | 基于时间片调度的同步任务处理方法及装置 | |
US10114866B2 (en) | Memory-constrained aggregation using intra-operator pipelining | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
US8195737B2 (en) | Process management apparatus, computer systems, distributed processing method, and computer program | |
CN106294192B (zh) | 内存分配方法、内存分配装置及服务器 | |
CN110912967A (zh) | 一种服务节点调度方法、装置、设备及存储介质 | |
WO2022160628A1 (zh) | 命令处理装置、方法、电子设备以及计算机可读存储介质 | |
CN112511576A (zh) | 一种物联网数据处理系统及数据处理方法 | |
CN111857992B (zh) | 一种Radosgw模块中线程资源分配方法和装置 | |
CN110995817B (zh) | 请求回调方法、装置及客户端设备 | |
CN111917595A (zh) | 系统升级方法、装置、智能设备以及存储介质 | |
CN114640630B (zh) | 一种流量管控方法、装置、设备及可读存储介质 | |
CN110825732A (zh) | 数据查询方法、装置、计算机设备和可读存储介质 | |
CN113302593A (zh) | 任务处理方法、装置、系统、电子设备及存储介质 | |
WO2022111466A1 (zh) | 任务调度方法、控制方法、电子设备、计算机可读介质 | |
CN115658292A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112114971A (zh) | 一种任务分配方法、装置及设备 | |
WO2021135763A1 (zh) | 数据处理方法和装置、存储介质及电子装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |