CN110618872A - 混合内存动态调度方法及系统 - Google Patents

混合内存动态调度方法及系统 Download PDF

Info

Publication number
CN110618872A
CN110618872A CN201910911507.5A CN201910911507A CN110618872A CN 110618872 A CN110618872 A CN 110618872A CN 201910911507 A CN201910911507 A CN 201910911507A CN 110618872 A CN110618872 A CN 110618872A
Authority
CN
China
Prior art keywords
memory
program
bandwidth
nvm
sensitivity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910911507.5A
Other languages
English (en)
Other versions
CN110618872B (zh
Inventor
王琳
张川
黄天元
李东桦
何鑫
孙风春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Normal University
Original Assignee
Shandong Normal University
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 Shandong Normal University filed Critical Shandong Normal University
Priority to CN201910911507.5A priority Critical patent/CN110618872B/zh
Publication of CN110618872A publication Critical patent/CN110618872A/zh
Application granted granted Critical
Publication of CN110618872B publication Critical patent/CN110618872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本公开公开了混合内存动态调度方法及系统,通过配置温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;将内存分组:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;程序运行时:根据程序的时延要求或执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。

Description

混合内存动态调度方法及系统
技术领域
本公开涉及混合内存技术领域,特别是涉及混合内存动态调度方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:
由于混合内存尚在研究阶段,当前的操作系统并不支持对于混合内存异构性的管理,有部分研究工作通过修改硬件实现了异构感知,但是修改硬件开销较大。另一部分工作利用软件方法实现异构感知,但对整体性能有一定影响。
发明内容
为了解决现有技术的不足,本公开提供了混合内存动态调度方法及系统;为了能够高效利用混合内存,发挥DRAM的速度优势和NVM的容量与能耗优势,需要一种新的内存管理机制,该机制可以在不修改硬件的条件下对下层混合内存的异构性进行管理,同时对上层应用透明,对应用提供高效的接口,帮助应用充分利用混合内存的优势。
第一方面,本公开提供了混合内存动态调度方法;
混合内存动态调度方法,包括:
通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
将内存分组:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
程序运行时:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入下一步;
获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
第二方面,本公开还提供了混合内存动态调度系统;
混合内存动态调度系统,包括:
配置模块,其被配置为:通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
内存分组模块,其被配置为:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
程序运行模块,其被配置为:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
概率计算模块,其被配置为:获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入转移模块;
转移模块,其被配置为:获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
与现有技术相比,本公开的有益效果是:
该运行时系统对上层应用透明,通过软件方法实现对下层内存的异构。在程序执行时自动获取程序特征信息并实现高效的混合内存管理。
混合内存的异构性感知机制。研究利用现有的操作系统(Linux)接口及系统管理工具实现异构性感知机制,该机制应尽量不修改Linux内核,并对应用透明。
混合内存的运行时状态信息获取分析方法。利用现有分析工具,获取混合内存运行时特征信息,包括混合空间分区、访问时延和访问带宽等,为运行时管理提供依据。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的方法流程图;
图2为第一个实施例的地址为CF8h的寄存器。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
NVM(Non-volatile Memory,固定存储器,非易失存储器);
DRAM(Dynamic Random Access Memory,快内存);
NVM(non-volatile memory,慢内存);
第一方面,本公开提供了混合内存动态调度方法;
如图1所示,混合内存动态调度方法,包括:
S1:通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
S2:将内存分组:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
S3:程序运行时:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
S4:获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入下一步;
S5:获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
作为一个或多个实施例,所述PCIe总线,是处理器与内存之间的连线。
作为一个或多个实施例,所述配置PCIe总线的温度寄存器,是配置设备总线、设备号和设备功能。
应理解的,图2是地址为CF8h的寄存器,如果要设置PCIe总线温度寄存器,需要:
1、将设备总线写入CF8h中的16-23位;
2、设备号写入CF8h中的11-15位;
3、设备功能写入CF8h中的8-10位。
总结来说,就是用寄存器CF8h指定我们要写入配置的地址,用寄存器CFCh存储需要写入的值,随后写入该地址。通过修改温度寄存器的值,就可以修改内存的带宽和延迟。
作为一个或多个实施例,所述根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;具体包括:
如果内存的带宽大于第一设定阈值且内存的延迟小于第二设定阈值,则内存为快内存存储器DRAM;
如果内存的带宽小于第一设定阈值且内存的延迟大于第二设定阈值,则内存为慢内存存储器NVM。
将内存模拟为快内存和慢内存,而快内存和慢内存的区别就在于内存的带宽和延迟的大小。
本公开设计模拟DRAM和NVM这两种介质共存的内存结构。DRAM的特点是单位面积内内存容量小,访问速度快;NVM的特点是单位面积内内存容量大,访问速度慢。它们的指标特征就反映在内存带宽和延迟上。利用混合内存的结构可以更加灵活的支持上层程序。
应理解的,如果程序是一个对时延要求较高的程序,则需要在快内存上执行,以保证其性能。如果程序是一个对执行速度要求低的程序,则可以在慢内存上执行。如果程序内存较少,即便它是一个对时延要求较高的程序,仍然可以在慢内存上执行。因为对于内存较少的程序,内存带宽和时延对其性能影响不大。应理解的,假设当前程序是图像处理程序,则所述待处理数据集,例如是图片。
作为一个或多个实施例,所述将内存分组,是指:利用现有温度寄存器接口和资源管理工具Cgroups将内存分组。
作为一个或多个实施例,所述程序运行特征,包括:
处理器的占用情况、内存的占用情况、磁盘带宽的占用情况、网络带宽的占用情况、程序的内存情况或内存资源的占用情况。
应理解的,所述处理器的占用情况、内存的占用情况、磁盘带宽的占用情况、网络带宽的占用情况,利用性能分析工具如collectl进行获取。
应理解的,所述程序的内存情况,利用性能分析工具如perf获取。所述程序的内存情况,例如:最后一级缓存的引用LLC ref、最后一级缓存的不命中率LLC miss等;
应理解的,所述内存资源的占用情况,是指占用内存的大小,例如,内存时8G,一个程序占用了2G。利用内存资源监控工具如memstat实时获取。
LLC miss高的数据属于密集访问的数据,这些数据是从NVM迁移到DRAM的潜在对象。但是为了能让被迁移的数据更准确,则需要综合考虑程序数据对内存延迟和内存带宽的敏感度。
作为一个或多个实施例,所述程序运行时的步骤S3包括:
如果程序的时延要求大于设定阈值或者程序的执行速度要求大于设定阈值,则将程序放在快内存存储器DRAM上执行,则把与程序对应的待处理数据集调入快内存存储器DRAM;
如果程序的时延要求小于设定阈值或者执行速度要求小于设定阈值,则将程序放在慢内存存储器NVM上执行,则把与当前程序对应的待处理数据集调入慢内存存储器NVM;
如果程序的时延要求大于设定阈值且程序的内存小于设定阈值,则将程序放在慢内存存储器NVM上执行,则把与当前程序对应的待处理数据集调入慢内存存储器NVM。
应理解的,如果程序对内存延迟和带宽敏感,则意味着程序在慢内存执行时性能会大幅度下降,则需要把程序的数据集调度到快内存。
如果程序对内存延迟和带宽不敏感,则意味着程序在慢内存执行时性能不会大幅度下降,则可以把程序的数据集调度到慢内存。
作为一个或多个实施例,所述S4:根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入下一步;具体步骤包括:
根据程序的运行特征,获取程序在快内存存储器DRAM内的执行性能,如果程序在快内存存储器DRAM内的执行性能大于设定性能要求,则进入S5;
根据程序的运行特征,获取程序在慢内存存储器NVM内的执行性能,如果程序在慢内存存储器NVM内的执行性能小于设定性能要求,则进入S5。
作为一个或多个实施例,所述根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移,具体步骤包括:
当程序对内存延迟的敏感度和对内存带宽的敏感度均大于设定阈值时,则将程序从快内存存储器DRAM转移到慢内存存储器NVM;
当程序对内存延迟的敏感度和内存带宽的敏感度均小于设定阈值时,则将程序从慢内存存储器NVM转移到快内存存储器DRAM。
作为一个或多个实施例,所述S5获取程序对内存延迟的敏感度步骤如下:
将内存延迟视为一个维度,在该维度上,按照由小到大的顺序设置若干个资源限制点,设置内存的总存储空间的20%为最小资源限制点;设置内存的总存储空间为最大资源限制点;
通过修改PCIe温度寄存器改变内存延迟和内存带宽的大小,将内存延迟和内存带宽改动成资源限制点上的值,获取程序在内存延迟维度上各个资源限制点上的性能,将各个资源限制点上的性能值组成程序在内存延迟维度上的敏感度曲面,该敏感度曲面即为程序对内存延迟的敏感度。
程序的性能包括程序的执行时间或程序的响应时间,在各个资源限制点上的性能值是一个介于[0,1]之间的常数,
该敏感度曲面用于指导程序在快内存、慢内存之间的放置策略的设计。
设定一个阈值,如果程序对内存延迟和带宽敏感,则意味着程序在慢内存执行时性能会大幅度下降,则把程序的数据集调度到快内存。
如果程序对内存延迟和带宽不敏感,则意味着程序在慢内存执行时性能不会大幅度下降,则把程序的数据集调度到慢内存。
作为一个或多个实施例,所述S5获取程序对带宽的敏感度的步骤如下:
将内存带宽视为一个维度,在该维度上,按照由小到大的顺序设置多个资源限制点,设置总带宽的20%为最小资源限制点,设置总带宽为最大资源限制点;
通过修改PCIe温度寄存器改变内存带宽的大小,将内存带宽改动成资源限制点上的值,获取程序在内存带宽一个维度各个资源限制点上的性能,在各个节点上的性能值是一个介于[0,1]之间的常数,各个节点上的性能值组成程序在内存带宽维度上的敏感度曲面,该敏感度曲面即为程序对带宽的敏感度。
该敏感度曲面指导程序在快内存、慢内存之间的放置策略的设计。
从资源敏感度的角度分析内存延迟和内存带宽对程序的性能影响。调整内存延迟和内存带宽的大小,不同程序对应的性能变化是不同的。有些程序对内存延迟敏感,有些程序对内存带宽敏感,有些程序都不敏感。所以程序对内存延迟和内存带宽的敏感程度可以作为我们在DRAM内存和NVM内存之间放置数据的依据。而获取程序对内存带宽及延迟的敏感度特征的方法如下:
将内存延迟和内存带宽视为两个维度,在每个维度上,按照由小到大的顺序设置多个资源限制点,设置最大资源限制点的20%为最小资源限制点。通过修改PCIe温度寄存器改变内存延迟和内存带宽的大小(将内存延迟和内存带宽改动成资源限制点上的值),获取程序在两个维度各个资源限制点上的性能,在各个节点上的性能值是一个介于[0,1]之间的常数,这些数可以组成程序在内存带宽与延迟两个维度上的敏感度曲面。该敏感度曲面指导程序在快内存、慢内存之间的放置策略的设计。
通过修改PCIe温度寄存器改变内存延迟和内存带宽的大小来模拟不同的NVM存储器。并利用资源管理工具Cgroups将内存分组,其中包括快内存和慢内存。不同类型的程序对应的数据集会被调度到不同类型的内存。同时,该模块获取程序、系统的运行时信息。例如,获取程序对处理器、内存、磁盘带宽、网络带宽的占用情况,以及程序对LLC的访问情况及不命中率。
获取程序对内存延迟和内存带宽的敏感度。将内存延迟和内存带宽视为两个维度,在每个维度上,按照由小到大的顺序设置多个资源限制点,设置最大资源限制点的20%为最小资源限制点。将程序拉入该收资源限制的CGroups组并执行,记录程序性能。而程序在该资源限制点上的敏感度值就是程序在资源受限制时执行的性能与程序在资源不受限时执行的性能的比值。该性能值是一个介于[0,1]之间的常数。所有这些资源限制点上所对应的性能值组成程序在内存带宽与延迟两个维度上的敏感度曲面。
本实施例的有益效果:
该运行时系统对上层应用透明,通过软件方法实现对下层内存的异构。在程序执行时自动获取程序特征信息并实现高效的混合内存管理。
混合内存的异构性感知机制。研究利用现有的操作系统(Linux)接口及系统管理工具实现异构性感知机制,该机制应尽量不修改Linux内核,并对应用透明。
混合内存的运行时状态信息获取分析方法。利用现有分析工具,获取混合内存运行时特征信息,包括混合空间分区、访问时延和访问带宽等,为运行时管理提供依据。
第二方面,本公开还提供了混合内存动态调度系统;
混合内存动态调度系统,包括:
配置模块,其被配置为:通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
内存分组模块,其被配置为:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
程序运行模块,其被配置为:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
概率计算模块,其被配置为:获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入转移模块;
转移模块,其被配置为:获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.混合内存动态调度方法,其特征是,包括:
通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
将内存分组:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
程序运行时:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入下一步;
获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
2.如权利要求1所述的方法,其特征是,所述配置PCIe总线的温度寄存器,是配置设备总线、设备号和设备功能。
3.如权利要求1所述的方法,其特征是,所述根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;具体包括:
如果内存的带宽大于第一设定阈值且内存的延迟小于第二设定阈值,则内存为快内存存储器DRAM;
如果内存的带宽小于第一设定阈值且内存的延迟大于第二设定阈值,则内存为慢内存存储器NVM。
4.如权利要求1所述的方法,其特征是,所述程序的运行特征,包括:
处理器的占用情况、内存的占用情况、磁盘带宽的占用情况、网络带宽的占用情况、程序的内存情况或内存资源的占用情况。
5.如权利要求1所述的方法,其特征是,程序运行时的步骤包括:
如果程序的时延要求大于设定阈值或者程序的执行速度要求大于设定阈值,则将程序放在快内存存储器DRAM上执行,则把与程序对应的待处理数据集调入快内存存储器DRAM;
如果程序的时延要求小于设定阈值或者执行速度要求小于设定阈值,则将程序放在慢内存存储器NVM上执行,则把与当前程序对应的待处理数据集调入慢内存存储器NVM;
如果程序的时延要求大于设定阈值且程序的内存小于设定阈值,则将程序放在慢内存存储器NVM上执行,则把与当前程序对应的待处理数据集调入慢内存存储器NVM。
6.如权利要求1所述的方法,其特征是,根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入下一步;具体步骤包括:
根据程序的运行特征,获取程序在快内存存储器DRAM内的执行性能,如果程序在快内存存储器DRAM内的执行性能大于设定性能要求,则进入S5;
根据程序的运行特征,获取程序在慢内存存储器NVM内的执行性能,如果程序在慢内存存储器NVM内的执行性能小于设定性能要求,则进入S5。
7.如权利要求1所述的方法,其特征是,所述根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移,具体步骤包括:
当程序对内存延迟的敏感度和对内存带宽的敏感度均大于设定阈值时,则将程序从快内存存储器DRAM转移到慢内存存储器NVM;
当程序对内存延迟的敏感度和内存带宽的敏感度均小于设定阈值时,则将程序从慢内存存储器NVM转移到快内存存储器DRAM。
8.如权利要求1所述的方法,其特征是,获取程序对内存延迟的敏感度步骤如下:
将内存延迟视为一个维度,在该维度上,按照由小到大的顺序设置若干个资源限制点,设置内存的总存储空间的20%为最小资源限制点;设置内存的总存储空间为最大资源限制点;
通过修改PCIe温度寄存器改变内存延迟和内存带宽的大小,将内存延迟和内存带宽改动成资源限制点上的值,获取程序在内存延迟维度上各个资源限制点上的性能,将各个资源限制点上的性能值组成程序在内存延迟维度上的敏感度曲面,该敏感度曲面即为程序对内存延迟的敏感度。
9.如权利要求1所述的方法,其特征是,获取程序对内存带宽的敏感度的步骤如下:
将内存带宽视为一个维度,在该维度上,按照由小到大的顺序设置多个资源限制点,设置总带宽的20%为最小资源限制点,设置总带宽为最大资源限制点;
通过修改PCIe温度寄存器改变内存带宽的大小,将内存带宽改动成资源限制点上的值,获取程序在内存带宽维度各个资源限制点上的性能,在各个节点上的性能值是一个介于[0,1]之间的常数,各个节点上的性能值组成程序在内存带宽维度上的敏感度曲面,该敏感度曲面即为程序对带宽的敏感度。
10.混合内存动态调度系统,其特征是,包括:
配置模块,其被配置为:通过配置PCIe总线的温度寄存器来改变内存延迟和内存带宽,进而模拟出慢内存存储器NVM;
内存分组模块,其被配置为:根据内存的带宽和延迟,将内存划分为快内存存储器DRAM和慢内存存储器NVM;
程序运行模块,其被配置为:根据程序的时延要求或程序的执行速度要求,把与程序对应的待处理数据集调入到快内存存储器DRAM或慢内存存储器NVM中;
概率计算模块,其被配置为:获取程序的运行特征;根据程序的运行特征,获取程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移的概率,如果概率大于设定阈值,则进入转移模块;
转移模块,其被配置为:获取程序对内存延迟的敏感度和内存带宽的敏感度;根据程序对内存延迟的敏感度和内存带宽的敏感度,实现程序在快内存存储器DRAM和慢内存存储器NVM之间相互转移。
CN201910911507.5A 2019-09-25 2019-09-25 混合内存动态调度方法及系统 Active CN110618872B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910911507.5A CN110618872B (zh) 2019-09-25 2019-09-25 混合内存动态调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910911507.5A CN110618872B (zh) 2019-09-25 2019-09-25 混合内存动态调度方法及系统

Publications (2)

Publication Number Publication Date
CN110618872A true CN110618872A (zh) 2019-12-27
CN110618872B CN110618872B (zh) 2022-04-15

Family

ID=68924419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910911507.5A Active CN110618872B (zh) 2019-09-25 2019-09-25 混合内存动态调度方法及系统

Country Status (1)

Country Link
CN (1) CN110618872B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949580A (zh) * 2020-08-12 2020-11-17 深圳安捷丽新技术有限公司 多频率内存接口及其配置方法
CN112540934A (zh) * 2020-12-14 2021-03-23 山东师范大学 保证多个延迟关键程序共同执行时服务质量的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104102590A (zh) * 2014-07-22 2014-10-15 浪潮(北京)电子信息产业有限公司 一种异构内存管理方法及装置
CN104239225A (zh) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 一种管理异构混合内存的方法及装置
CN104360963A (zh) * 2014-11-26 2015-02-18 浪潮(北京)电子信息产业有限公司 一种面向内存计算的异构混合内存方法和装置
CN104375895A (zh) * 2013-08-13 2015-02-25 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
CN107589997A (zh) * 2017-08-29 2018-01-16 山东师范大学 数据中心环境下保证延迟敏感程序QoS的动态调节方法
US20180024922A1 (en) * 2016-07-19 2018-01-25 Sap Se Join operations in hybrid main memory systems
CN108268220A (zh) * 2018-02-08 2018-07-10 重庆邮电大学 实时嵌入式系统中基于非易失性混合式内存的软件优化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375895A (zh) * 2013-08-13 2015-02-25 华为技术有限公司 用于多种存储器间的数据存储调度方法以及装置
CN104102590A (zh) * 2014-07-22 2014-10-15 浪潮(北京)电子信息产业有限公司 一种异构内存管理方法及装置
CN104239225A (zh) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 一种管理异构混合内存的方法及装置
CN104360963A (zh) * 2014-11-26 2015-02-18 浪潮(北京)电子信息产业有限公司 一种面向内存计算的异构混合内存方法和装置
US20180024922A1 (en) * 2016-07-19 2018-01-25 Sap Se Join operations in hybrid main memory systems
CN107589997A (zh) * 2017-08-29 2018-01-16 山东师范大学 数据中心环境下保证延迟敏感程序QoS的动态调节方法
CN108268220A (zh) * 2018-02-08 2018-07-10 重庆邮电大学 实时嵌入式系统中基于非易失性混合式内存的软件优化方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949580A (zh) * 2020-08-12 2020-11-17 深圳安捷丽新技术有限公司 多频率内存接口及其配置方法
CN111949580B (zh) * 2020-08-12 2021-11-12 深圳安捷丽新技术有限公司 多频率内存接口及其配置方法
CN112540934A (zh) * 2020-12-14 2021-03-23 山东师范大学 保证多个延迟关键程序共同执行时服务质量的方法及系统

Also Published As

Publication number Publication date
CN110618872B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US9965324B2 (en) Process grouping for improved cache and memory affinity
CN107885456B (zh) 减少io命令访问nvm的冲突
JP5384576B2 (ja) 複数の異種のソリッドステート・ストレージ・ロケーションの選択的利用
US8312227B2 (en) Method and apparatus for MPI program optimization
US8935491B2 (en) Memory architecture for dynamically allocated manycore processor
CN104090847A (zh) 一种固态存储设备的地址分配方法
CN107025181B (zh) 存取存储器单元的方法、分配存储器请求的方法、系统及存储器控制器
US20200201763A1 (en) Memory hierarchy-aware processing
US11455781B2 (en) Data reading/writing method and system in 3D image processing, storage medium and terminal
CN102331977A (zh) 内存控制器、处理器系统及内存访问控制方法
CN103019955B (zh) 基于pcram主存应用的内存管理方法
CN110618872B (zh) 混合内存动态调度方法及系统
US8914571B2 (en) Scheduler for memory
EP3944091A1 (en) Cache allocation method and device, storage medium, and electronic device
CN113590508B (zh) 动态可重构的内存地址映射方法及装置
US20150301865A1 (en) Hardware resource allocation for applications
US9069621B2 (en) Submitting operations to a shared resource based on busy-to-success ratios
US20120017052A1 (en) Information Handling System Universal Memory Wear Leveling System and Method
CN115421924A (zh) 一种内存分配方法、装置及设备
US20210349918A1 (en) Methods and apparatus to partition a database
CN112947851A (zh) Numa系统和系统中的页面迁移方法
JP2021034017A (ja) メモリ割り当てを管理するための方法、システム、製品、および装置
KR20150101870A (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
CN116414725A (zh) 用于计算装置主存储器的分区命名空间
CN116225686A (zh) 面向混合内存架构的cpu调度方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant