CN112231101B - Memory allocation method and device and readable storage medium - Google Patents

Memory allocation method and device and readable storage medium Download PDF

Info

Publication number
CN112231101B
CN112231101B CN202011108188.3A CN202011108188A CN112231101B CN 112231101 B CN112231101 B CN 112231101B CN 202011108188 A CN202011108188 A CN 202011108188A CN 112231101 B CN112231101 B CN 112231101B
Authority
CN
China
Prior art keywords
memory
linked list
idle linked
size
idle
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
Application number
CN202011108188.3A
Other languages
Chinese (zh)
Other versions
CN112231101A (en
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/en
Publication of CN112231101A publication Critical patent/CN112231101A/en
Application granted granted Critical
Publication of CN112231101B publication Critical patent/CN112231101B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

The embodiment of the invention provides a memory allocation method, a memory allocation device and a readable storage medium, wherein the method comprises the following steps: acquiring the size of an application memory, and performing memory allocation based on a modified DPDK idle linked list according to the size of the application memory; the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and, the interval of the memory intervals of each idle linked list is the same. By modifying the number of the DPDK idle linked lists, the interval range of the DPDK idle memory linked list is reduced, and meanwhile, the lock conflict probability when multiple CPUs apply for memory simultaneously is greatly reduced, so that the memory allocation speed is better improved.

Description

Memory allocation method and device and readable storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a memory allocation method, apparatus, and readable storage medium.
Background
The memory management used by the firewall system is a heap memory management mechanism in a DPDK (Data Plane Development Kit ) open source kit, and the memory management mechanism has good stability and memory allocation efficiency when the memory application is not frequent, the allocated memory returns in time and the memory size is uncertain. The memory slicing algorithm uses a large page memory mechanism, and fundamentally solves the problem of unstable performance caused by TLB miss (TLB: translation Lookaside Buffer, translation lookaside buffer). The algorithm can automatically merge adjacent memory fragments, reduce the generation of memory fragments, improve the use efficiency of the memory, is a stable and reliable memory allocation algorithm, but the memory allocation size of a firewall system is random, and the message processing delay is required to be in a microsecond level, so the requirement on the speed of memory allocation is higher. When the system runs for a period of time, fragments of the original continuous memory can appear, the length of the idle linked list is increased, so that the time for searching the memory with proper size is prolonged when the memory is allocated, and under the limit condition, the whole idle linked list can be traversed, and even the condition that the proper memory size cannot be found can be avoided. Meanwhile, there is a case of applying for memory in parallel by multiple cores, and when one core cannot be successfully allocated for a long time, other CPUs (Central Processing Unit, central processing units) are all in a waiting state. When the service pressure of the firewall system is increased, the memory allocation rate is required to be high, and when the memory cannot be applied quickly, the service flow is blocked, and the performance is seriously reduced.
Another common memory allocation algorithm is the partner algorithm, which differs most from the heap memory management algorithm of DPDK in that the size of the free memory blocks in the free linked list is all the same. Partner algorithms trade off memory usage efficiency for memory allocation rate. The method uses the idea of binary optimization, cuts and distributes the memory by taking the power of 2 as a unit, and the sizes of memory blocks on all idle linked lists are consistent. Only the partner memory blocks can be merged when merging, and three conditions that two memory blocks are partners are: the addresses are consecutive and split from the same parent block with the same size. The algorithm has the greatest advantages of avoiding memory fragmentation, simultaneously matching the memory fragmentation to a needed idle memory block, and has the greatest disadvantages of memory waste and incapability of distributing idle memory. For example, allocation of a 33 byte memory requires allocation over a 64 fixed size free chain.
Disclosure of Invention
Aiming at the technical problems existing in the prior art, the embodiment of the invention provides a memory allocation method, a memory allocation device and a readable storage medium.
In a first aspect, an embodiment of the present invention provides a memory allocation method, including:
acquiring the size of an application memory, and performing memory allocation based on a modified DPDK idle linked list according to the size of the application memory;
the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and, the interval of the memory intervals of each idle linked list is the same.
Optionally, the preset index includes a mixed traffic throughput rate and a newly-built connection number; the number of the modified DPDK idle linked lists is 150.
Optionally, the intervals between the memory intervals of the idle linked lists are the same, including:
the memory intervals of the idle linked lists are spaced by the size of the first preset byte.
Optionally, when the memory interval range of the idle linked list exceeds the size of the second preset byte, the memory intervals of the idle linked list are set at intervals in a preset mode.
Optionally, the first preset byte is 64 bytes; the second preset byte is 8192 bytes; the preset manner is to increase in a manner of power of 2.
Optionally, the memory allocation based on the modified DPDK idle linked list according to the size of the application memory includes:
according to the size of the application memory, searching a memory block corresponding to the size of the application memory in a previous idle linked list of an idle linked list corresponding to the size of the application memory; and the interval range of the upper idle linked list is larger than the size of the application memory.
In a second aspect, an embodiment of the present invention provides a memory allocation apparatus, including:
the memory allocation module is used for acquiring the size of the application memory, and performing memory allocation based on the modified DPDK idle linked list according to the size of the application memory;
the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and, the interval of the memory intervals of each idle linked list is the same.
Optionally, the preset index includes a mixed traffic throughput rate and a newly-built connection number, and the number of the modified DPDK idle linked list is 150.
In a third aspect, an embodiment of the present invention provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the method according to the first aspect when the program is executed.
In a fourth aspect, embodiments of the present invention provide a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method according to the first aspect.
According to the memory allocation method, the device and the readable storage medium, the DPDK idle linked list is modified, the number of the DPDK idle linked list is increased, memory allocation is performed based on the modified DPDK idle linked list according to the size of the application memory, the interval range of the DPDK idle memory linked list is reduced by modifying the number of the DPDK idle linked list, and meanwhile the lock conflict probability when multiple CPUs apply for memory simultaneously is greatly reduced, so that the memory allocation speed is better improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flow chart of a memory allocation method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a memory allocation device according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The interval between the idle memory SIZE in the DPDK17.05.2 idle linked list is the power of 2, the interval number is 13, and the memory SIZE of the minimum idle linked list is 0B-256B, so that the memory blocks from 1GB to MAX SIZE are stored in the last interval. When the memory with fixed size needs to be allocated, a first memory block with the size meeting the allocation requirement is found from the idle linked list meeting the allocation requirement. After the needed memory size is cut out from the idle memory blocks, the rest memory is inserted into an idle linked list meeting the requirement according to the size. The size of each memory block in each idle linked list is not fixed, but the size of each memory block needs to meet the range interval of the corresponding idle linked list. The range of intervals of the idle linked list is shown in table 1.
The defects existing in the prior art when memory allocation is performed based on the DPDK idle linked list are mainly shown in the following aspects:
first, the number of memory free queues is small. The CPUs used by firewall systems are multi-core, even many-core architectures. The fewer the memory free queues, the greater the probability of lock conflicts between CPUs, resulting in insufficient CPU performance.
Second, the memory idle queue single interval spans are large. A single free queue may be particularly long, with a single traversal time. Such as: if the interval of the idle queue is 0-64B, the size of the idle block mounted on the queue is only 63, and memory blocks with other sizes can be mounted on other idle queues. If the interval of the idle queue is 0-256B, the probability that the idle memory block falls into the interval is larger, and the length of the idle queue is longer after the system runs for a period of time.
In this regard, an embodiment of the present invention provides a memory allocation method, and fig. 1 is a schematic flow chart of the memory allocation method provided in the embodiment of the present invention, as shown in fig. 1, where the method includes:
s101: acquiring the size of an application memory, and performing memory allocation based on a modified DPDK idle linked list according to the size of the application memory;
the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and, the interval of the memory intervals of each idle linked list is the same.
Specifically, as shown in table 1, the number of idle linked lists DPDK17.05.2 is 13, and in a service system applying a DPDK heap memory management algorithm, the number of idle linked lists of DPDK is increased until the comprehensive performance of the system under a preset index is the best, and further, a modified idle linked list of DPDK is obtained. And when memory allocation is carried out, acquiring the size of an application memory, and carrying out memory allocation based on the modified DPDK idle linked list according to the size of the application memory.
According to the method provided by the embodiment of the invention, the number of DPDK idle linked lists is increased, so that the interval range of the idle memory linked list is reduced, and the lock conflict probability when multiple CPUs apply for the memory simultaneously is greatly reduced; only modifying individual parameters of the DPDK idle linked list can achieve the purpose of improving the memory allocation speed; the modified DPDK idle linked list can be applied to firewall products to improve the performance of the firewall products.
Based on the above embodiment, the preset indicators include a mixed traffic throughput rate and a newly-built connection number; the number of the modified DPDK idle linked lists is 150.
Specifically, in a service system applying a DPDK heap memory management algorithm, the number of DPDK idle linked lists is increased, and based on two indexes of traffic throughput rate and newly-built connection number, when the number of idle linked lists is 150, the comprehensive performance is best through comprehensive evaluation, so that the number of DPDK idle linked lists is modified from original 13 to 150.
According to the method provided by the embodiment of the invention, based on two indexes of traffic throughput rate and newly-built connection number, the number of DPDK idle linked lists is increased to 150, the interval range of the idle memory linked lists is reduced, and meanwhile, the lock conflict probability when multiple CPUs apply for memory simultaneously is greatly reduced.
Based on any one of the foregoing embodiments, the memory interval of each idle linked list is the same, including:
the memory intervals of the idle linked lists are spaced by the size of the first preset byte.
In particular, since the use of the small block memory is frequent, the overlong effect of the individual linked list on the traversal efficiency is easy to occur. Therefore, special design is carried out among linked list sizes of the small block memory, and the original power increasing mode of 2 is changed into fixed size increase of the first preset byte.
The method provided by the embodiment of the invention reduces the interval range of the DPDK idle memory linked list, and can avoid the influence of overlong individual linked list on the traversing efficiency, thereby further improving the memory allocation efficiency.
Based on any of the above embodiments, when the memory interval range of the idle linked list exceeds the size of the second preset byte, the memory intervals of the idle linked list are set at intervals in a preset manner.
Specifically, since the small block memory is frequently used, when the memory interval range of the idle linked list exceeds the size of the second preset byte, the intervals of the memory intervals of the idle linked list are set in a preset mode.
The method provided by the embodiment of the invention reduces the interval range of the idle memory linked list, and simultaneously greatly reduces the lock conflict probability when multiple CPUs apply for memories at the same time.
Based on any of the above embodiments, the first preset byte is 64byte; the second preset byte is 8192 bytes; the preset manner is to increase in a manner of power of 2.
In particular, since the use of the small block memory is frequent, the overlong effect of the individual linked list on the traversal efficiency is easy to occur. Therefore, the special design is carried out among the linked list sizes of the small block memory, the original power increasing mode of 2 is changed into fixed 64byte size increasing mode, and the linked list size is increased by power of 2 after exceeding 8K (8192 byte). The ranges of the modified DPDK idle linked list are shown in table 2.
The method provided by the embodiment of the invention reduces the interval range of the DPDK idle memory linked list, and can avoid the influence of overlong individual linked list on the traversing efficiency, thereby further improving the memory allocation efficiency.
The prior art has the defects that the idle memory searching algorithm is low-efficiency besides the two aspects when the memory allocation is performed based on the DPDK idle linked list, and when a memory with a fixed size is needed, the idle linked list of the interval is needed to be traversed. Due to sequential traversal, on average, half of the elements in the free linked list are traversed under random conditions. Under the worst condition, the memory block with proper size may not be searched, and then the previous idle linked list needs to be traversed again.
In this regard, based on any one of the above embodiments, the performing memory allocation according to the size of the application memory and based on the modified DPDK idle linked list includes:
according to the size of the application memory, searching a memory block corresponding to the size of the application memory in a previous idle linked list of an idle linked list corresponding to the size of the application memory; and the interval range of the upper idle linked list is larger than the size of the application memory.
Specifically, when a memory with a specific size needs to find the idle linked list, a memory block is directly found in the idle linked list of the previous memory, for example: as shown in table 2, if a memory smaller than 256B is required, the idle linked list corresponding to the size of the memory is numbered 3, and then a memory block corresponding to the size of the memory is searched in the idle linked list of the previous stage of the idle linked list with the number 3, that is, memory allocation is performed in the idle linked list with the number 4 and the interval range of 256B-320B.
According to the method provided by the embodiment of the invention, the idle linked list does not need to be traversed, the fastest searching path is searched by utilizing the distribution rule of the memory linked list, and the searched memory blocks in the idle linked list necessarily meet the application size requirement, so that the idle memory searching efficiency is improved.
In order to test the effect of the embodiment of the invention, the memory allocation method provided by the embodiment of the invention is adopted to improve the memory allocation efficiency in the same hardware platform, the same configuration and the same test model.
The memory allocation device provided by the embodiment of the present invention is described below, and the memory allocation device described below and the memory allocation method described above may be referred to correspondingly.
Based on any of the above embodiments, fig. 2 is a schematic structural diagram of a memory allocation device according to an embodiment of the present invention, and as shown in fig. 2, the memory allocation device includes a memory allocation module 201.
The memory allocation module 201 is configured to obtain a size of an application memory, and allocate the memory based on the modified DPDK idle linked list according to the size of the application memory; the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and, the interval of the memory intervals of each idle linked list is the same.
According to the device provided by the embodiment of the invention, the number of DPDK idle linked lists is increased, so that the interval range of the idle memory linked list is reduced, and the lock conflict probability when multiple CPUs apply for the memory simultaneously is greatly reduced; only modifying individual parameters of the DPDK idle linked list can achieve the purpose of improving the memory allocation speed; the modified DPDK idle linked list can be applied to firewall products to improve the performance of the firewall products.
Based on any of the foregoing embodiments, the preset indicators include a mixed traffic throughput rate and a newly-built connection number, and the number of modified DPDK idle linked lists is 150.
Based on any one of the foregoing embodiments, the memory interval of each idle linked list is the same, including:
the memory intervals of the idle linked lists are spaced by the size of the first preset byte.
Based on any of the above embodiments, when the memory interval range of the idle linked list exceeds the size of the second preset byte, the memory intervals of the idle linked list are set at intervals in a preset manner.
Based on any of the above embodiments, the first preset byte is 64byte; the second preset byte is 8192 bytes; the preset manner is to increase in a manner of power of 2.
Based on any of the foregoing embodiments, the memory allocation according to the size of the application memory and based on the modified DPDK idle linked list includes:
according to the size of the application memory, searching a memory block corresponding to the size of the application memory in a previous idle linked list of an idle linked list corresponding to the size of the application memory; and the interval range of the upper idle linked list is larger than the size of the application memory.
The memory allocation device of the embodiment of the present invention may be used to execute the technical solutions of the embodiments of the foregoing memory allocation methods, and its implementation principle and technical effects are similar, and are not repeated here.
Fig. 3 illustrates a physical schematic diagram of an electronic device, as shown in fig. 3, where the electronic device may include: processor 310, communication interface (Communications Interface) 320, memory 330 and communication bus 340, wherein processor 310, communication interface 320, memory 330 accomplish communication with each other through communication bus 340. Processor 310 may invoke logic instructions in memory 330 to perform the flow of steps provided by the method embodiments described above.
Further, the logic instructions in the memory 330 described above may be implemented in the form of software functional units and may be stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, embodiments of the present invention also provide a non-transitory computer readable storage medium having stored thereon a computer program that, when executed by a processor, is implemented to perform the step flow provided by the above embodiments.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (6)

1. A memory allocation method, comprising:
acquiring the size of an application memory, and performing memory allocation based on a modified DPDK idle linked list according to the size of the application memory;
the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and the interval between the memory intervals of the idle linked lists is the same;
the preset indexes comprise mixed flow throughput rate and newly-built connection number; the number of the modified DPDK idle linked lists is 150;
the memory interval of each idle linked list is the same, and the method comprises the following steps:
the memory interval of each idle linked list takes the size of a first preset byte as an interval; when the memory interval range of the idle linked list exceeds the size of a second preset byte, setting intervals among the memory intervals of the idle linked list in a preset mode; the preset manner is to increase in a manner of power of 2.
2. The memory allocation method according to claim 1, wherein the first predetermined byte is 64 bytes; the second preset byte is 8192 bytes.
3. The memory allocation method according to claim 1, wherein the performing memory allocation based on the modified DPDK idle linked list according to the size of the application memory includes:
according to the size of the application memory, searching a memory block corresponding to the size of the application memory in a previous idle linked list of an idle linked list corresponding to the size of the application memory; and the interval range of the upper idle linked list is larger than the size of the application memory.
4. A memory allocation apparatus, comprising:
the memory allocation module is used for acquiring the size of the application memory, and performing memory allocation based on the modified DPDK idle linked list according to the size of the application memory;
the modified DPDK idle linked list is obtained by increasing the number of the DPDK idle linked list based on a preset index; and the interval between the memory intervals of the idle linked lists is the same;
the preset indexes comprise mixed flow throughput rate and newly-built connection number; the number of the modified DPDK idle linked lists is 150;
the memory interval of each idle linked list is the same, and the method comprises the following steps:
the memory interval of each idle linked list takes the size of a first preset byte as an interval; when the memory interval range of the idle linked list exceeds the size of a second preset byte, setting intervals among the memory intervals of the idle linked list in a preset mode; the preset manner is to increase in a manner of power of 2.
5. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the memory allocation method according to any one of claims 1 to 3 when executing the program.
6. A non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor performs the steps of the memory allocation method according to any of claims 1 to 3.
CN202011108188.3A 2020-10-16 2020-10-16 Memory allocation method and device and readable storage medium Active CN112231101B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011108188.3A CN112231101B (en) 2020-10-16 2020-10-16 Memory allocation method and device and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011108188.3A CN112231101B (en) 2020-10-16 2020-10-16 Memory allocation method and device and readable storage medium

Publications (2)

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

Family

ID=74119106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011108188.3A Active CN112231101B (en) 2020-10-16 2020-10-16 Memory allocation method and device and readable storage medium

Country Status (1)

Country Link
CN (1) CN112231101B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022151475A1 (en) * 2021-01-18 2022-07-21 华为技术有限公司 Message buffering method, memory allocator, and message forwarding system
CN113220604B (en) * 2021-05-31 2021-12-07 深圳华云信息系统有限公司 Memory application method and device, electronic equipment and computer readable storage medium
CN116560826A (en) * 2022-01-30 2023-08-08 华为技术有限公司 Memory management method, system and related device

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963788A (en) * 2005-11-08 2007-05-16 中兴通讯股份有限公司 A managing method for EMS memory
CN106095693A (en) * 2016-05-31 2016-11-09 国家计算机网络与信息安全管理中心 A kind of nothing lockization multichain EMS memory management process towards on-fixed bag length
CN108038002A (en) * 2017-12-15 2018-05-15 天津津航计算技术研究所 A kind of embedded software EMS memory management process
CN108600120A (en) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 A method of based on realization NAT under DPDK
CN109309626A (en) * 2018-09-10 2019-02-05 南京知常容信息技术有限公司 A kind of high-speed network data packet capturing shunting and caching method based on DPDK
CN110048963A (en) * 2019-04-19 2019-07-23 杭州朗和科技有限公司 Message transmitting method, medium, device and calculating equipment in virtual network
CN110224929A (en) * 2019-04-17 2019-09-10 西安交大捷普网络科技有限公司 The data packet forwarding method of link aggregation interface based on DPDK
CN110635972A (en) * 2019-10-17 2019-12-31 南京中孚信息技术有限公司 Network testing method, network testing device, network tester and computer readable storage medium
CN110851371A (en) * 2018-08-20 2020-02-28 华为技术有限公司 Message processing method and related equipment
CN111143199A (en) * 2019-12-11 2020-05-12 烽火通信科技股份有限公司 Method for detecting DPDK application program memory out-of-range access in cloud platform

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180165117A1 (en) * 2016-12-08 2018-06-14 NoFutzNetworks Inc. Software Switch Hypervisor for Isolation of Cross-Port Network Traffic
US11093284B2 (en) * 2017-05-12 2021-08-17 Xilinx, Inc. Data processing system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963788A (en) * 2005-11-08 2007-05-16 中兴通讯股份有限公司 A managing method for EMS memory
CN106095693A (en) * 2016-05-31 2016-11-09 国家计算机网络与信息安全管理中心 A kind of nothing lockization multichain EMS memory management process towards on-fixed bag length
CN108038002A (en) * 2017-12-15 2018-05-15 天津津航计算技术研究所 A kind of embedded software EMS memory management process
CN108600120A (en) * 2018-05-04 2018-09-28 广东唯网络科技有限公司 A method of based on realization NAT under DPDK
CN110851371A (en) * 2018-08-20 2020-02-28 华为技术有限公司 Message processing method and related equipment
CN109309626A (en) * 2018-09-10 2019-02-05 南京知常容信息技术有限公司 A kind of high-speed network data packet capturing shunting and caching method based on DPDK
CN110224929A (en) * 2019-04-17 2019-09-10 西安交大捷普网络科技有限公司 The data packet forwarding method of link aggregation interface based on DPDK
CN110048963A (en) * 2019-04-19 2019-07-23 杭州朗和科技有限公司 Message transmitting method, medium, device and calculating equipment in virtual network
CN110635972A (en) * 2019-10-17 2019-12-31 南京中孚信息技术有限公司 Network testing method, network testing device, network tester and computer readable storage medium
CN111143199A (en) * 2019-12-11 2020-05-12 烽火通信科技股份有限公司 Method for detecting DPDK application program memory out-of-range access in cloud platform

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)》.2017,全文. *
基于DPDK的多端口并行通信机制;姜海粟;陈庆奎;;小型微型计算机系统(第05期);全文 *
服务器中高性能网络数据包处理方法的对比研究;李霞;李虎;甘;朱颢东;;计算机应用与软件(第11期);全文 *

