CN105701019A - 一种内存管理方法以及装置 - Google Patents
一种内存管理方法以及装置 Download PDFInfo
- Publication number
- CN105701019A CN105701019A CN201410686872.8A CN201410686872A CN105701019A CN 105701019 A CN105701019 A CN 105701019A CN 201410686872 A CN201410686872 A CN 201410686872A CN 105701019 A CN105701019 A CN 105701019A
- Authority
- CN
- China
- Prior art keywords
- memory
- cpu
- memory headroom
- headroom value
- groove position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种内存管理方法,包括:将至少一个内存进行池化,形成内存池;从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;获取所述CPU工作时消耗的内存空间值;判断所述内存空间值是否超出预设的阈值区间;若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。本发明提供的内存管理方法,实现了内存和CPU之间的解耦,能够分别对内存和CPU进行动态扩展,减少了资源的浪费;并对CPU工作时消耗的内存空间值进行动态调整,使内存得到合理的利用。
Description
技术领域
本申请涉及内存管理技术领域,具体涉及一种内存管理方法。本申请同时涉及一种内存管理装置。
背景技术
中央处理器CPU和内存作为目前计算机设备中最重要的配置,对计算机设备的性能有至关重要的作用,随着业务***的发展,对CPU以及内存的需求也越来越高,CPU的处理能力不断提高,内存的容量也越来越大,随之而来的内存管理策略也越来越复杂,尤其表现在服务器***中。一般而言,单台服务器中的内存与CPU的配比是固定的,当需要增加CPU或者增加内存时,必须以增加一台或者多台服务器的方式同时增加CPU和内存,造成了CPU或者内存的利用率下降,同时也造成了资源浪费。
当前,针对上述导致CPU或者内存的利用率下降以及资源浪费的问题,提出了基于软件层面的解决办法,在软件中基于协议封装的形式来管理和调度服务器***中的内存。
上述现有技术提供的内存管理方法存在明显的缺陷。
现有技术提供的内存管理方法,内存无法动态扩展;此外,在软件中基于协议封装的解决方案,服务器***中的CPU在处理协议时消耗的内存空间比较大,并且存在一定的延时,降低了服务器***的处理效率。
发明内容
本申请提供一种内存管理方法,以解决现有的内存管理方法存在的扩展性不足和处理效率低下的问题。本申请同时涉及一种内存管理装置。
本申请提供一种内存管理方法,其特征在于,包括:
将至少一个内存进行池化,形成内存池;
从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;
获取所述CPU工作时消耗的内存空间值;
判断所述内存空间值是否超出预设的阈值区间;
若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
可选的,所述从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放之后,包括:
返回获取所述CPU工作时消耗的内存空间值步骤。
可选的,所述判断所述内存空间值是否超出预设的阈值区间;
若否,则返回获取所述CPU工作时消耗的内存空间值步骤。
可选的,所述从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存,包括:
选择与所述CPU的数量相等的内存控制器;
将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
可选的,所述获取所述CPU工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内存空间值;
相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:
判断所述CPU中每一个CPU工作时消耗的内存空间值是否超出预设的第一阈值;
若超出,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU;
若不超出,判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值;
若低于,将分配给该CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给该CPU的内存空间为所述固定内存;
若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。
可选的,所述从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU,包括:
判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若不存,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
可选的,所述获取所述CPU工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内存空间值;
对所有获取的每一个CPU工作时消耗的内存空间值进行求和,获得所述CPU工作时消耗的总的内存空间值;
相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:
判断所述CPU工作时消耗的总的内存空间值是否超出预设的第一阈值;
若超出,从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU;
若不超出,判断所述CPU工作时消耗的总的内存空间值是否低于预设的第二阈值;
若低于,将分配给所述CPU中每一个CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给所述CPU中每一个CPU的内存空间都为所述固定内存;
若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。
可选的,所述从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU,包括:
依次判断所述共享内存池中是否存在与所述CPU中每一个CPU的固定内存对应的DIMM槽位处于同一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若不存在,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
可选的,所述内存管理方法,包括:
将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。
本申请还提供一种内存管理装置,包括:
内存池化单元,用于将至少一个内存进行池化,形成内存池;
内存划分单元,用于从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;
内存空间值获取单元,用于获取所述CPU工作时消耗的内存空间值;
内存空间值判断单元,用于判断所述内存空间值是否超出预设的阈值区间;
若是,则进入内存管理单元;
所述内存管理单元,用于从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
可选的,所述内存划分单元,包括:
内存控制器选择子单元,用于选择与所述CPU的数量相等的内存控制器;
固定内存分配子单元,用于将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
可选的,所述内存管理装置,包括:
CPU池化单元,用于将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。
与现有技术相比,本申请具有以下优点:
本申请提供的内存管理方法,包括:将至少一个内存进行池化,形成内存池;从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;获取所述CPU工作时消耗的内存空间值;判断所述内存空间值是否超出预设的阈值区间;若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
本申请提供的内存管理方法,将内存和CPU分别进行池化,实现了内存和CPU之间的解耦,能够分别针对内存和CPU进行动态扩展,减少了内存资源和CPU资源的浪费;此外,本申请提供的内存管理方法,对CPU工作时消耗的内存空间值进行检测,并进行动态调整,及时向CPU分配内存空间,或者释放CPU的内存空间,使内存得到合理的利用。
附图说明
图1是本申请实施例提供的一种内存管理方法处理流程图;
图2是本申请实施例提供的一种内存管理装置示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种内存管理方法,本申请另外提供一种内存管理装置。
所述内存管理方法实施例如下:
本实施例以服务器***中的内存管理方法为例,对所述内存管理方法进行说明。
除此之外,还可以基于其他的***平台进行说明,在此不作限定。
参照图1,其示出了本实施例提供的一种内存管理方法处理流程图。
以下结合图1对本实施例提供的一种内存管理方法进行说明,并且对该方法的各个步骤进行说明;此外,本实施例提供的一种内存管理方法的具体步骤之间的顺序关系请根据图1确定。
步骤S101,将至少一个内存进行池化,形成内存池。
所述内存是指服务器***中每一个服务器配置的内存控制器管理的内存。
所述池化是指将所述服务器***中每一个服务器配置的内存控制器管理的内存作为一个内存节点,并且通过逻辑芯片或者逻辑器件将所述服务器***中的所有内存节点进行互联,形成一个以内存节点为单位的内存池。
本实施例中,所述将至少一个内存进行池化,形成内存池步骤之后,还包括:
将服务器***中每一个服务器配置的CPU作为一个CPU节点,并且通过逻辑芯片或者逻辑器件将所述服务器***中的所有CPU节点进行互联,形成一个以CPU节点为单位的CPU池。
上述将所述服务器***中的内存的池化,以及所述CPU的池化,实现了所述服务器***中的内存和CPU在物理上的解耦;据此,可以针对所述服务器***中的内存和CPU进行自由的配置,可单独增加或者减少所述服务器***中内存的数量,还可以单独增加或者减少所述服务器***中CPU的数量,避免了内存资源和CPU资源的浪费。
需要说明的是,上述针对所述服务器***中所有内存和CPU的池化,还可以通过本实施例之外的其他方法实现,在此不作限定。
步骤S102,从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池。
假设所述服务器***中CPU的数量为n,内存控制器的数量为m(此处,n<m)。
本步骤中,从所述内存池中划分出至少一个特定容量的内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存,步骤如下:
1)选择与所述CPU的数量相等的内存控制器;
从上述的m个内存控制器下选出任意n个内存控制器,作为与所述n个CPU建立一一对应关系的内存控制器。
需要说明的是,本实施例中,所述CPU与所述内存控制器之间是一一对应关系,除此之外,还可以建立所述CPU与所述内存控制器之间的一对多或者多对一的对应关系,在此不作限定。
2)将所述n个CPU的QPI端口地址与所述n个内存控制器的端口地址一一对应;并将所述n个内存控制器中每个内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间,分配给与该内存控制器建立一一对应关系的CPU,作为该CPU的固定内存;并重复上述固定内存的分配过程,直至所述n个CPU中的所有CPU分配到所述固定内存。
QPI(QuickPathInterconnect,快速通道互联),是一种基于包传输的串行式高速点对点连接协议,CPU基于QPI来访问数据。
内存控制器,用于控制内存,并且用于管理内存与CPU之间的数据交换。每个内存控制器可支持2-4个DDR(DoubleDataRate双倍速率同步动态随机存储器)Channel(通道),每个通道支持1-3个DIMM槽位,可用于安插1-3个内存条,该内存条的存储空间为所述DIMM槽位对应内存空间。
本实施例中,将每个内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间,分配给与该内存控制器建立一一对应关系的CPU,作为该CPU的固定内存。
例:将每个内存控制器下2个通道中总共4个DIMM槽位对应的内存空间,分配给与该内存控制器建立一一对应关系的CPU,作为该CPU的固定内存,如下表:
将每个内存控制器下第一个通道(01通道)中的3个DIMM槽位(DIMM1、DIMM2、DIMM3)对应内存空间,以及第二个通道(02通道)中的一个DIMM槽位(DIMM1)对应的内存空间,分别分配给所述n个CPU中的每个CPU,作为所述n个CPU中的每个CPU的固定内存;
并将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池,下表中阴影部分包含的每个内存控制器的02通道中DIMM2、DIMM3,以及03和04通道中DIMM1、DIMM2、DIMM3对应的内存空间,作为所述共享内存池;
本实施中,所述内存条存储空间的地址为固定地址,即:所述DIMM槽位对应的内存空间的地址为固定地址。
除此之外,所述DIMM槽位对应的内存空间的地址还可以通过其他方式实现,比如由所述服务器***实时分配地址,在此不作限定。
步骤S103,获取所述CPU工作时消耗的内存空间值。
本实施例中,获取所述n个CPU中的每个CPU工作时消耗的内存空间值。
需要说明的是,本实施例中,通过所述服务器***中运行操作***来获取所述n个CPU中的每个CPU工作时消耗的内存空间值。其中,所述n个CPU中的每个CPU工作时消耗的内存空间值,包括:运行所述操作***消耗的内存空间值,以及运行应用程序消耗的内存空间值。
除此之外,获取所述n个CPU中的每个CPU工作时消耗的内存空间值还可以通过其他方式获取,在此不作限定。
本实施例中,获取所述n个CPU中的每个CPU工作时消耗的内存空间值,以所述n个CPU中的每一个CPU为判断单位,判断所述该CPU工作时消耗的内存空间值是否超出该CPU预设的阈值区间,并根据判断的结果,从所述共享内存池中申请内存空间,分配给该CPU,或者将分配给该CPU的内存空间进行释放。
除此之外,还可通过其他方法实现,例如:根据本步骤获取的所述n个CPU中的每个CPU工作时消耗的内存空间值,对所述n个CPU中至少一个CPU工作时消耗的内存空间值进行求和,获得所述至少一个CPU工作时消耗的总的内存空间值;并判断所述至少一个CPU工作时消耗的总的内存空间值是否超出预设的阈值区间,根据判断的结果,从所述共享内存池中申请内存空间,分配给所述至少一个CPU中的每一个CPU,或者将分配给所述至少一个CPU中的每一个CPU的内存空间进行释放,在此不作限定。
步骤S104,判断所述内存空间值是否超出预设的阈值区间。
本步骤中,根据上述步骤S103获取的所述n个CPU中的每个CPU工作时消耗的内存空间值,以所述n个CPU中的每一个CPU为判断单位,判断该CPU工作时消耗的内存空间值是否超出该CPU预设的阈值区间。
下述以所述n个CPU中的任意一个CPU为例,说明判断该CPU工作时消耗的内存空间值是否超出该CPU预设的阈值区间的过程。
具体步骤如下:
1)判断该CPU工作时消耗的内存空间值是否超出预设的第一阈值;
若是,则进入下述步骤S105,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU;
若否,则进入下一步的判断,判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值。
2)判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值;
若是,则进入下述步骤S105,将分配给该CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给该CPU的内存空间为所述固定内存;
若否,则返回上述步骤S103,获取所述n个CPU中的每个CPU工作时消耗的内存空间值。
除此之外,上述判断步骤还可以采用其他方法实现,比如:依次判断所述n个CPU中的每一个CPU工作时消耗的内存空间值是否超出预设的第一阈值,和/或循环判断所述n个CPU中的每一个CPU工作时消耗的内存空间值是否低于预设的第二阈值,重复该判断步骤n次,直至所述n个CPU中的所有CPU都完成判断,在此不作限定。
此外,对应上述步骤S103中所述的实现方法:根据本步骤获取的所述n个CPU中的每个CPU工作时消耗的内存空间值,对所述n个CPU中至少一个CPU工作时消耗的内存空间值进行求和,获得所述至少一个CPU工作时消耗的总的内存空间值;并判断所述至少一个CPU工作时消耗的总的内存空间值是否超出预设的阈值区间,根据判断的结果,从所述共享内存池中申请内存空间,分配给所述至少一个CPU中的每一个CPU,或者将分配给所述至少一个CPU中的每一个CPU的内存空间进行释放。
其中,判断所述至少一个CPU工作时消耗的总的内存空间值是否超出预设的阈值区间步骤,可通过下述方法实现:
1)判断所述n个CPU中至少一个CPU工作时消耗的总的内存空间值是否超出预设的第一阈值;
若是,从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述至少一个CPU中每一个CPU;
若否,则进入下一步的判断,判断所述至少一个CPU工作时消耗的总的内存空间值是否低于预设的第二阈值。
2)判断所述至少一个CPU工作时消耗的总的内存空间值是否低于预设的第二阈值;
若是,则将分配给所述至少一个CPU中每一个CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给所述至少一个CPU中每一个CPU的内存空间都为所述固定内存;
若否,则返回上述步骤S103,获取所述n个CPU中的每个CPU工作时消耗的内存空间值。
步骤S105,从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
本步骤得以实施的前提是上述步骤S104中,判断所述CPU工作时消耗的内存空间值是否超出预设的第一阈值的判断结果为是,或者判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值的判断结果为是。
若上述步骤S104判断该CPU工作时消耗的内存空间值是否超出预设的第一阈值的判断结果为是,本步骤中,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU;
或者
若上述步骤S104判断判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值的判断结果为是,本步骤中,分配给该CPU的内存空间进行释放,直至分配给该CPU的内存空间为所述固定内存。
需要说明的是,本实施例中,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU时,优先将与该CPU的固定内存处于同一内存控制器或者同一通道的DIMM槽位对应的内存空间,分配给该CPU。
具体步骤如下:
1)判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下同一个通道的DIMM槽位;
若是,将所述共享内存池中与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下同一个通道的DIMM槽位对应的内存空间,按照该CPU工作时消耗的内存空间值的特定比例,分配给该CPU;
例如:将所述共享内存池中,与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下同一个通道的DIMM槽位对应的内存空间,按照该CPU工作时消耗的内存空间值的20%从该DIMM槽位对应的内存空间中申请内存空间,分配给该CPU。
若否,则进入下一步的判断,判断所述共享内存池中是否存在与CPU工作时消耗的内存空间对应的DIMM槽位处于同一内存控制器的DIMM槽位。
2)判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若是,则将所述共享内存池中与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下的DIMM槽位对应的内存空间,按照该CPU工作时消耗的内存空间值的特定比例,分配给该CPU;
例如:将所述共享内存池中,与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下的DIMM槽位对应的内存空间,按照该CPU工作时消耗的内存空间值的20%从该DIMM槽位对应的内存空间中申请内存空间,分配给该CPU。
若否,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
例如:在所述共享内存池中,按照该CPU工作时消耗的内存空间值的20%申请内存空间,分配给该CPU。
除此之外,还可以通过本实施例之外的其他方法,实现上述在所述共享内存池中申请内存空间,分配给该CPU的步骤,在此不作限定。
与上述相类似的,本实施例中,将分配给该CPU的内存空间按照该CPU工作时消耗的内存空间值的特定比例进行释放步骤,也可以采用与上述相类似的实现方法来实现。
例如:优先将该CPU工作时消耗的内存空间中,与该CPU的固定内存对应的DIMM槽位处于同一内存控制器下的DIMM槽位对应的内存空间,按照20%的比例进行释放。
除此之外,所述将分配给所述CPU的内存空间进行释放步骤,还可以通过其他方法实现,在此不作限定。
需要说明的是,上述步骤S103、S104,以及步骤S105构成一个循环判断过程,步骤S103获取所述n个CPU中的每个CPU工作时消耗的内存空间值;步骤S104判断所述n个CPU中的每个CPU工作时消耗的内存空间值是否超出预设的阈值区间;步骤S105根据步骤S104的判断结果,从所述共享内存池中申请内存空间,分配给该CPU,或者将分配给该CPU的内存空间进行释放。
上述步骤S103、S104以及步骤S105构成的循环判断过程,实现了对所述CPU工作时消耗的内存空间值的实时检测,并根据检测的结果向所述CPU分配内存空间,或者释放所述CPU的内存空间,使内存得到合理的利用,提高了所述服务器***的性能。
此外,对应上述步骤S103和步骤S104中所述的实现方法:根据本步骤获取的所述n个CPU中的每个CPU工作时消耗的内存空间值,对所述n个CPU中至少一个CPU工作时消耗的内存空间值进行求和,获得所述至少一个CPU工作时消耗的总的内存空间值;并判断所述至少一个CPU工作时消耗的总的内存空间值是否超出预设的阈值区间,根据判断的结果,从所述共享内存池中申请内存空间,分配给所述至少一个CPU中的每一个CPU,或者将分配给所述至少一个CPU中的每一个CPU的内存空间进行释放。
其中,从所述共享内存池中申请内存空间,分配给所述至少一个CPU中的每一个CPU步骤,也可以采用与上述相类似方法实现,例如:
1)依次判断所述共享内存池中是否存在与所述至少一个CPU中每一个CPU的固定内存对应的DIMM槽位处于同一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,则进入下一步判断,判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位。
2)判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若是,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
重复上述1)和2)的判断过程,直至所述至少一个CPU中的所有CPU都完成所述内存分配过程。
除此之外,还可以通过其他方法实现,在此不作限定。
所述内存管理装置实施例如下:
在上述的实施例中,提供了一种内存管理方法,与之相对应的,本申请还提供了一种内存管理装置。
参照图2,其示出了根据本实施例提供的一种内存管理装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请所述的一种内存管理装置,包括:
内存池化单元201,用于将至少一个内存进行池化,形成内存池;
内存划分单元202,用于从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;
内存空间值获取单元203,用于获取所述CPU工作时消耗的内存空间值;
内存空间值判断单元204,用于判断所述内存空间值是否超出预设的阈值区间;
若是,则进入内存管理单元205;
所述内存管理单元205,用于从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
可选的,所述内存划分单元202,包括:
内存控制器选择子单元,用于选择与所述CPU的数量相等的内存控制器;
固定内存分配子单元,用于将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
可选的,所述内存管理装置,包括:
CPU池化单元,用于将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (12)
1.一种内存管理方法,其特征在于,包括:
将至少一个内存进行池化,形成内存池;
从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;
获取所述CPU工作时消耗的内存空间值;
判断所述内存空间值是否超出预设的阈值区间;
若是,则从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
2.根据权利要求1所述的内存管理方法,其特征在于,所述从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放之后,包括:
返回获取所述CPU工作时消耗的内存空间值步骤。
3.根据权利要求1所述的内存管理方法,其特征在于,所述判断所述内存空间值是否超出预设的阈值区间;
若否,则返回获取所述CPU工作时消耗的内存空间值步骤。
4.根据权利要求1所述的内存管理方法,其特征在于,所述从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存,包括:
选择与所述CPU的数量相等的内存控制器;
将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
5.根据权利要求4所述的内存管理方法,其特征在于,所述获取所述CPU工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内存空间值;
相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:
判断所述CPU中每一个CPU工作时消耗的内存空间值是否超出预设的第一阈值;
若超出,从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU;
若不超出,判断该CPU工作时消耗的内存空间值是否低于预设的第二阈值;
若低于,将分配给该CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给该CPU的内存空间为所述固定内存;
若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。
6.根据权利要求5所述的内存管理方法,其特征在于,所述从所述共享内存池中按照所述内存空间值的特定比例申请内存空间,分配给该CPU,包括:
判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,判断所述共享内存池中是否存在与所述固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若不存,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
7.根据权利要求4所述的内存管理方法,其特征在于,所述获取所述CPU工作时消耗的内存空间值,包括:
获取所述CPU中每一个CPU工作时消耗的内存空间值;
对所有获取的每一个CPU工作时消耗的内存空间值进行求和,获得所述CPU工作时消耗的总的内存空间值;
相应的,所述判断所述内存空间值是否超出预设的阈值区间步骤,包括:
判断所述CPU工作时消耗的总的内存空间值是否超出预设的第一阈值;
若超出,从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU;
若不超出,判断所述CPU工作时消耗的总的内存空间值是否低于预设的第二阈值;
若低于,将分配给所述CPU中每一个CPU的内存空间按照所述内存空间值的特定比例进行释放,直至分配给所述CPU中每一个CPU的内存空间都为所述固定内存;
若不低于,则返回获取所述CPU中每一个CPU工作时消耗的内存空间值步骤。
8.根据权利要求7所述的内存管理方法,其特征在于,所述从所述共享内存池中按照所述内存空间值的特定比例申请至少一个内存空间,一一对应分配给所述CPU中每一个CPU,包括:
依次判断所述共享内存池中是否存在与所述CPU中每一个CPU的固定内存对应的DIMM槽位处于同一通道的DIMM槽位;
若是,将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若否,判断所述共享内存池中是否存在与该CPU的固定内存对应的DIMM槽位处于同一内存控制器的DIMM槽位;
若存在,则将所述DIMM槽位对应的内存空间按照所述内存空间值的特定比例,分配给该CPU;
若不存在,则将所述共享内存池中的内存空间按照所述内存空间值的特定比例,分配给该CPU。
9.根据权利要求1所述的内存管理方法,其特征在于,包括:
将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。
10.一种内存管理装置,其特征在于,包括:
内存池化单元,用于将至少一个内存进行池化,形成内存池;
内存划分单元,用于从所述内存池中划分出至少一个内存空间,一一对应分配给每一个CPU,作为所述CPU的固定内存;将所述内存池中除所述固定内存之外剩余的内存空间作为共享内存池;
内存空间值获取单元,用于获取所述CPU工作时消耗的内存空间值;
内存空间值判断单元,用于判断所述内存空间值是否超出预设的阈值区间;
若是,则进入内存管理单元;
所述内存管理单元,用于从所述共享内存池中申请内存空间,分配给所述CPU,或者将分配给所述CPU的内存空间进行释放。
11.根据权利要求10所述的内存管理装置,其特征在于,所述内存划分单元,包括:
内存控制器选择子单元,用于选择与所述CPU的数量相等的内存控制器;
固定内存分配子单元,用于将所述CPU的QPI端口地址与所述内存控制器的端口地址一一对应,并将所述内存控制器下至少一个通道中的至少一个DIMM槽位对应的内存空间分配给所述CPU,作为所述CPU的固定内存;
其中,所述DIMM槽位对应的内存空间的地址为固定地址。
12.根据权利要求1所述的内存管理装置,其特征在于,包括:
CPU池化单元,用于将所述CPU中的每一个CPU作为一个CPU节点,并将所有的CPU节点之间相互连接,形成CPU池。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686872.8A CN105701019A (zh) | 2014-11-25 | 2014-11-25 | 一种内存管理方法以及装置 |
TW104114417A TWI728949B (zh) | 2014-11-25 | 2015-05-06 | 記憶體管理方法以及裝置 |
KR1020177015701A KR102589155B1 (ko) | 2014-11-25 | 2015-11-25 | 메모리 관리 방법 및 장치 |
JP2017528193A JP2017535888A (ja) | 2014-11-25 | 2015-11-25 | メモリ管理方法及び装置 |
US14/952,847 US9715443B2 (en) | 2014-11-25 | 2015-11-25 | Method and apparatus for memory management |
EP15863093.9A EP3224726B1 (en) | 2014-11-25 | 2015-11-25 | Method and apparatus for memory management |
PCT/US2015/062801 WO2016086203A1 (en) | 2014-11-25 | 2015-11-25 | Method and apparatus for memory management |
US15/627,001 US20170308461A1 (en) | 2014-11-25 | 2017-06-19 | Method and apparatus for memory management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686872.8A CN105701019A (zh) | 2014-11-25 | 2014-11-25 | 一种内存管理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105701019A true CN105701019A (zh) | 2016-06-22 |
Family
ID=56010340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410686872.8A Pending CN105701019A (zh) | 2014-11-25 | 2014-11-25 | 一种内存管理方法以及装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9715443B2 (zh) |
EP (1) | EP3224726B1 (zh) |
JP (1) | JP2017535888A (zh) |
KR (1) | KR102589155B1 (zh) |
CN (1) | CN105701019A (zh) |
TW (1) | TWI728949B (zh) |
WO (1) | WO2016086203A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179997A (zh) * | 2017-06-12 | 2017-09-19 | 合肥东芯通信股份有限公司 | 一种配置存储单元的方法及装置 |
CN107766153A (zh) * | 2017-10-17 | 2018-03-06 | 华为技术有限公司 | 一种内存管理方法及装置 |
CN109194721A (zh) * | 2018-08-15 | 2019-01-11 | 无锡江南计算技术研究所 | 一种异步的rdma通信内存动态管理方法及*** |
CN109522113A (zh) * | 2018-09-28 | 2019-03-26 | 迈普通信技术股份有限公司 | 一种内存管理方法及装置 |
CN110162395A (zh) * | 2018-02-12 | 2019-08-23 | 杭州宏杉科技股份有限公司 | 一种内存分配的方法及装置 |
CN112988370A (zh) * | 2019-12-13 | 2021-06-18 | 南京品尼科自动化有限公司 | 一种智能通信管理机 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2876379A1 (en) * | 2014-12-29 | 2016-06-29 | Adam J. Storm | Memory management in presence of asymmetrical memory transfer costs |
US11487445B2 (en) * | 2016-11-22 | 2022-11-01 | Intel Corporation | Programmable integrated circuit with stacked memory die for storing configuration data |
CN106681835B (zh) * | 2016-12-28 | 2019-04-05 | 华为技术有限公司 | 资源分配的方法和资源管理器 |
CN110032440A (zh) * | 2018-01-11 | 2019-07-19 | 武汉斗鱼网络科技有限公司 | 一种内存管理方法及相关装置 |
TWI722269B (zh) * | 2018-01-26 | 2021-03-21 | 和碩聯合科技股份有限公司 | 韌體更新方法及使用此方法的電子裝置 |
CN109495401B (zh) * | 2018-12-13 | 2022-06-24 | 迈普通信技术股份有限公司 | 缓存的管理方法及装置 |
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
US20220066928A1 (en) * | 2020-09-02 | 2022-03-03 | Microsoft Technology Licensing, Llc | Pooled memory controller for thin-provisioning disaggregated memory |
US11640254B2 (en) * | 2021-08-25 | 2023-05-02 | Western Digital Technologies, Inc. | Controlled imbalance in super block allocation in ZNS SSD |
US20230075329A1 (en) * | 2021-08-25 | 2023-03-09 | Western Digital Technologies, Inc. | Super Block Allocation Across Super Device In ZNS SSD |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249802B1 (en) * | 1997-09-19 | 2001-06-19 | Silicon Graphics, Inc. | Method, system, and computer program product for allocating physical memory in a distributed shared memory network |
US20010027512A1 (en) * | 1997-09-05 | 2001-10-04 | Hagersten Erik E. | Selective address translation in coherent memory replication |
US20040243884A1 (en) * | 2003-05-28 | 2004-12-02 | Vu Paul H. | Handling memory errors in response to adding new memory to a system |
US20050114621A1 (en) * | 2003-11-26 | 2005-05-26 | Oracle International Corporation | Techniques for automated allocation of memory among a plurality of pools |
US20050257020A1 (en) * | 2004-05-13 | 2005-11-17 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
US20070250604A1 (en) * | 2006-04-21 | 2007-10-25 | Sun Microsystems, Inc. | Proximity-based memory allocation in a distributed memory system |
CN100489809C (zh) * | 2001-11-14 | 2009-05-20 | 英特尔公司 | 适合向多处理器提供专用或共享存储器的存储器及其方法 |
US20110276973A1 (en) * | 2010-05-07 | 2011-11-10 | Jaewoong Chung | Method and apparatus for scheduling for multiple memory controllers |
US20130275707A1 (en) * | 2012-04-13 | 2013-10-17 | International Business Machines Corporation | Address space management while switching optically-connected memory |
CN104040518A (zh) * | 2011-11-30 | 2014-09-10 | 超威半导体公司 | 高效存储器和资源管理 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687370A (en) | 1995-01-31 | 1997-11-11 | Next Software, Inc. | Transparent local and distributed memory management system |
US6571262B2 (en) | 2000-02-14 | 2003-05-27 | Apple Computer, Inc. | Transparent local and distributed memory management system |
US6381682B2 (en) * | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
US20020016891A1 (en) * | 1998-06-10 | 2002-02-07 | Karen L. Noel | Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory |
US6804766B1 (en) | 1997-11-12 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method for managing pages of a designated memory object according to selected memory management policies |
US6327606B1 (en) | 1998-06-24 | 2001-12-04 | Oracle Corp. | Memory management of complex objects returned from procedure calls |
US6701420B1 (en) | 1999-02-01 | 2004-03-02 | Hewlett-Packard Company | Memory management system and method for allocating and reusing memory |
AU2001239492A1 (en) | 2000-02-07 | 2001-08-14 | Insignia Solutions Plc | Global constant pool to allow deletion of constant pool entries |
EP1168727B1 (en) | 2000-06-19 | 2006-05-03 | Broadcom Corporation | Memory management unit architecture for switch fabric |
US6981244B1 (en) | 2000-09-08 | 2005-12-27 | Cisco Technology, Inc. | System and method for inheriting memory management policies in a data processing systems |
CA2355473A1 (en) | 2000-09-29 | 2002-03-29 | Linghsiao Wang | Buffer management for support of quality-of-service guarantees and data flow control in data switching |
US6718451B2 (en) | 2002-01-31 | 2004-04-06 | Intel Corporation | Utilizing overhead in fixed length memory block pools |
US6738886B1 (en) * | 2002-04-12 | 2004-05-18 | Barsa Consulting Group, Llc | Method and system for automatically distributing memory in a partitioned system to improve overall performance |
CA2426619A1 (en) | 2003-04-25 | 2004-10-25 | Ibm Canada Limited - Ibm Canada Limitee | Defensive heap memory management |
US7827375B2 (en) | 2003-04-30 | 2010-11-02 | International Business Machines Corporation | Defensive heap memory management |
US7707320B2 (en) | 2003-09-05 | 2010-04-27 | Qualcomm Incorporated | Communication buffer manager and method therefor |
US7302546B2 (en) * | 2004-01-09 | 2007-11-27 | International Business Machines Corporation | Method, system, and article of manufacture for reserving memory |
GB2418751A (en) | 2004-10-02 | 2006-04-05 | Hewlett Packard Development Co | Managing memory across a plurality of partitions |
US8234378B2 (en) * | 2005-10-20 | 2012-07-31 | Microsoft Corporation | Load balancing in a managed execution environment |
US7953008B2 (en) | 2005-11-10 | 2011-05-31 | Broadcom Corporation | Cell copy count hazard detection |
US7840752B2 (en) | 2006-10-30 | 2010-11-23 | Microsoft Corporation | Dynamic database memory management policies |
US7698528B2 (en) | 2007-06-28 | 2010-04-13 | Microsoft Corporation | Shared memory pool allocation during media rendering |
US20090150640A1 (en) * | 2007-12-11 | 2009-06-11 | Royer Steven E | Balancing Computer Memory Among a Plurality of Logical Partitions On a Computing System |
US8402242B2 (en) | 2009-07-29 | 2013-03-19 | International Business Machines Corporation | Write-erase endurance lifetime of memory storage devices |
US8209510B1 (en) | 2010-01-13 | 2012-06-26 | Juniper Networks, Inc. | Secure pool memory management |
US8578194B2 (en) | 2010-06-21 | 2013-11-05 | Broadcom Corporation | Green mode data buffer control |
US8312258B2 (en) * | 2010-07-22 | 2012-11-13 | Intel Corporation | Providing platform independent memory logic |
US8555279B2 (en) | 2011-04-25 | 2013-10-08 | Hitachi, Ltd. | Resource allocation for controller boards management functionalities in a storage management system with a plurality of controller boards, each controller board includes plurality of virtual machines with fixed local shared memory, fixed remote shared memory, and dynamic memory regions |
JP5807458B2 (ja) * | 2011-08-31 | 2015-11-10 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9274839B2 (en) * | 2012-09-27 | 2016-03-01 | Intel Corporation | Techniques for dynamic physical memory partitioning |
JP6136460B2 (ja) * | 2013-03-28 | 2017-05-31 | 富士通株式会社 | 情報処理装置、情報処理装置の制御プログラムおよび情報処理装置の制御方法 |
KR102117511B1 (ko) * | 2013-07-30 | 2020-06-02 | 삼성전자주식회사 | 프로세서 및 메모리 제어 방법 |
CN103544063B (zh) * | 2013-09-30 | 2017-02-08 | 三星电子(中国)研发中心 | 应用于安卓平台的进程清除方法和装置 |
-
2014
- 2014-11-25 CN CN201410686872.8A patent/CN105701019A/zh active Pending
-
2015
- 2015-05-06 TW TW104114417A patent/TWI728949B/zh active
- 2015-11-25 KR KR1020177015701A patent/KR102589155B1/ko active IP Right Grant
- 2015-11-25 WO PCT/US2015/062801 patent/WO2016086203A1/en active Application Filing
- 2015-11-25 EP EP15863093.9A patent/EP3224726B1/en active Active
- 2015-11-25 US US14/952,847 patent/US9715443B2/en active Active
- 2015-11-25 JP JP2017528193A patent/JP2017535888A/ja active Pending
-
2017
- 2017-06-19 US US15/627,001 patent/US20170308461A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010027512A1 (en) * | 1997-09-05 | 2001-10-04 | Hagersten Erik E. | Selective address translation in coherent memory replication |
US6249802B1 (en) * | 1997-09-19 | 2001-06-19 | Silicon Graphics, Inc. | Method, system, and computer program product for allocating physical memory in a distributed shared memory network |
CN100489809C (zh) * | 2001-11-14 | 2009-05-20 | 英特尔公司 | 适合向多处理器提供专用或共享存储器的存储器及其方法 |
US20040243884A1 (en) * | 2003-05-28 | 2004-12-02 | Vu Paul H. | Handling memory errors in response to adding new memory to a system |
US20050114621A1 (en) * | 2003-11-26 | 2005-05-26 | Oracle International Corporation | Techniques for automated allocation of memory among a plurality of pools |
US20050257020A1 (en) * | 2004-05-13 | 2005-11-17 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
CN100524229C (zh) * | 2004-05-13 | 2009-08-05 | 国际商业机器公司 | 用于管理数据处理***内的存储器的借出的***和方法 |
US20070250604A1 (en) * | 2006-04-21 | 2007-10-25 | Sun Microsystems, Inc. | Proximity-based memory allocation in a distributed memory system |
US20110276973A1 (en) * | 2010-05-07 | 2011-11-10 | Jaewoong Chung | Method and apparatus for scheduling for multiple memory controllers |
CN104040518A (zh) * | 2011-11-30 | 2014-09-10 | 超威半导体公司 | 高效存储器和资源管理 |
US20130275707A1 (en) * | 2012-04-13 | 2013-10-17 | International Business Machines Corporation | Address space management while switching optically-connected memory |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179997A (zh) * | 2017-06-12 | 2017-09-19 | 合肥东芯通信股份有限公司 | 一种配置存储单元的方法及装置 |
CN107766153A (zh) * | 2017-10-17 | 2018-03-06 | 华为技术有限公司 | 一种内存管理方法及装置 |
CN110162395A (zh) * | 2018-02-12 | 2019-08-23 | 杭州宏杉科技股份有限公司 | 一种内存分配的方法及装置 |
CN110162395B (zh) * | 2018-02-12 | 2021-07-20 | 杭州宏杉科技股份有限公司 | 一种内存分配的方法及装置 |
CN109194721A (zh) * | 2018-08-15 | 2019-01-11 | 无锡江南计算技术研究所 | 一种异步的rdma通信内存动态管理方法及*** |
CN109522113A (zh) * | 2018-09-28 | 2019-03-26 | 迈普通信技术股份有限公司 | 一种内存管理方法及装置 |
CN112988370A (zh) * | 2019-12-13 | 2021-06-18 | 南京品尼科自动化有限公司 | 一种智能通信管理机 |
CN112988370B (zh) * | 2019-12-13 | 2024-05-17 | 南京品尼科自动化有限公司 | 一种智能通信管理机 |
Also Published As
Publication number | Publication date |
---|---|
US20170308461A1 (en) | 2017-10-26 |
KR20170087900A (ko) | 2017-07-31 |
EP3224726A4 (en) | 2018-07-25 |
US9715443B2 (en) | 2017-07-25 |
EP3224726A1 (en) | 2017-10-04 |
EP3224726B1 (en) | 2021-05-05 |
KR102589155B1 (ko) | 2023-10-16 |
TWI728949B (zh) | 2021-06-01 |
JP2017535888A (ja) | 2017-11-30 |
WO2016086203A1 (en) | 2016-06-02 |
US20160147648A1 (en) | 2016-05-26 |
TW201619829A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105701019A (zh) | 一种内存管理方法以及装置 | |
US11334382B2 (en) | Technologies for batching requests in an edge infrastructure | |
US10469252B2 (en) | Technologies for efficiently managing allocation of memory in a shared memory pool | |
CN102567072B (zh) | 一种资源分配方法、装置及*** | |
US10915365B2 (en) | Determining a quantity of remote shared partitions based on mapper and reducer nodes | |
US20190229990A1 (en) | Technologies for autonomous edge compute instance optimization and auto-healing using local hardware platform qos services | |
CN108462656B (zh) | 基于容器的业务融合部署的资源调度方法及装置 | |
CN105159775A (zh) | 基于负载均衡器的云计算数据中心的管理***和管理方法 | |
CN102857370A (zh) | 一种分配资源的方法及装置 | |
CN104090847A (zh) | 一种固态存储设备的地址分配方法 | |
US20130205141A1 (en) | Quality of Service Targets in Multicore Processors | |
CN105094751A (zh) | 一种用于流式数据并行处理的内存管理方法 | |
CN101853215A (zh) | 一种内存分配方法及装置 | |
US9063668B1 (en) | Distributed memory allocation in multi-threaded programs | |
CN110011858A (zh) | 一种基于负载均衡和重配置的开关优化映射方法 | |
CN104518897A (zh) | 虚拟防火墙的资源管理优化处理方法和装置 | |
CN110891033B (zh) | 网络资源处理方法、装置、网关、控制器及存储介质 | |
US11431648B2 (en) | Technologies for providing adaptive utilization of different interconnects for workloads | |
CN104281587A (zh) | 一种建立连接的方法及装置 | |
US11451435B2 (en) | Technologies for providing multi-tenant support using one or more edge channels | |
CN115202859A (zh) | 一种内存扩展方法以及相关设备 | |
CN108255820B (zh) | 分布式***中数据入库的方法、装置以及电子设备 | |
CN112559164A (zh) | 一种资源共享方法及装置 | |
CN113127186B (zh) | 配置集群节点资源的方法、装置、服务器和存储介质 | |
CN110928673A (zh) | 任务的分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1226159 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1226159 Country of ref document: HK |