CN112231101A - 内存分配方法、装置及可读存储介质 - Google Patents

内存分配方法、装置及可读存储介质 Download PDF

Info

Publication number
CN112231101A
CN112231101A CN202011108188.3A CN202011108188A CN112231101A CN 112231101 A CN112231101 A CN 112231101A CN 202011108188 A CN202011108188 A CN 202011108188A CN 112231101 A CN112231101 A CN 112231101A
Authority
CN
China
Prior art keywords
memory
linked list
idle linked
size
dpdk
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.)
Granted
Application number
CN202011108188.3A
Other languages
English (en)
Other versions
CN112231101B (zh
Inventor
雷印罡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority to CN202011108188.3A priority Critical patent/CN112231101B/zh
Publication of CN112231101A publication Critical patent/CN112231101A/zh
Application granted granted Critical
Publication of CN112231101B publication Critical patent/CN112231101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种内存分配方法、装置及可读存储介质,该方法包括:获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。通过修改DPDK空闲链表的个数,缩小了DPDK空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率,从而更好地提升了内存分配速度。

Description

内存分配方法、装置及可读存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存分配方法、装置及可读存储介质。
背景技术
目前防火墙***使用的内存管理为DPDK(Data Plane Development Kit,数据平面开发套件)开源套件中的堆内存管理机制,此内存管理机制在内存申请不频繁、分配内存及时归还、内存大小不确定时具有很好的稳定性和内存分配效率。此内存分片算法使用了大页内存机制,从根本上解决了TLB miss(TLB:Translation Lookaside Buffer,转译后备缓冲区)带来的性能不稳定。此算法还能够自动合并相邻内存分片,减少内存碎片的生成,提升内存使用效率,是一种稳定可靠的内存分配算法,但是,防火墙***内存分配大小随机,报文处理时延要求在微秒级,所以对内存分配的速度要求更高。当***运行一段时间后,原本连续的内存会出现碎片,空闲链表长度增加,导致内存分配时查找合适大小的内存时间变长,极限情况下会存在遍历整个空闲链表,甚至无法找到合适的内存大小的情况。同时还存在多核并行申请内存的情况,当一个核长时间无法分配成功时,其它CPU(CentralProcessing Unit,中央处理器)都要处于等待状态。当防火墙***业务压力增加,内存分配速率要求很高,内存无法快速申请时就会导致业务流程受阻,性能严重下降。
另一种常见的内存分配算法为伙伴算法,伙伴算法跟DPDK的堆内存管理算法最大的区别是空闲链表中空闲内存块的大小是否全部相同。伙伴算法以牺牲内存使用效率来换取内存分配速率。其使用二进制优化的思想,将内存以2的幂为单位进行切割分配,所有空闲链表上的内存块大小一致。合并时只能合并伙伴内存块,两个内存块是伙伴的三个条件是:大小相同、地址连续、***自同一个父块。此算法最大的优点是可以避免内存碎片,同时快速匹配到需要的空闲内存块,最大的缺点就是内存浪费和空闲内存无法分配。比如分配一个33字节的内存,需要在64固定大小的空闲链上分配。
发明内容
针对现有技术存在的上述技术问题,本发明实施例提供一种内存分配方法、装置及可读存储介质。
第一方面,本发明实施例提供一种内存分配方法,包括:
获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;
其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
可选地,所述预设指标包括混合流量吞吐率和新建连接数;所述修改后的DPDK空闲链表的个数为150。
可选地,所述各空闲链表的内存区间间隔相同,包括:
各空闲链表的内存区间以第一预设字节的大小为间隔。
可选地,当所述空闲链表的内存区间范围超过第二预设字节的大小时,各空闲链表的内存区间以预设方式设置间隔。
可选地,所述第一预设字节为64byte;所述第二预设字节为8192byte;所述预设方式为以2的幂次方的方式增加。
可选地,所述根据所述申请内存的大小,基于所述修改后的DPDK空闲链表,进行内存分配,包括:
根据申请内存的大小,在与所述申请内存的大小对应的空闲链表的上一级空闲链表中查找与所述申请内存的大小对应的内存块;其中,所述上一级空闲链表的区间范围大于所述申请内存的大小。
第二方面,本发明实施例提供一种内存分配装置,包括:
内存分配模块,用于获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;
其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
可选地,所述预设指标包括混合流量吞吐率和新建连接数,所述修改后的DPDK空闲链表的个数为150。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述方法的步骤。
本发明实施例提供的内存分配方法、装置及可读存储介质,该方法对DPDK空闲链表进行了修改,增加了DPDK空闲链表的个数,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配,通过修改DPDK空闲链表的个数,缩小了DPDK空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率,从而更好地提升了内存分配速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的内存分配方法的流程示意图;
图2是本发明实施例提供的内存分配装置的结构示意图;
图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
DPDK17.05.2空闲链表中空闲内存大小区间间隔为2的幂次方,区间数为13,最小空闲链表内存大小为区间为0B-256B,因此最后区间将存放1GB到MAX SIZE的内存块。当需要分配固定大小的内存时,会从满足分配要求的空闲链表中找到第一个大小满足要求内存块。从空闲内存块切割出需要的内存大小之后,剩余的内存根据大小***到满足要求的空闲链表中。每一个空闲链表中各内存块的大小不固定,但是其大小需要满足对应空闲链表的范围区间。空闲链表的区间范围如表1所示。
Figure BDA0002727672030000041
Figure BDA0002727672030000051
现有技术中基于上述DPDK空闲链表进行内存分配时存在的缺点主要体现在以下方面:
第一,内存空闲队列数少。防火墙***使用的CPU都是多核,甚至是众核架构。内存空闲队列越少CPU之间产生锁冲突的概率越大,导致无法充分发挥CPU的性能。
第二,内存空闲队列单个区间跨度大。单个空闲队列会特别长,单次遍历时间久。比如:空闲队列区间如果是0-64B,则此队列上挂载的空闲块大小最多只有63种大小,其它大小的内存块会挂载到其它空闲队列。如果空闲队列区间是0-256B,则空闲内存块落到此区间的概率就更大,***运行一段时间后空闲队列的长度也会更长。
对此,本发明实施例提供了一种内存分配方法,图1为本发明实施例提供的内存分配方法的流程示意图,如图1所述,该方法包括:
S101:获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;
其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
具体地,由上述表1可知,DPDK17.05.2空闲链表的个数为13,在应用DPDK堆内存管理算法的业务***中,增加DPDK空闲链表的个数,直至使得***在预设指标下的综合性能最好,进而获得修改后的DPDK空闲链表,由于空闲链表的个数得到了增加,并且,各空闲链表的内存区间间隔相同,相应地,缩小了各空闲内存链表的区间范围,在一定程度上解决了***运行一段时间后空闲队列长度变长引起的分配效率低的问题。在进行内存分配时,获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表进行内存分配。
本发明实施例提供的方法,通过增加DPDK空闲链表的个数,缩小了空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率;仅修改了DPDK空闲链表的个别参数既能达到提升内存分配速度的目的;修改后DPDK空闲链表能够应用到防火墙产品中,以提升了防火墙产品的性能。
基于上述实施例,所述预设指标包括混合流量吞吐率和新建连接数;所述修改后的DPDK空闲链表的个数为150。
具体地,在应用DPDK堆内存管理算法的业务***中,增加DPDK空闲链表的个数,基于流量吞吐率、新建连接数两项指标,综合评估在空闲链表的个数为150时,综合性能最好,所以将DPDK空闲链表的个数由原来的13修改为150。
本发明实施例提供的方法,基于流量吞吐率、新建连接数两项指标,将DPDK空闲链表的个数增加为150,缩小了空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率。
基于上述任一实施例,所述各空闲链表的内存区间间隔相同,包括:
各空闲链表的内存区间以第一预设字节的大小为间隔。
具体地,由于小块内存的使用比较频繁,很容易出现个别链表过长影响遍历效率。因此在小块内存的链表大小区间进行了特殊设计,将原来以2的幂次方增加方式改成固定的以第一预设字节的大小增长。
本发明实施例提供的方法,缩小了DPDK空闲内存链表的区间范围,可避免个别链表过长影响遍历效率,从而进一步提高内存分配效率。
基于上述任一实施例,当所述空闲链表的内存区间范围超过第二预设字节的大小时,各空闲链表的内存区间以预设方式设置间隔。
具体地,由于使用比较频繁的是小块内存,因此,当所述空闲链表的内存区间范围超过第二预设字节的大小时,各空闲链表的内存区间以预设方式设置间隔。
本发明实施例提供的方法,缩小了空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率。
基于上述任一实施例,所述第一预设字节为64byte;所述第二预设字节为8192byte;所述预设方式为以2的幂次方的方式增加。
具体地,由于小块内存的使用比较频繁,很容易出现个别链表过长影响遍历效率。因此在小块内存的链表大小区间进行了特殊设计,将原来以2的幂次方增加方式改成固定64byte大小增长,超过8K(8192byte)之后再以2的幂次方的方式增加。修改后的DPDK空闲链表的各区间范围如表2所示。
Figure BDA0002727672030000071
Figure BDA0002727672030000081
本发明实施例提供的方法,缩小了DPDK空闲内存链表的区间范围,可避免个别链表过长影响遍历效率,从而进一步提高内存分配效率。
现有技术中基于上述DPDK空闲链表进行内存分配时存在的缺点除上述的两个方面外,还具有空闲内存查找算法低效这一缺点,当需要一块固定大小的内存时,需要遍历所在区间的空闲链表。由于是顺序遍历,随机条件下平均要遍历空闲链表中一半的元素。最坏的条件下有可能查询不到合适大小的内存块,进而需要再次遍历上一级空闲链表。
对此,基于上述任一实施例,所述根据所述申请内存的大小,基于所述修改后的DPDK空闲链表,进行内存分配,包括:
根据申请内存的大小,在与所述申请内存的大小对应的空闲链表的上一级空闲链表中查找与所述申请内存的大小对应的内存块;其中,所述上一级空闲链表的区间范围大于所述申请内存的大小。
具体地,申请特定大小内存需要查找空闲链表时直接到上一级内存空闲链表中查找内存块,例如:如表2所示,若需要申请小于256B的内存,与该内存大小对应的空闲链表为编号为3,则在编号为3的空闲链表的上一级空闲链表中查找与所述申请内存的大小对应的内存块,即在编号为4、区间范围为256B~320B的空闲链表中进行内存分配。
本发明实施例提供的方法,不需要遍历空闲链表,而是利用内存链表的分布规律,寻找最快的查找路径,由于所查找的空闲链表中的内存块必然满足申请大小要求,从而提升了空闲内存查找效率。
为了测试本发明实施例的效果,在同一个硬件平台、相同的配置、使用相同的测试模型,采用本发明实施例提供的内存分配方法,内存分配效率得到了提升。
下面对本发明实施例提供的内存分配装置进行描述,下文描述的内存分配装置与上文描述的内存分配方法可相互对应参照。
基于上述任一实施例,图2为本发明实施例提供的内存分配装置的结构示意图,如图2所示,该内存分配装置包括内存分配模块201。
其中,内存分配模块201用于获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
本发明实施例提供的装置,通过增加DPDK空闲链表的个数,缩小了空闲内存链表的区间范围,同时大大降低了多CPU同时申请内存时的锁冲突概率;仅修改了DPDK空闲链表的个别参数既能达到提升内存分配速度的目的;修改后DPDK空闲链表能够应用到防火墙产品中,以提升了防火墙产品的性能。
基于上述任一实施例,所述预设指标包括混合流量吞吐率和新建连接数,所述修改后的DPDK空闲链表的个数为150。
基于上述任一实施例,所述各空闲链表的内存区间间隔相同,包括:
各空闲链表的内存区间以第一预设字节的大小为间隔。
基于上述任一实施例,当所述空闲链表的内存区间范围超过第二预设字节的大小时,各空闲链表的内存区间以预设方式设置间隔。
基于上述任一实施例,所述第一预设字节为64byte;所述第二预设字节为8192byte;所述预设方式为以2的幂次方的方式增加。
基于上述任一实施例,所述根据所述申请内存的大小,基于所述修改后的DPDK空闲链表,进行内存分配,包括:
根据申请内存的大小,在与所述申请内存的大小对应的空闲链表的上一级空闲链表中查找与所述申请内存的大小对应的内存块;其中,所述上一级空闲链表的区间范围大于所述申请内存的大小。
本发明实施例的内存分配装置,可用于执行上述各内存分配方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行上述各方法实施例提供的步骤流程。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的步骤流程。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种内存分配方法,其特征在于,包括:
获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;
其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
2.根据权利要求1所述的内存分配方法,其特征在于,所述预设指标包括混合流量吞吐率和新建连接数;所述修改后的DPDK空闲链表的个数为150。
3.根据权利要求1所述的内存分配方法,其特征在于,所述各空闲链表的内存区间间隔相同,包括:
各空闲链表的内存区间以第一预设字节的大小为间隔。
4.根据权利要求3所述的内存分配方法,其特征在于,进一步地,当所述空闲链表的内存区间范围超过第二预设字节的大小时,各空闲链表的内存区间以预设方式设置间隔。
5.根据权利要求4所述的内存分配方法,其特征在于,所述第一预设字节为64byte;所述第二预设字节为8192byte;所述预设方式为以2的幂次方的方式增加。
6.根据权利要求1所述的内存分配方法,其特征在于,所述根据所述申请内存的大小,基于所述修改后的DPDK空闲链表,进行内存分配,包括:
根据申请内存的大小,在与所述申请内存的大小对应的空闲链表的上一级空闲链表中查找与所述申请内存的大小对应的内存块;其中,所述上一级空闲链表的区间范围大于所述申请内存的大小。
7.一种内存分配装置,其特征在于,包括:
内存分配模块,用于获取申请内存的大小,根据所述申请内存的大小,基于修改后的DPDK空闲链表,进行内存分配;
其中,所述修改后的DPDK空闲链表为基于预设指标对DPDK空闲链表的个数进行增加后获得;并且,各空闲链表的内存区间间隔相同。
8.根据权利要求7所述的内存分配装置,其特征在于,所述预设指标包括混合流量吞吐率和新建连接数,所述修改后的DPDK空闲链表的个数为150。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述内存分配方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述内存分配方法的步骤。
CN202011108188.3A 2020-10-16 2020-10-16 内存分配方法、装置及可读存储介质 Active CN112231101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011108188.3A CN112231101B (zh) 2020-10-16 2020-10-16 内存分配方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011108188.3A CN112231101B (zh) 2020-10-16 2020-10-16 内存分配方法、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN112231101A true CN112231101A (zh) 2021-01-15
CN112231101B CN112231101B (zh) 2024-03-01

Family

ID=74119106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011108188.3A Active CN112231101B (zh) 2020-10-16 2020-10-16 内存分配方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN112231101B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220604A (zh) * 2021-05-31 2021-08-06 深圳华云信息***有限公司 内存申请方法、装置、电子设备和计算机可读存储介质
WO2022151475A1 (zh) * 2021-01-18 2022-07-21 华为技术有限公司 报文缓存方法、内存分配器及报文转发***
WO2023142936A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 内存管理方法,***以及相关装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963788A (zh) * 2005-11-08 2007-05-16 中兴通讯股份有限公司 一种内存管理方法
CN106095693A (zh) * 2016-05-31 2016-11-09 国家计算机网络与信息安全管理中心 一种面向非固定包长的无锁化多链内存管理方法
CN108038002A (zh) * 2017-12-15 2018-05-15 天津津航计算技术研究所 一种嵌入式软件内存管理方法
US20180165117A1 (en) * 2016-12-08 2018-06-14 NoFutzNetworks Inc. Software Switch Hypervisor for Isolation of Cross-Port Network Traffic
CN108600120A (zh) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 一种基于dpdk下实现nat的方法
US20180329743A1 (en) * 2017-05-12 2018-11-15 Solarflare Communications, Inc. Data processing system
CN109309626A (zh) * 2018-09-10 2019-02-05 南京知常容信息技术有限公司 一种基于dpdk的高速网络数据包捕获分流及缓存方法
CN110048963A (zh) * 2019-04-19 2019-07-23 杭州朗和科技有限公司 虚拟网络中的报文传输方法、介质、装置和计算设备
CN110224929A (zh) * 2019-04-17 2019-09-10 西安交大捷普网络科技有限公司 基于dpdk的链路聚合接口的数据包转发方法
CN110635972A (zh) * 2019-10-17 2019-12-31 南京中孚信息技术有限公司 网络测试方法、装置、网络测试仪及计算机可读存储介质
CN110851371A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 报文处理方法及相关设备
CN111143199A (zh) * 2019-12-11 2020-05-12 烽火通信科技股份有限公司 一种云平台中检测dpdk应用程序内存越界访问的方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963788A (zh) * 2005-11-08 2007-05-16 中兴通讯股份有限公司 一种内存管理方法
CN106095693A (zh) * 2016-05-31 2016-11-09 国家计算机网络与信息安全管理中心 一种面向非固定包长的无锁化多链内存管理方法
US20180165117A1 (en) * 2016-12-08 2018-06-14 NoFutzNetworks Inc. Software Switch Hypervisor for Isolation of Cross-Port Network Traffic
US20180329743A1 (en) * 2017-05-12 2018-11-15 Solarflare Communications, Inc. Data processing system
CN108038002A (zh) * 2017-12-15 2018-05-15 天津津航计算技术研究所 一种嵌入式软件内存管理方法
CN108600120A (zh) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 一种基于dpdk下实现nat的方法
CN110851371A (zh) * 2018-08-20 2020-02-28 华为技术有限公司 报文处理方法及相关设备
CN109309626A (zh) * 2018-09-10 2019-02-05 南京知常容信息技术有限公司 一种基于dpdk的高速网络数据包捕获分流及缓存方法
CN110224929A (zh) * 2019-04-17 2019-09-10 西安交大捷普网络科技有限公司 基于dpdk的链路聚合接口的数据包转发方法
CN110048963A (zh) * 2019-04-19 2019-07-23 杭州朗和科技有限公司 虚拟网络中的报文传输方法、介质、装置和计算设备
CN110635972A (zh) * 2019-10-17 2019-12-31 南京中孚信息技术有限公司 网络测试方法、装置、网络测试仪及计算机可读存储介质
CN111143199A (zh) * 2019-12-11 2020-05-12 烽火通信科技股份有限公司 一种云平台中检测dpdk应用程序内存越界访问的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZIDONG SU; BRUNO BAYNAT; THOMAS BEGIN: ""A new model for DPDK-based virtual switches"", 《2017 IEEE CONFERENCE ON NETWORK SOFTWARIZATION (NETSOFT)》 *
姜海粟;陈庆奎;: "基于DPDK的多端口并行通信机制", 小型微型计算机***, no. 05 *
李霞;李虎;甘;朱颢东;: "服务器中高性能网络数据包处理方法的对比研究", 计算机应用与软件, no. 11 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022151475A1 (zh) * 2021-01-18 2022-07-21 华为技术有限公司 报文缓存方法、内存分配器及报文转发***
CN113220604A (zh) * 2021-05-31 2021-08-06 深圳华云信息***有限公司 内存申请方法、装置、电子设备和计算机可读存储介质
CN113220604B (zh) * 2021-05-31 2021-12-07 深圳华云信息***有限公司 内存申请方法、装置、电子设备和计算机可读存储介质
WO2023142936A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 内存管理方法,***以及相关装置

Also Published As

Publication number Publication date
CN112231101B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN112231101A (zh) 内存分配方法、装置及可读存储介质
US11698929B2 (en) Offload of data lookup operations
US11307769B2 (en) Data storage method, apparatus and storage medium
EP3057272B1 (en) Technologies for concurrency of cuckoo hashing flow lookup
KR101702049B1 (ko) 복제된 기입 요청으로 일관된 메모리 카피를 행하는 방법 및 장치
US20150127649A1 (en) Efficient implementations for mapreduce systems
CN112929299B (zh) 基于fpga加速卡的sdn云网络实现方法、装置及设备
US20200364080A1 (en) Interrupt processing method and apparatus and server
US20150286414A1 (en) Scanning memory for de-duplication using rdma
US9977598B2 (en) Electronic device and a method for managing memory space thereof
CN109828790B (zh) 一种基于申威异构众核处理器的数据处理方法和***
US11989588B2 (en) Shared memory management method and device
EP4152140A1 (en) Network card and method for network card to process data
CN103150149A (zh) 处理数据库重做数据的方法和装置
EP4369191A1 (en) Memory scanning method and apparatus
CN111338688B (zh) 数据长效缓存方法、装置、计算机***及可读存储介质
US20140173210A1 (en) Multi-core processing device with invalidation cache tags and methods
CN114153785B (zh) 基于远程直接内存访问的内存管理方法和设备
US20200371827A1 (en) Method, Apparatus, Device and Medium for Processing Data
Tianhua et al. The design and implementation of zero-copy for linux
CN111061690A (zh) 一种基于rac的数据库日志文件读取方法和装置
CN109388651B (zh) 一种数据处理方法和装置
CN110162395B (zh) 一种内存分配的方法及装置
US20170147518A1 (en) Scanning memory for de-duplication using rdma
CN111708763B (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