Also Published As

Publication number Publication date
CN112231101A (en) 2021-01-15

Similar Documents

Publication Publication Date Title
CN112231101B (en) Memory allocation method and device and readable storage medium
EP3057272B1 (en) Technologies for concurrency of cuckoo hashing flow lookup
US10659532B2 (en) Technologies for reducing latency variation of stored data object requests
US20160335177A1 (en) Cache Management Method and Apparatus
CN109828790B (en) Data processing method and system based on Shenwei heterogeneous many-core processor
CN113419824A (en) Data processing method, device, system and computer storage medium
CN111367833A (en) Data caching method and device, computer equipment and readable storage medium
CN111124270A (en) Method, apparatus and computer program product for cache management
CN111338688B (en) Data long-acting caching method and device, computer system and readable storage medium
US20200252314A1 (en) Method and apparatus for managing network connection, and storage medium
CN111371585A (en) Configuration method and device for CDN node
Kim et al. Accelerating gnn training with locality-aware partial execution
US20200371827A1 (en) Method, Apparatus, Device and Medium for Processing Data
CN110602229A (en) Terminal system version downloading method, device and system based on dynamic slicing
US10061725B2 (en) Scanning memory for de-duplication using RDMA
WO2016070720A1 (en) Method and apparatus for downloading file, computing device and non-transitory machine readable storage medium
CN117271384A (en) Storage access method, device, chip and storage medium
CN116467235B (en) DMA-based data processing method and device, electronic equipment and medium
KR101198400B1 (en) Memory management apparatus and method
US20190385078A1 (en) Data processing method, electronic device and computer readable storage medium
CN110297785A (en) A kind of finance data flow control apparatus and flow control method based on FPGA
CN112463037B (en) Metadata storage method, device, equipment and product
CN113645156A (en) Method, system, terminal and storage medium for adjusting SAI layer message queue of switch
CN107273188B (en) Virtual machine Central Processing Unit (CPU) binding method and device
CN109302353B (en) Method and device for distributing message cache space

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