WO2023045250A1 - 一种内存池资源共用的方法、装置、设备及可读介质 - Google Patents

一种内存池资源共用的方法、装置、设备及可读介质 Download PDF

Info

Publication number
WO2023045250A1
WO2023045250A1 PCT/CN2022/078325 CN2022078325W WO2023045250A1 WO 2023045250 A1 WO2023045250 A1 WO 2023045250A1 CN 2022078325 W CN2022078325 W CN 2022078325W WO 2023045250 A1 WO2023045250 A1 WO 2023045250A1
Authority
WO
WIPO (PCT)
Prior art keywords
pool
resources
sub
pools
parent
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.)
Ceased
Application number
PCT/CN2022/078325
Other languages
English (en)
French (fr)
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Publication of WO2023045250A1 publication Critical patent/WO2023045250A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool

Definitions

  • the present application relates to a method, device, equipment and readable medium for sharing memory pool resources.
  • the memory belongs to the CPU, and the CPU accesses its own memory very quickly, while the CPU accesses the memory of other CPUs much slower than its own memory.
  • the current memory technology generally adopts the following scheme: that is, each CPU has its own corresponding task pool and memory pool, and the memory pool uses the physical memory of the CPU itself.
  • An aspect of the embodiments of the present application provides a method for sharing memory pool resources, including the following steps:
  • the sub-pool with insufficient resources sends an application for resource transfer to the parent pool
  • the parent pool In response to the parent pool receiving the application, the parent pool queries each child pool for remaining resources;
  • the parent pool transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources.
  • create a globally unique parent pool and use the physical memory of each CPU to create sub-pools, and add each sub-pool to the parent pool, including:
  • the parent pool in response to finding that the number of remaining resources of other sub-pools meets the requirements in the application, transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources for use, including:
  • Sub-pools with insufficient resources use corresponding resources to process the data to be processed according to the position of the pointer.
  • the parent pool in response to finding that the number of remaining resources of other sub-pools meets the requirements in the application, transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources for use, including:
  • Sub-pools with insufficient resources process the data to be processed using corresponding resources according to the positions of the pointers.
  • the remaining resources are transferred back to other subpools.
  • the preset granularity size is 4KB.
  • the parent pool querying the remaining resources of each sub-pool includes:
  • the parent pool In response to the parent pool receiving the application, the parent pool queries each child pool for the number of unused page pools;
  • a device for sharing memory pool resources includes:
  • Create a module create a module configured to create a globally unique parent pool, use the physical memory of each CPU to create sub-pools, and add each sub-pool to the parent pool;
  • An application module configured to respond to insufficient resources of the sub-pool, and the sub-pool with insufficient resources sends an application for resource transfer to the parent pool;
  • a query module configured to query the remaining resources of each child pool in response to the parent pool receiving the application
  • a transfer module configured to respond to the query that the remaining resources of other sub-pools meet the requirements in the application, and the parent pool transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources.
  • Another aspect of the embodiments of the present application also provides a computer device, including a memory and one or more processors, where computer-readable instructions are stored in the memory, and when the computer-readable instructions are executed by the one or more processors , causing one or more processors to execute the steps of the method for sharing memory pool resources in any one of the above embodiments.
  • Another aspect of the embodiments of the present application also provides one or more non-volatile computer-readable storage media storing computer-readable instructions.
  • the computer-readable instructions are executed by one or more processors, a One or more processors execute the steps of the method for sharing memory pool resources in any one of the above embodiments.
  • FIG. 1 is a schematic flowchart of a method for sharing memory pool resources according to one or more embodiments of the present application
  • FIG. 2 is a schematic diagram of an apparatus for sharing memory pool resources according to one or more embodiments of the present application
  • FIG. 3 is a schematic diagram of a computer device according to one or more embodiments of the present application.
  • FIG. 4 is a schematic diagram of a non-transitory computer-readable storage medium according to one or more embodiments of the present application.
  • Fig. 1 shows a schematic flowchart of the method in one or more embodiments of the present application.
  • the application of the method to computer equipment is taken as an example for illustration.
  • the method may include the following steps:
  • S1 creates a globally unique parent pool, uses the physical memory of each CPU to create sub-pools, and adds each sub-pool to the parent pool.
  • Each CPU has its own physical memory, use the physical memory of each CPU to create sub-pools of their own CPUs, convert each sub-pool of physical memory into a linear logical space through the map mechanism of the linux kernel, and then convert each A linear logical space is divided according to the preset granularity to form a page pool, that is, the subpool created by each CPU is divided into several page pools of a preset size, and each page pool is assigned a page number and each page The pool sets the resource pointer, and adds the page number and resource pointer of each page pool to the parent pool.
  • the parent pool is a collection of many sub-pools.
  • the parent pool can obtain the resource information in each sub-pool, and start in each sub-pool To coordinate, the parent pool can obtain which page pool resource in which subpool is free or busy through the number of each subpool and the number and resource pointer of the page pool in each subpool. When other sub-pools have insufficient resources to process data or tasks, the parent pool can be used to query whether other sub-pools have enough resources to help the sub-pools with insufficient resources to process data.
  • An array corresponding to the subpool can be established in the parent pool, and the information of the subpool and the number and resource pointer of the page pool corresponding to the subpool can be added to the array, and the parent pool can mark various states of the subpool through the array.
  • the sub-pool with insufficient resources sends an application for resource transfer to the parent pool.
  • the sub-pool When a sub-pool performs tasks or processes data and finds that the resources in the sub-pool to which it belongs are insufficient, the sub-pool will initiate a resource transfer application to the parent pool.
  • the resource transfer here is not a real transfer, but uses other sub-pools Resources in the subpool process data in that subpool.
  • the parent pool inquires about the remaining resources of each child pool.
  • the parent pool After the parent pool receives the application from the sub-pools, the parent pool will query the number of unused page pools in each sub-pool, and calculate the remaining resources in each sub-pool according to the number of page pools and the size of each page pool. amount, and then add up all the queried page pool resources to get the total number of remaining resources in other subpools.
  • the parent pool transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources.
  • the number of resources in the application has requirements. If the total number of remaining resources in other sub-pools calculated by the parent pool is less than the number of resources required, no resource transfer will be performed. If the total number of remaining resources in other sub-pools calculated by the parent pool If the number of resources is greater than the required number, calculate whether the remaining resources in the subpool with the most remaining resources are greater than the required number of resources. If the remaining resources in the subpool with the most remaining resources are greater than the required number of resources, then the The remaining resources in a subpool are transferred to the subpool that issued the application, and the page number of the remaining page pool in the subpool with the most remaining resources and the pointer to the remaining resources are sent to the subpool that issued the application.
  • the data is processed according to the position of the pointer using the corresponding resources.
  • the page number and pointer of the transferred page pool need to be marked accordingly. After the transferred resources are used up, these resources need to be released. At the same time, in the parent pool Mark accordingly. In some embodiments, if the total number of remaining resources in other sub-pools calculated by the parent pool is greater than the required number of resources, the remaining resources in all sub-pools with remaining resources will be transferred to the applicant in proportion to the remaining resources.
  • Subpool use send the page numbers of the remaining page pools and the pointers of the remaining resources in the subpools with remaining resources to the subpools that make the application, and the subpools will use the corresponding resources according to the positions of the pointers for the data to be processed
  • the page number and pointer of the transferred page pool need to be marked accordingly in the parent pool. After the transferred resources are used up, these resources need to be released, and corresponding marks should be made in the parent pool.
  • the method for sharing memory pool resources is to create a globally unique parent pool, and use the physical memory of each CPU to create sub-pools respectively, and add each sub-pool to the parent pool; in response to the resources of the sub-pools Insufficient, the sub-pool with insufficient resources sends an application for resource transfer to the parent pool; in response to the parent pool receiving the application, the parent pool queries the remaining resources of each sub-pool; in response to the query, the remaining resources of other sub-pools meet the requirements in the application , the technical solution that the parent pool transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources can avoid resource waste when resources are used unbalanced among CPUs, improve data processing capabilities, and greatly improve the overall system performance.
  • create a globally unique parent pool and use the physical memory of each CPU to create sub-pools, and add each sub-pool to the parent pool, including:
  • Each CPU has its own physical memory, use the physical memory of each CPU to create sub-pools of their own CPUs, convert each sub-pool of physical memory into a linear logical space through the map mechanism of the linux kernel, and then convert each A linear logical space is divided according to the preset granularity to form a page pool, that is, the subpool created by each CPU is divided into several page pools of a preset size.
  • the preset granularity can be set according to requirements, preferably 4KB , and then assign a page number to each page pool and set a resource pointer for each page pool, add the page number and resource pointer of each page pool to the parent pool, the parent pool is a collection of many child pools, the parent pool can Obtain the resource information in each sub-pool and play a coordinating role in each sub-pool.
  • the parent pool can obtain which page pool in which sub-pool through the number of each sub-pool and the number and resource pointer of the page pool in each sub-pool
  • the resource is either free or busy.
  • the parent pool can be used to query whether other sub-pools have enough resources to help the sub-pools with insufficient resources to process data.
  • An array corresponding to the subpool can be established in the parent pool, and the information of the subpool and the number and resource pointer of the page pool corresponding to the subpool can be added to the array, and the parent pool can mark various states of the subpool through the array.
  • the parent pool in response to querying that the remaining resources of other sub-pools meet the requirements in the application, transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources, including:
  • Sub-pools with insufficient resources use corresponding resources to process the data to be processed according to the position of the pointer.
  • the parent pool in response to finding that the number of remaining resources of other sub-pools meets the requirements in the application, transfers the remaining resources of other sub-pools to sub-pools with insufficient resources for use, including:
  • Sub-pools with insufficient resources use corresponding resources to process the data to be processed respectively according to the position of the pointer. If the total number of remaining resources in other sub-pools calculated by the parent pool is greater than the required number of resources, the remaining resources in all sub-pools with remaining resources will be transferred to the sub-pool that issued the application in proportion to the remaining resources.
  • the remaining resources of other subpools are transferred to other subpools.
  • the preset granularity size is 4KB.
  • the parent pool querying the remaining resources of each sub-pool includes:
  • the parent pool In response to the parent pool receiving the application, the parent pool queries each child pool for the number of unused page pools;
  • steps in the flow chart of FIG. 1 are displayed sequentially as indicated by the arrows, these steps are not necessarily executed sequentially in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in Fig. 1 may include multiple sub-steps or multiple stages, these sub-steps or stages are not necessarily executed at the same time, but may be executed at different times, the execution of these sub-steps or stages The order is not necessarily performed sequentially, but may be performed alternately or alternately with at least a part of other steps or sub-steps or stages of other steps.
  • the methods disclosed according to the embodiments of the present application may also be implemented as computer-readable instructions executed by a CPU, and the computer-readable instructions may be stored in a non-volatile computer-readable storage medium.
  • the computer-readable instructions are executed by the CPU, the above-mentioned functions defined in the methods disclosed in the embodiments of the present application are executed.
  • the device 200 includes:
  • Creation module 201 the creation module 201 is configured to create a globally unique parent pool, and use the physical memory of each CPU to create sub-pools respectively, and add each sub-pool to the parent pool;
  • An application module 202 the application module 202 is configured to send an application for resource transfer to the parent pool from the sub-pool with insufficient resources in response to insufficient resources of the sub-pool;
  • a query module 203 the query module 203 is configured to, in response to the parent pool receiving the application, the parent pool querying the remaining resources of each sub-pool;
  • the transfer module 204 is configured to, in response to finding that the remaining resources of other sub-pools meet the requirements in the application, the parent pool transfers the remaining resources of other sub-pools to the sub-pools with insufficient resources.
  • the creation module 201 can be specifically configured to use the physical memory of each CPU to create subpools respectively; convert each subpool of physical memory into a linear logical space through the map mechanism of the linux kernel; Cut each linear logical space according to the preset granularity to form a page pool; and assign a page number to each page pool and set a resource pointer for each page pool; add the page number and resource pointer of each page pool to to the parent pool.
  • the transfer module 204 can be specifically configured to, in response to the parent pool querying that the subpool with the most remaining resources meets the requirements in the application, transfer the page number of the remaining page pool in the subpool with the most remaining resources to and pointers of remaining resources are sent to the sub-pools with insufficient resources; and the sub-pools with insufficient resources use corresponding resources to process the data to be processed according to the position of the pointers.
  • the transfer module 204 can be specifically configured to transfer the pages of the remaining page pools in the subpool with remaining resources to The number and pointers of remaining resources are respectively sent to the sub-pools with insufficient resources; and the sub-pools with insufficient resources use corresponding resources to process the data to be processed according to the positions of the pointers.
  • the transfer module 204 may also be configured to transfer the remaining resources back to other sub-pools in response to a sub-pool with insufficient resources successfully placing data in the remaining resources of other sub-pools. middle.
  • the query module 203 may specifically be configured to respond to the parent pool receiving an application, the parent pool querying the number of unused page pools in each child pool; resources are added.
  • Each module in the above memory pool resource sharing device can be fully or partially realized by software, hardware and a combination thereof.
  • the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, and can also be stored in the memory of the computer device in the form of software, so that the processor can invoke and execute the corresponding operations of the above-mentioned modules.
  • FIG. 3 shows a schematic diagram of one or more embodiments of a computer device provided by the present application.
  • the embodiment of the present application includes the following devices: at least one processor S21; and a memory S22, the memory S22 stores computer-readable instructions S23 that can run on the processor, and the computer-readable instructions S23 are executed by the processor Steps for implementing the method for sharing memory pool resources in any of the above embodiments.
  • FIG. 3 is only a block diagram of a part of the structure related to the solution of this application, and does not constitute a limitation on the equipment to which the solution of this application is applied.
  • the specific equipment may include More or fewer components are shown in the figures, or certain components are combined, or have different component arrangements.
  • FIG. 4 is a schematic diagram of a non-volatile computer-readable storage medium provided in one or more embodiments of the present application.
  • the non-volatile computer-readable storage medium S31 stores computer-readable instructions S32 that perform the following method when executed by a processor, and when the computer-readable instructions S32 are executed by one or more processors, a One or more processors execute the steps of the method for sharing memory pool resources in any of the above-mentioned embodiments.
  • the methods disclosed according to the embodiments of the present application may also be implemented as computer-readable instructions executed by a processor, and the computer-readable instructions may be stored in a computer-readable storage medium.
  • the computer-readable instructions are executed by the processor, the above-mentioned functions defined in the methods disclosed in the embodiments of the present application are performed.
  • the above method steps and system units may also be implemented by using a controller and a computer-readable storage medium for storing computer-readable instructions for enabling the controller to implement the functions of the above steps or units.
  • functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium.
  • Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of computer-readable instructions from one place to another. Storage media may be any available media that can be accessed by a general purpose or special purpose computer.
  • the computer readable medium may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage device, magnetic disk storage device or other magnetic storage device, or may be used to carry or store instructions in Any other medium that can be accessed by a general purpose or special purpose computer or a general purpose or special purpose processor, and the required program code or data structure. Also, any connection is properly termed a computer-readable medium.
  • Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers . Combinations of the above should also be included within the scope of computer-readable media.
  • the storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.

Landscapes

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

Abstract

本申请提供了一种内存池资源共用的方法、装置、设备及可读介质,该方法包括:创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中;响应于子池的资源不足,资源不足的子池向父池发出资源转移的申请;响应于父池接收到申请,父池查询每个子池的剩余资源;响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用。

Description

一种内存池资源共用的方法、装置、设备及可读介质
相关申请的交叉引用
本申请要求于2021年9月22日提交中国专利局,申请号为202111108280.4,申请名称为“一种内存池资源共用的方法、装置、设备及可读介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及一种内存池资源共用的方法、装置、设备及可读介质。
背景技术
在NUMA架构中,内存有CPU的归属,CPU访问自己所属的内存时速度很快,CPU访问其他CPU所属的内存时速度比访问自身的内存慢很多。基于上述CPU访问内存的速度不均衡性问题,当前的内存技术一般采用如下方案:即每个CPU各自有对应的任务池和内存池,内存池使用的是CPU自己的物理内存。
所有的任务先放入CPU对应的任务池等待执行,任务池中的任务只能使用自己的内存池,不可以使用其他的内存池。该方案充分利用了CPU访问自身内存速度快的特性,可以大幅提升性能。然而也不可避免的引入了问题。发明人意识到,CPU在物理层面上原本是可以使用所有的内存的,然而使用内存池技术隔离了CPU对内存的访问后,CPU不能再使用其他CPU所属的内存,在任务不均衡的场景下,会出现严重的资源浪费。
发明内容
本申请的实施例的一个方面提供了一种内存池资源共用的方法,包括以下步骤:
创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中;
响应于子池的资源不足,由资源不足的子池向父池发出资源转移的申请;
响应于父池接收到申请,父池查询每个子池的剩余资源;和
响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用。
根据本申请的一个或多个实施例,创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中,包括:
使用每个CPU的物理内存分别创建子池;
通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间;
将每个线性逻辑空间按照预设颗粒度大小进行切割以形成页池;
给每个页池分配页号并为每个页池设置资源指针;和
将每个页池的页号和资源指针加入到父池中。
根据本申请的一个或多个实施例,响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
响应于父池查询到剩余资源最多的子池满足申请中的要求,将剩余资源最多的子池中剩余页池的页号和剩余资源的指针发送到资源不足的子池中;和
资源不足的子池将待处理的数据按照指针的位置使用相应的资源进行处理。
根据本申请的一个或多个实施例,响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
响应于父池查询到其他子池的剩余资源总数满足申请中的要求,将具有剩余资源的子池中剩余页池的页号和剩余资源的指针分别发送到资源不足的子池中;和
资源不足的子池将待处理的数据分别按照指针的位置使用相应的资源进行处理。
根据本申请的一个或多个实施例,还包括:
响应于资源不足的子池使用其他子池的剩余资源中的数据落盘成功,将所述剩余资源转移返回其他子池中。
根据本申请的一个或多个实施例,预设颗粒度大小为4KB。
根据本申请的一个或多个实施例,响应于父池接收到申请,父池查询每个子池的剩余资源包括:
响应于父池接收到申请,父池查询每个子池中的未使用的页池数;和
将所有查询到的页池数的资源相加。
本申请的实施例的另一个方面,还提供了一种内存池资源共用的装置,装置包括:
创建模块,创建模块配置为创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中;
申请模块,申请模块配置为响应于子池的资源不足,资源不足的子池向父池发出资源转移的申请;
查询模块,查询模块配置为响应于父池接收到申请,父池查询每个子池的剩余资源; 和
转移模块,转移模块配置为响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用。
本申请的实施例的另一个方面,还提供了一种计算机设备,包括存储器及一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的内存池资源共用的方法的步骤。
本申请的实施例的另一个方面,还提供了一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的内存池资源共用的方法的步骤。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本申请一个或多个实施例的内存池资源共用的方法的示意性流程图;
图2为根据本申请一个或多个实施例的内存池资源共用的装置的示意图;
图3为根据本申请一个或多个实施例的计算机设备的示意图;
图4为根据本申请一个或多个实施例的非易失性计算机可读存储介质的示意图。
具体实施方式
为使本申请的技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。
基于上述目的,本申请的实施例的第一个方面,提出了一种内存池资源共用的方法的实施例。图1示出的是本申请一个或多个实施例的该方法的示意性流程图。以该方法应用于计算机设备为例进行说明。
如图1中所示,该方法可以包括以下步骤:
S1创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中。
每个CPU都有自己归属的物理内存,使用每个CPU所属的物理内存分别创建各自CPU的子池,通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间,然后将每个线性逻辑空间按照预设颗粒度大小进行切割以形成页池,即每个CPU创建的子池划分成若干个预设大小的页池,然后给每个页池分配页号并为每个页池设置资源指针,将每个页池的页号和资源指针加入到父池中,父池是众多子池的一个集合,父池可以获取各个子池中的资源信息,在各个子池中起到协调作用,父池可以通过每个子池的编号和每个子池中页池的编号和资源指针获取到哪个子池中哪个页池的资源是空闲的或是繁忙的。当其他子池处理数据或任务时的资源不足时,可以通过父池查询其他子池是否具有足够的资源来帮助资源不足的子池处理数据。在父池中可以建立子池对应的数组,将子池的信息和子池对应的页池的编号和资源指针添加到数组中,父池通过该数组对子池的各种状态进行标记。
S2响应于子池的资源不足,由资源不足的子池向父池发出资源转移的申请。
当子池执行任务或处理数据发现自身所属的子池中的资源不足时,该子池会向父池发起资源转移的申请,这里的资源转移并非真正意义上的转移,而是使用其他子池中的资源处理该子池中的数据。
S3响应于父池接收到申请,父池查询每个子池的剩余资源。
父池收到子池的申请后,父池会查询每个子池中的未使用的页池的数量,根据页池的数量和每个页池的大小可以计算出每个子池中剩余的资源的量,然后将所有查询到的页池数的资源相加,可以得到其他子池中剩余资源的总数。
S4响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用。
申请中具有需求的资源数,如果父池计算出的其他子池中的剩余资源的总数小于需求的资源数,则不做资源转移,如果父池计算出的其他子池中的剩余资源的总数大于需求的资源数,则计算剩余资源最多的一个子池中的剩余资源是否大于需求的资源数,如果剩余资源最多的一个子池中的剩余资源大于需求的资源数,则将剩余资源最多的一个子池中剩余资源转移给发出申请的子池使用,将剩余资源最多的子池中剩余页池的页号和剩余资源的指针发送到发出申请的子池中,该子池将待处理的数据按照指针的位置使用相应的资源进行处理,在父池中需要将转移出的页池的页号和指针做相应的标记,在转移的资源使用完后需要释放这些资源,同时在父池中做相应的标记。在一些实施例中,如果父池计算出的其他子池中的剩余资源的总数大于需求的资源数,则将所有具有剩余资源的子池中的剩余资源按照剩余资源的比例转移给发出申请的子池使用,将具有剩余 资源的子池中剩余页池的页号和剩余资源的指针分别发送到发出申请的子池中,该子池将待处理的数据分别按照指针的位置使用相应的资源进行处理,在父池中需要将转移出的页池的页号和指针做相应的标记,在转移的资源使用完后需要释放这些资源,同时在父池中做相应的标记。
通过本申请实施例的技术方案,能够避免在CPU间资源使用不均衡时的资源浪费,提升数据处理能力,大幅提升系统整体性能。
本申请实施例提供的内存池资源共用的方法,通过创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中;响应于子池的资源不足,资源不足的子池向父池发出资源转移的申请;响应于父池接收到申请,父池查询每个子池的剩余资源;响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用的技术方案,能够避免在CPU间资源使用不均衡时的资源浪费,提升数据处理能力,大幅提升系统整体性能。
在本申请的一个或多个实施例中,创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中,包括:
使用每个CPU的物理内存分别创建子池;
通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间;
将每个线性逻辑空间按照预设颗粒度大小进行切割以形成页池;和
给每个页池分配页号并为每个页池设置资源指针;
将每个页池的页号和资源指针加入到父池中。每个CPU都有自己归属的物理内存,使用每个CPU所属的物理内存分别创建各自CPU的子池,通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间,然后将每个线性逻辑空间按照预设颗粒度大小进行切割以形成页池,即每个CPU创建的子池划分成若干个预设大小的页池,预设颗粒度大小可以根据需求设定,优选为4KB,然后给每个页池分配页号并为每个页池设置资源指针,将每个页池的页号和资源指针加入到父池中,父池是众多子池的一个集合,父池可以获取各个子池中的资源信息,在各个子池中起到协调作用,父池可以通过每个子池的编号和每个子池中页池的编号和资源指针获取到哪个子池中哪个页池的资源是空闲的或是繁忙的。当其他子池处理数据或任务时的资源不足时,可以通过父池查询其他子池是否具有足够的资源来帮助资源不足的子池处理数据。在父池中可以建立子池对应的数组,将子池的信息和子池对应的页池的编号和资源指针添加到数组中,父池通过该数组对子池的各种状态进行标记。
在本申请的一个或多个实施例中,响应于查询到其他子池的剩余资源数满足申请中 的要求,父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
响应于父池查询到剩余资源最多的子池满足申请中的要求,将剩余资源最多的子池中剩余页池的页号和剩余资源的指针发送到资源不足的子池中;和
资源不足的子池将待处理的数据按照指针的位置使用相应的资源进行处理。
在本申请的一个或多个实施例中,响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
响应于父池查询到其他子池的剩余资源总数满足申请中的要求,将具有剩余资源的子池中剩余页池的页号和剩余资源的指针分别发送到资源不足的子池中;和
资源不足的子池将待处理的数据分别按照指针的位置使用相应的资源进行处理。如果父池计算出的其他子池中的剩余资源的总数大于需求的资源数,则将所有具有剩余资源的子池中的剩余资源按照剩余资源的比例转移给发出申请的子池使用。
在本申请的一个或多个实施例中,还包括:
响应于资源不足的子池使用其他子池的剩余资源中的数据落盘成功,将其他子池的剩余资源转移到其他子池中。
在本申请的一个或多个实施例中,预设颗粒度大小为4KB。
在本申请的一个或多个实施例中,响应于父池接收到申请,父池查询每个子池的剩余资源包括:
响应于父池接收到申请,父池查询每个子池中的未使用的页池数;和
将所有查询到的页池数的资源相加。
通过本申请实施例的技术方案,能够避免在CPU间资源使用不均衡时的资源浪费,提升数据处理能力,大幅提升系统整体性能。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机可读指令来指令相关硬件来完成,上述的指令可存储于计算机可读取存储介质中,该指令在执行时,可包括如上述各方法的实施例的流程。其中存储介 质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,RAM)等。上述计算机可读指令的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本申请实施例公开的方法还可以被实现为由CPU执行的计算机可读指令,该计算机可读指令可以存储在非易失性计算机可读存储介质中。在该计算机可读指令被CPU执行时,执行本申请实施例公开的方法中限定的上述功能。
本申请的实施例的第二个方面,提出了一种内存池资源共用的装置,如图2所示,装置200包括:
创建模块201,创建模块201配置为创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到父池中;
申请模块202,申请模块202配置为响应于子池的资源不足,由资源不足的子池向父池发出资源转移的申请;
查询模块203,查询模块203配置为响应于父池接收到申请,父池查询每个子池的剩余资源;和
转移模块204,转移模块204配置为响应于查询到其他子池的剩余资源数满足申请中的要求,父池将其他子池的剩余资源转移给资源不足的子池使用。
根据本申请的一个或多个实施例,创建模块201具体可以配置为使用每个CPU的物理内存分别创建子池;通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间;将每个线性逻辑空间按照预设颗粒度大小进行切割以形成页池;和给每个页池分配页号并为每个页池设置资源指针;将每个页池的页号和资源指针加入到父池中。
根据本申请的一个或多个实施例,转移模块204具体可以配置为响应于父池查询到剩余资源最多的子池满足申请中的要求,将剩余资源最多的子池中剩余页池的页号和剩余资源的指针发送到资源不足的子池中;和资源不足的子池将待处理的数据按照指针的位置使用相应的资源进行处理。
根据本申请的一个或多个实施例,转移模块204具体可以配置为响应于父池查询到其他子池的剩余资源总数满足申请中的要求,将具有剩余资源的子池中剩余页池的页号和剩余资源的指针分别发送到资源不足的子池中;和资源不足的子池将待处理的数据分别按照指针的位置使用相应的资源进行处理。
根据本申请的一个或多个实施例,转移模块204还可以被配置为响应于资源不足的子池使用其他子池的剩余资源中的数据落盘成功,将所述剩余资源转移返回其他子池中。
根据本申请的一个或多个实施例,查询模块203具体可以配置为响应于父池接收到 申请,父池查询每个子池中的未使用的页池数;和将所有查询到的页池数的资源相加。
关于内存池资源共用装置的具体限定可以参见上文中对于内存池资源共用方法的限定,在此不再赘述。上述内存池资源共用装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例的第三个方面,提出了一种计算机设备。图3示出的是本申请提供的计算机设备的一个或多个实施例的示意图。如图3所示,本申请实施例包括如下装置:至少一个处理器S21;以及存储器S22,存储器S22存储有可在处理器上运行的计算机可读指令S23,计算机可读指令S23由处理器执行时实现上述任一实施例的内存池资源共用的方法的步骤。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例的第四个方面,提出了一个或多个存储有计算机可读指令的非易失性计算机可读存储介质。图4示出的是本申请一个或多个实施例中提供的非易失性计算机可读存储介质的示意图。如图4所示,非易失性计算机可读存储介质S31存储有被处理器执行时执行如下方法的计算机可读指令S32,计算机可读指令S32被一个或多个处理器执行时,使得一个或多个处理器执行上述的任一实施例的内存池资源共用的方法的步骤。
此外,根据本申请实施例公开的方法还可以被实现为由处理器执行的计算机可读指令,该计算机可读指令可以存储在计算机可读存储介质中。在该计算机可读指令被处理器执行时,执行本申请实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机可读指令的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本申请实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。 如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机可读指令从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应 包含在本申请实施例的保护范围之内。

