CN105701019A - 一种内存管理方法以及装置 - Google Patents

一种内存管理方法以及装置 Download PDF

Info

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
Application number
CN201410686872.8A
Other languages
English (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410686872.8A priority Critical patent/CN105701019A/zh
Priority to TW104114417A priority patent/TWI728949B/zh
Priority to PCT/US2015/062801 priority patent/WO2016086203A1/en
Priority to EP15863093.9A priority patent/EP3224726B1/en
Priority to KR1020177015701A priority patent/KR102589155B1/ko
Priority to JP2017528193A priority patent/JP2017535888A/ja
Priority to US14/952,847 priority patent/US9715443B2/en
Publication of CN105701019A publication Critical patent/CN105701019A/zh
Priority to US15/627,001 priority patent/US20170308461A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

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池。
CN201410686872.8A 2014-11-25 2014-11-25 一种内存管理方法以及装置 Pending CN105701019A (zh)

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 記憶體管理方法以及裝置
PCT/US2015/062801 WO2016086203A1 (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
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
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571262B2 (en) 2000-02-14 2003-05-27 Apple Computer, Inc. Transparent local and distributed memory management system
US5687370A (en) 1995-01-31 1997-11-11 Next Software, Inc. Transparent local and distributed memory management 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
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
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
WO2001057649A2 (en) 2000-02-07 2001-08-09 Insignia Solutions Plc Global constant pool to allow deletion of constant pool entries
US7136381B2 (en) 2000-06-19 2006-11-14 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 三星电子(中国)研发中心 应用于安卓平台的进程清除方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
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 (7)

* Cited by examiner, † Cited by third party
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 南京品尼科自动化有限公司 一种智能通信管理机

Also Published As

Publication number Publication date
KR20170087900A (ko) 2017-07-31
JP2017535888A (ja) 2017-11-30
WO2016086203A1 (en) 2016-06-02
EP3224726A4 (en) 2018-07-25
KR102589155B1 (ko) 2023-10-16
US20170308461A1 (en) 2017-10-26
EP3224726A1 (en) 2017-10-04
TWI728949B (zh) 2021-06-01
US9715443B2 (en) 2017-07-25
TW201619829A (zh) 2016-06-01
US20160147648A1 (en) 2016-05-26
EP3224726B1 (en) 2021-05-05

Similar Documents

Publication Publication Date Title
CN105701019A (zh) 一种内存管理方法以及装置
US20220318064A1 (en) Technologies for batching requests in an edge infrastructure
US10469252B2 (en) Technologies for efficiently managing allocation of memory in a shared memory pool
CN107066319B (zh) 一种面向异构资源的多维调度系统
CN108268317B (zh) 一种资源分配方法及装置
US9612648B2 (en) System and method for memory channel interleaving with selective power or performance optimization
US20220182284A1 (en) Technologies for autonomous edge compute instance optimization and auto-healing using local hardware platform qos services
US8645642B2 (en) Tracking dynamic memory reallocation using a single storage address configuration table
CN105159775A (zh) 基于负载均衡器的云计算数据中心的管理系统和管理方法
CN102857370A (zh) 一种分配资源的方法及装置
CN108462656B (zh) 基于容器的业务融合部署的资源调度方法及装置
CN104090847A (zh) 一种固态存储设备的地址分配方法
US11287999B2 (en) Multi-instance 2LM architecture for SCM applications
CN105094751A (zh) 一种用于流式数据并行处理的内存管理方法
CN101853215A (zh) 一种内存分配方法及装置
US9063668B1 (en) Distributed memory allocation in multi-threaded programs
CN106164888A (zh) 用于最小化工作负荷空闲时间和工作负荷间干扰的网络和存储i/o请求的排序方案
CN103218305A (zh) 存储空间的分配方法
CN104518897A (zh) 虚拟防火墙的资源管理优化处理方法和装置
CN110891033B (zh) 网络资源处理方法、装置、网关、控制器及存储介质
CN104281587A (zh) 一种建立连接的方法及装置
Chen et al. Algorithm for virtual nodes reconfiguration on network virtualization
CN105704037A (zh) 一种表项保存方法和控制器
CN110011858A (zh) 一种基于负载均衡和重配置的开关优化映射方法
US11451435B2 (en) Technologies for providing multi-tenant support using one or more edge channels

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