Claims (10)

  1. 一种内存池资源共用的方法,其特征在于,包括以下步骤:
    创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到所述父池中;
    响应于子池的资源不足,由资源不足的子池向所述父池发出资源转移的申请;
    响应于所述父池接收到所述申请,所述父池查询每个子池的剩余资源;和
    响应于查询到其他子池的剩余资源数满足所述申请中的要求,所述父池将其他子池的剩余资源转移给资源不足的子池使用。
  2. 根据权利要求1所述的方法,其特征在于,所述创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到所述父池中,包括:
    使用每个CPU的物理内存分别创建子池;
    通过linux内核的map机制将每个物理内存的子池转换为线性逻辑空间;
    将每个所述线性逻辑空间按照预设颗粒度大小进行切割以形成页池;
    给每个页池分配页号并为每个页池设置资源指针;和
    将每个页池的页号和资源指针加入到所述父池中。
  3. 根据权利要求2所述的方法,其特征在于,所述响应于查询到其他子池的剩余资源数满足所述申请中的要求,所述父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
    响应于所述父池查询到剩余资源最多的子池满足所述申请中的要求,将剩余资源最多的子池中剩余页池的页号和剩余资源的指针发送到所述资源不足的子池中;和
    所述资源不足的子池将待处理的数据按照指针的位置使用相应的资源进行处理。
  4. 根据权利要求2所述的方法,其特征在于,所述响应于查询到其他子池的剩余资源数满足所述申请中的要求,所述父池将其他子池的剩余资源转移给资源不足的子池使用,包括:
    响应于所述父池查询到其他子池的剩余资源总数满足所述申请中的要求,将具有剩余资源的子池中剩余页池的页号和剩余资源的指针分别发送到所述资源不足的子池中;和
    所述资源不足的子池将待处理的数据分别按照指针的位置使用相应的资源进行处理。
  5. 根据权利要求1所述的方法,其特征在于,还包括:
    响应于资源不足的子池使用其他子池的剩余资源中的数据落盘成功,将所述剩余资 源转移返回其他子池中。
  6. 根据权利要求2所述的方法,其特征在于,所述预设颗粒度大小为4KB。
  7. 根据权利要求2所述的方法,其特征在于,所述响应于所述父池接收到所述申请,所述父池查询每个子池的剩余资源,包括:
    响应于所述父池接收到所述申请,所述父池查询每个子池中的未使用的页池数;和
    将所有查询到的页池数的资源相加。
  8. 一种内存池资源共用的装置,包括:
    创建模块,所述创建模块配置为创建全局唯一父池,并使用每个CPU的物理内存分别创建子池,并将每个子池加入到所述父池中;
    申请模块,所述申请模块配置为响应于子池的资源不足,资源不足的子池向所述父池发出资源转移的申请;
    查询模块,所述查询模块配置为响应于所述父池接收到所述申请,所述父池查询每个子池的剩余资源;和
    转移模块,所述转移模块配置为响应于查询到其他子池的剩余资源数满足所述申请中的要求,所述父池将其他子池的剩余资源转移给资源不足的子池使用。
  9. 一种计算机设备,其特征在于,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7任意一项所述的方法的步骤。
  10. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7任意一项所述的方法的步骤。
PCT/CN2022/078325 2021-09-22 2022-02-28 一种内存池资源共用的方法、装置、设备及可读介质 Ceased WO2023045250A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111108280.4 2021-09-22
CN202111108280.4A CN113553195A (zh) 2021-09-22 2021-09-22 一种内存池资源共用的方法、装置、设备及可读介质

Publications (1)

Publication Number Publication Date
WO2023045250A1 true WO2023045250A1 (zh) 2023-03-30

Family

ID=78134571

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/078325 Ceased WO2023045250A1 (zh) 2021-09-22 2022-02-28 一种内存池资源共用的方法、装置、设备及可读介质

Country Status (2)

Country Link
CN (1) CN113553195A (zh)
WO (1) WO2023045250A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553195A (zh) * 2021-09-22 2021-10-26 苏州浪潮智能科技有限公司 一种内存池资源共用的方法、装置、设备及可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173880A1 (en) * 2011-12-28 2013-07-04 International Business Machines Corporation Dedicated large page memory pools
CN110780994A (zh) * 2019-09-25 2020-02-11 苏州浪潮智能科技有限公司 一种调控内存的方法、设备及介质
CN111858034A (zh) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 一种资源的管理方法、系统、设备以及介质
CN112181637A (zh) * 2020-09-10 2021-01-05 苏州浪潮智能科技有限公司 一种内存资源分配方法及装置
CN113553195A (zh) * 2021-09-22 2021-10-26 苏州浪潮智能科技有限公司 一种内存池资源共用的方法、装置、设备及可读介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823709B (zh) * 2014-02-28 2017-06-20 华为技术有限公司 虚拟化集群系统、资源分配方法和管理节点
JP6350162B2 (ja) * 2014-09-18 2018-07-04 富士通株式会社 制御装置
US10298512B2 (en) * 2015-06-26 2019-05-21 Vmware, Inc. System and method for performing resource allocation for a host computer cluster
CN110162395B (zh) * 2018-02-12 2021-07-20 杭州宏杉科技股份有限公司 一种内存分配的方法及装置
CN108519917B (zh) * 2018-02-24 2023-04-07 国家计算机网络与信息安全管理中心 一种资源池分配方法和装置
CN112269659A (zh) * 2020-10-23 2021-01-26 苏州浪潮智能科技有限公司 一种资源管理方法、系统及电子设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173880A1 (en) * 2011-12-28 2013-07-04 International Business Machines Corporation Dedicated large page memory pools
CN110780994A (zh) * 2019-09-25 2020-02-11 苏州浪潮智能科技有限公司 一种调控内存的方法、设备及介质
CN111858034A (zh) * 2020-06-29 2020-10-30 苏州浪潮智能科技有限公司 一种资源的管理方法、系统、设备以及介质
CN112181637A (zh) * 2020-09-10 2021-01-05 苏州浪潮智能科技有限公司 一种内存资源分配方法及装置
CN113553195A (zh) * 2021-09-22 2021-10-26 苏州浪潮智能科技有限公司 一种内存池资源共用的方法、装置、设备及可读介质

Also Published As

Publication number Publication date
CN113553195A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
TWI229806B (en) Method and system for data flow control of execution nodes of an adaptive computing engine (ACE)
CN113918101B (zh) 一种写数据高速缓存的方法、系统、设备和存储介质
US8667227B2 (en) Domain based cache coherence protocol
CN111858509B (zh) 一种基于容器的分布式计算方法和装置
US20140223104A1 (en) Virtual cache directory in multi-processor architectures
CN106055274A (zh) 一种数据存储方法、数据读取方法及电子设备
KR102646619B1 (ko) 컴포지트 메모리 장치를 포함하는 전자 장치에 파일 시스템을 제공하는 시스템 및 방법
CN113569508B (zh) 基于id进行数据索引与访问的数据库模型构建方法及设备
CN106843758A (zh) 一种移动设备内存管理方法及装置
US9772950B2 (en) Multi-granular cache coherence
CN105302536A (zh) MapReduce应用的相关参数的配置方法和装置
CN110162395B (zh) 一种内存分配的方法及装置
CN102279729B (zh) 动态可重构阵列调用配置信息的方法、缓存器和处理器
WO2014190700A1 (zh) 一种内存访问的方法、缓冲调度器和内存模块
CN110837499A (zh) 数据访问处理方法、装置、电子设备和存储介质
CN111984204B (zh) 一种数据读写方法、装置及电子设备和存储介质
CN114860166A (zh) 一种卷的本地化方法、装置以及介质
WO2023045250A1 (zh) 一种内存池资源共用的方法、装置、设备及可读介质
CN117348805A (zh) 一种硬盘管理方法、装置、设备及机器可读存储介质
CN113190528B (zh) 一种并行分布式大数据架构构建方法及系统
CN119200968B (zh) 共享内存数据调用方法、装置、设备及可读存储介质
CN103403698A (zh) 分布式计算方法和分布式计算系统
CN105426125A (zh) 一种数据存储方法及装置
WO2024120014A1 (zh) 内存访问控制方法、装置、计算设备和计算设备集群
CN116521069A (zh) 一种实现spdk架构的存储全拷贝的方法、装置、设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22871316

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22871316

Country of ref document: EP

Kind code of ref document: A1