CN103077128B - 一种多核环境下的共享缓存动态划分方法 - Google Patents
一种多核环境下的共享缓存动态划分方法 Download PDFInfo
- Publication number
- CN103077128B CN103077128B CN201210592360.6A CN201210592360A CN103077128B CN 103077128 B CN103077128 B CN 103077128B CN 201210592360 A CN201210592360 A CN 201210592360A CN 103077128 B CN103077128 B CN 103077128B
- Authority
- CN
- China
- Prior art keywords
- program
- application program
- stage
- buffer memory
- ipc
- 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.)
- Expired - Fee Related
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多核环境下的共享缓存动态划分方法,包括:初始化硬件计数器,启动多个应用程序,并利用硬件计数器对应用程序的运行信息进行采样,利用硬件计数器获取程序的基本块信息分析应用程序的阶段行为,通过提取应用程序的IPC变异系数来判断应用程序的阶段是否发生变化,若是则利用硬件计数器获取应用程序的缓存缺失间距,以得到缺失率曲线,并根据缺失率曲线制定应用程序的缓存划分策略.根据制定的缓存划分策略并利用动态页着色方法对应用程序的缓存进行重新分配。本发明能感知程序的缓存需求变化,从而在最佳时机对程序的缓存作调整,此外,与现有的阶段行为分析方法相比,本发明对程序的性能几乎没有影响,能有效提高系统的整体性能。
Description
技术领域
本发明属于多核体系结构和程序行为分析领域,更具体地,涉及一种多核环境下的共享缓存动态划分方法。
背景技术
片上多核处理器(Chip Multi Processors,CMP)以其高性能、低功耗的优势成为微处理器主流。高速缓存作为处理器的核心部件,对处理器系统的性能起着至关重要的作用。在多核架构下,处理器采用多级缓存的设计方式,所有处理器核共享最后一级缓存或者每个处理器核拥有自己私有的最后一级缓存。私有最后一级缓存的结构,芯片扩展性好,控制逻辑相对简单,但是无法做到对系统资源的高效利用。相比较而言,共享最后一级缓存的结构具有资源利用率高、节约能耗等优点,是目前多核处理器架构发展的主流趋势。
但是,共享缓存的结构带来了缓存污染的问题。在多道任务环境下,对于并行执行的多个应用,当一个应用的缓存失效时,根据页面置换算法,可能替换另一个应用在缓存中的数据。因此,多个应用互相污染对方的数据,从而导致系统的整形性能降低。为此,缓存划分的方法被提出来用于共享缓存的管理。但如何高效地划分与管理多核体系结构的共享缓存,成为了当前的一个研究热点。
当前,主要有两种缓存划分的算法,即静态缓存划分和动态缓存划分。静态缓存划分在程序运行之前就确定好缓存的划分策略,在程序运行过程中,共享缓存划分保持不变。但是,这种方法对于行为复杂的程序并不适用,在一些情况下不能有效提升系统的性能。动态缓存划分方法利用程序运行时的反馈信息,动态划分应用缓存的大小。但是,动态缓存划分的方法带来了如何决定缓存划分时机的问题。
研究发现,大部分程序在执行过程中,它们的运行特征(如cache缺失率、CPI等)都不是一成不变的。由于程序中循环、递归等结构的大量存在,程序在执行过程中的行为往往会随时间呈现不规则的周期性变化,这就是程序的阶段行为。与此同时,程序的缓存需求也随着程序阶段的变化而变化,程序的阶段不同,程序对缓存的需求也有可能不一样。利用程序的阶段行为可以有效地指导缓存的动态划分,当检测到程序的阶段发生转变,那么在下一阶段就可以对程序的缓存进行重新调整。
在多任务环境下,缓存划分能够有效解决缓存的污染问题,但是,传统的动态的缓存划分方法都是每隔一定的时间对程序的缓存做一次调整,并且在制定缓存划分策略时,需要添加额外的性能监控硬件或者改变现有的硬件结构,还只是在学术界被用来研究,并没有在真实的机器上实现。目前,共享缓存的动态划分机制存在两个主要的问题:
(1)并不能在最恰当的时机调整程序的缓存,由于程序的缓存需求与程序的阶段行为相关,而程序的阶段行为并不是均匀有规律的,目前这种每隔固定时间对程序的缓存进行调整并不能在程序的缓存需求发生变化的最佳时机对其缓存进行调整;
(2)动态调整缓存需要给程序划分合适大小的缓存,而要确定缓存大小是否合适,现有的机制需要添加额外的硬件对程序的访存行为进行监控,这种方法还不能应用在真实的机器上。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种多核环境下的共享缓存动态划分方法,其能感知程序的缓存需求变化,从而在最佳时机对程序的缓存作调整,此外,与现有的阶段行为分析方法相比,本发明对程序的性能几乎没有影响,能有效提高系统的整体性能。
为实现上述目的,本发明提供了一种多核环境下的共享缓存动态划分方法,包括以下步骤:
(1)初始化硬件计数器,启动多个应用程序,并利用硬件计数器对应用程序的运行信息进行采样;
(2)利用硬件计数器获取程序的基本块信息分析应用程序的阶段行为,通过提取应用程序的IPC变异系数来判断应用程序的阶段是否发生变化,若是则进入步骤(3),否则进入步骤(5);
(3)利用硬件计数器获取应用程序的缓存缺失间距,以得到缺失率曲线,并根据缺失率曲线制定应用程序的缓存划分策略;
(4)根据制定的缓存划分策略并利用动态页着色方法对应用程序的缓存进行重新分配;
(5)判断应用程序是否运行结束,若是则过程结束,否则返回步骤(2)。
步骤(1)是通过libpfm库的接口设置事件并读取硬件计数器,应用程序的运行信息包括有SBBV、IPC、以及缓存缺失间距。
针对SBBV的采样周期是任意正整数,IPC的采样周期是1000万、1亿或者10亿条指令,缓存缺失间距的采样周期是每一次缓存访问失效。
步骤(2)包括以下子步骤:
(2-1)将各应用程序划分为固定长度的程序段;具体而言,程序段是包含固定数目指令的一段程序,在本发明中固定数目为1000万、1亿或者10亿条指令;
(2-2)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-3),否则进入步骤(2-10);
(2-3)根据SBBV的采样周期来采样应用程序在各采样点的条件分支指令地址和条件分支指令间执行的指令数;
(2-4)利用采样到的条件分支指令地址和条件分支指令间执行的指令数建立稀疏基本块向量;
(2-5)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-6),否则进入步骤(2-7);
(2-6)为该程序段设置一个新的阶段,并保存该阶段对应的稀疏基本块向量,过程结束;
(2-7)获得该程序段的稀疏基本块向量与该应用程序以往出现的每一个阶段的稀疏基本块向量之间的对比结果;
(2-8)从获得的对比结果中取出与该程序段的稀疏基本块向量距离最小的阶段,并判断对应的最小距离是否大于阈值γ,若是则返回步骤(2-6),否则进入步骤(2-9);
(2-9)将该程序段与距离最小的阶段归为一类阶段,过程结束;
(2-10)采样应用程序在该程序段的IPC;
(2-11)根据采样得到的IPC计算该程序段的IPC变异系数COV;
(2-12)判断IPC变异系数COV是否大于阈值γ,若是则返回步骤(2-3),否则表示应用程序的阶段没有发生变化,过程结束。
对比结果是通过计算该程序段的稀疏基本块向量与以往出现的每一个阶段的稀疏基本块向量之间的欧拉距离或曼哈顿距离的方式得以获得。
IPC变异系数COV是采用以下计算公式获得:
其中i表示该程序段位于当前阶段的第i个程序段。
步骤(3)包括以下子步骤:
(3-1)判断应用程序是否出现新的阶段,若是则进入步骤(3-2),否则进入步骤(3-5);
(3-2)根据缓存缺失间距的采样周期获取应用程序在各采样点的缓存缺失间距数据;
(3-3)依据缓存缺失间距数据对累计缺失次数-累计访问次数曲线作线性拟合,拟合得到的曲线的斜率即为分维θ,拟合得到的曲线的截距即为截距A;
(3-4)根据线性拟合的结果计算缺失率曲线MRC=AθC(1-θ)/θ,其中C为CPU的最后一级缓存大小,然后进入步骤(3-6);
(3-5)根据步骤(2-9)的分类结果将当前程序段对应的阶段分类的缺失率曲线作为当前程序阶段的缺失率曲线;
(3-6)根据当前程序阶段的缺失率曲线制定新的缓存分配方案,过程结束。
步骤(3-6)中,划分给一个应用程序a的缓存大小Alloc_a={MRCa(x)|min(MRCa(x)+MRCb(C-x)),x∈[1,c-1]},划分给另一个应用程序b的缓存大小Alloc_b=c-Alloc_a,其中MRCa和MRCb分别为应用程序a和b的缓存缺失率曲线。
通过本发明所构思的以上技术方案,与现有技术相比,本发明具有以下的有益效果:
(1)优化缓存划分的时机:由于采用了步骤(2)中对应用程序的阶段行为进行分析,当监测到程序的阶段发生变化时,就对应用程序的缓存进行重新分配,使得应用程序能够在最恰当的时机获得合适的缓存,从而提高了系统的整体性能。
(2)可以应用在真实的机器上:由于采用了步骤(2)中提出的阶段行为分析方法和步骤(3)中提出的制定缓存划分策略方法,都是利用现代处理器上普遍存在的硬件计数器反馈程序的运行时信息,不需要依赖额外的硬件,也不会像其他诸如插茬法或模拟器法那样会对程序的性能造成很大的影响或运行时开销非常大,从而可以应用在真实的机器上。
(3)阶段行为分析的开销小:由于采用了步骤(2-3)、(2-11),与传统的阶段行为分析方法相比,本发明的开销非常小,对程序的性能几乎没有影响。
附图说明
图1为本发明多核环境下的共享缓存动态划分方法的总体流程图;
图2为本发明步骤(2)的细化流程图;
图3为本发明步骤(3)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
首先对本发明中的技术术语进行解释和定义:
稀疏基本块向量:英文表示为SBBV(Sparse Basic Block Vector,简称SBBV),程序阶段行为分析中用到的特征向量,包括条件分支指令地址和条件分支指令间执行的指令数。
缓存缺失间距:每次访问缓存失效时,所记录下的两次失效间总共访问缓存的次数;
缺失率曲线:英文表示为MRC(Miss Rate Curve,简称MRC),程序运行在某一缓存大小时,程序的缓存缺失率。
IPC变异系数:英文表示为COV(Coefficient of Variation,简称COV),用来表征应用程序每个程序段的IPC的差异性。
程序阶段:程序在运行过程中,程序的性能指标(例如IPC)可能会发生变化,属于同一阶段的程序片段具有类似的性能指标,而属于不同阶段的程序片段性能指标则不同,可以根据程序的性能指标,对程序划分不同的阶段。
本发明所述的多核环境下的共享缓存动态划分方法就是在程序运行的时候,利用程序的阶段行为指导共享缓存的动态划分。
下面结合附图对本发明作进一步详细的说明。
如图1所示,本发明多核环境下的共享缓存动态划分方法包括以下步骤:
(1)初始化硬件计数器,启动多个应用程序,并利用硬件计数器对应用程序的运行信息进行采样;具体而言,采样应用程序运行信息都是利用CPU上普遍存在的硬件计数器,具体实现时是通过libpfm库的接口设置事件并读取硬件计数器,应用程序的运行信息包括有SBBV、每个周期执行的指令数(Instruction Per Cycle,简称IPC)、缓存缺失间距,针对SBBV的采样周期是任意正整数,IPC的采样周期是1000万、1亿或者10亿条指令,缓存缺失间距的采样周期是每一次缓存访问失效,在本实施方式中,SBBV和IPC是采用稀疏采样方式;
(2)利用硬件计数器获取程序的基本块信息分析应用程序的阶段行为,通过提取应用程序的IPC变异系数来判断应用程序的阶段是否发生变化,若是则进入步骤(3),否则进入步骤(5);
(3)利用硬件计数器获取应用程序的缓存缺失间距,以得到缺失率曲线,并根据缺失率曲线制定应用程序的缓存划分策略;
(4)根据制定的缓存划分策略并利用动态页着色方法对应用程序的缓存进行重新分配;
(5)判断应用程序是否运行结束,若是则过程结束,否则返回步骤(2)。
如图2所示,本发明方法中的步骤(2)包括以下子步骤:
(2-1)将各应用程序划分为固定长度的程序段;具体而言,程序段是包含固定数目指令的一段程序,在本发明中固定数目为1000万、1亿或者10亿条指令;
(2-2)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-3),否则进入步骤(2-10);
(2-3)根据SBBV的采样周期来采样应用程序在各采样点的条件分支指令地址和条件分支指令间执行的指令数;
(2-4)利用采样到的条件分支指令地址和条件分支指令间执行的指令数建立稀疏基本块向量;
(2-5)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-6),否则进入步骤(2-7);
(2-6)为该程序段设置一个新的阶段,并保存该阶段对应的稀疏基本块向量,过程结束;
(2-7)获得该程序段的稀疏基本块向量与该应用程序以往出现的每一个阶段的稀疏基本块向量之间的对比结果;具体而言,对比结果是通过计算该程序段的稀疏基本块向量与以往出现的每一个阶段的稀疏基本块向量之间的欧拉距离或曼哈顿距离的方式得以获得,如果以往已经出现的阶段有n个,则可以得到n个不同的欧拉距离或曼哈顿距离;
(2-8)从获得的对比结果中取出与该程序段的稀疏基本块向量距离最小的阶段,并判断对应的最小距离是否大于阈值γ,若是则返回步骤(2-6),否则进入步骤(2-9);具体而言,γ的范围为0.125到0.5之间,在本实施方式中,γ取0.25;
(2-9)将该程序段与距离最小的阶段归为一类阶段,过程结束;
(2-10)采样应用程序在该程序段的IPC;
(2-11)根据采样得到的IPC计算该程序段的IPC变异系数COV;具体而言,是采用以下计算公式获得:
其中i表示该程序段位于当前阶段的第i个程序段;
(2-12)判断IPC变异系数COV是否大于阈值γ,若是则返回步骤(2-3),否则表示应用程序的阶段没有发生变化,过程结束。
如图3所示,本发明方法中的步骤(3)包括以下子步骤:
(3-1)判断应用程序是否出现新的阶段,若是则进入步骤(3-2),否则进入步骤(3-5);
(3-2)根据缓存缺失间距的采样周期获取应用程序在各采样点的缓存缺失间距数据;
(3-3)依据缓存缺失间距数据对累计缺失次数-累计访问次数曲线作线性拟合,拟合得到的曲线的斜率即为分维θ,拟合得到的曲线的截距即为截距A;具体而言,累计缺失次数就是指被采样的缓存缺失间距个数,累计访问次数是缓存缺失间距的和值;
(3-4)根据线性拟合的结果计算缺失率曲线MRC=AθC(1-θ)/θ,其中C为CPU的最后一级缓存大小,然后进入步骤(3-6);
(3-5)根据步骤(2-9)的分类结果将当前程序段对应的阶段分类的缺失率曲线作为当前程序阶段的缺失率曲线;
(3-6)根据当前程序阶段的缺失率曲线制定新的缓存分配方案,具体而言,对于两个应用程序a和b,它们的缓存缺失率曲线分别为MRCa和MRCb,划分给程序a的缓存大小为Alloc_a,则Alloc_a={MRCa(x)|min(MRCa(x)+MRCb(C-x)),x∈[1,c-1]},剩余的缓存都划分给程序b,即Alloc_b=c-Alloc_a,过程结束;在本实施方式中,以两个应用程序共享使用CPU缓存为示例进行说明,应该理解的是本发明也适用于多个应用程序共享使用CPU缓存的情况。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种多核环境下的共享缓存动态划分方法,其特征在于,包括以下步骤:
(1)初始化硬件计数器,启动多个应用程序,并利用硬件计数器对应用程序的运行信息进行采样;
(2)利用硬件计数器获取程序的基本块信息分析应用程序的阶段行为,通过提取应用程序的每周期指令IPC变异系数来判断应用程序的阶段是否发生变化,若是则进入步骤(3),否则进入步骤(5);本步骤包括以下子步骤:
(2-1)将各应用程序划分为固定长度的程序段;具体而言,程序段是包含固定数目指令的一段程序,在本发明中固定数目为1000万、1亿或者10亿条指令;
(2-2)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-3),否则进入步骤(2-10);
(2-3)根据稀疏基本块向量SBBV的采样周期来采样应用程序在各采样点的条件分支指令地址和条件分支指令间执行的指令数;
(2-4)利用采样到的条件分支指令地址和条件分支指令间执行的指令数建立稀疏基本块向量;
(2-5)判断应用程序当前执行的程序段是否是该应用程序的第一个程序段,若是则进入步骤(2-6),否则进入步骤(2-7);
(2-6)为该程序段设置一个新的阶段,并保存该阶段对应的稀疏基本块向量,过程结束;
(2-7)获得该程序段的稀疏基本块向量与该应用程序以往出现的每一个阶段的稀疏基本块向量之间的对比结果;
(2-8)从获得的对比结果中取出与该程序段的稀疏基本块向量距离最小的阶段,并判断对应的最小距离是否大于阈值γ,若是则返回步骤(2-6),否则进入步骤(2-9);
(2-9)将该程序段与距离最小的阶段归为一类阶段,过程结束;
(2-10)采样应用程序在该程序段的IPC;
(2-11)根据采样得到的IPC计算该程序段的IPC变异系数COV;
IPC变异系数COV是采用以下计算公式获得:
其中i表示该程序段位于当前阶段的第i个程序段;
(2-12)判断IPC变异系数COV是否大于阈值γ,若是则返回步骤(2-3),否则表示应用程序的阶段没有发生变化,过程结束;
(3)利用硬件计数器获取应用程序的缓存缺失间距,以得到缺失率曲线,并根据缺失率曲线制定应用程序的缓存划分策略;本步骤包括以下子步骤:
(3-1)判断应用程序是否出现新的阶段,若是则进入步骤(3-2),否则进入步骤(3-5);
(3-2)根据缓存缺失间距的采样周期获取应用程序在各采样点的缓存缺失间距数据;
(3-3)依据缓存缺失间距数据对累计缺失次数-累计访问次数曲线作线性拟合,拟合得到的曲线的斜率即为分维θ,拟合得到的曲线的截距即为截距A;
(3-4)根据线性拟合的结果计算缺失率曲线MRC=AθC(1-θ)/θ,其中C为CPU的最后一级缓存大小,然后进入步骤(3-6);
(3-5)根据步骤(2-9)的分类结果将当前程序段对应的阶段分类的缺失率曲线作为当前程序阶段的缺失率曲线;
(3-6)根据当前程序阶段的缺失率曲线制定新的缓存分配方案,过程结束;本步骤中,划分给一个应用程序a的缓存大小Alloc_a={MRCa(x)|min(MRCa(x)+MRCb(C-x)),x∈[1,c-1]},划分给另一个应用程序b的缓存大小Alloc_b=c-Alloc_a,其中MRCa和MRCb分别为应用程序a和b的缓存缺失率曲线;
(4)根据制定的缓存划分策略并利用动态页着色方法对应用程序的缓存进行重新分配;
(5)判断应用程序是否运行结束,若是则过程结束,否则返回步骤(2)。
2.根据权利要求1所述的共享缓存动态划分方法,其特征在于,
步骤(1)是通过libpfm库的接口设置事件并读取硬件计数器;
应用程序的运行信息包括有SBBV、IPC、以及缓存缺失间距。
3.根据权利要求2所述的共享缓存动态划分方法,其特征在于,针对SBBV的采样周期是任意正整数,IPC的采样周期是1000万、1亿或者10亿条指令,缓存缺失间距的采样周期是每一次缓存访问失效。
4.根据权利要求1所述的共享缓存动态划分方法,其特征在于,对比结果是通过计算该程序段的稀疏基本块向量与以往出现的每一个阶段的稀疏基本块向量之间的欧拉距离或曼哈顿距离的方式得以获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592360.6A CN103077128B (zh) | 2012-12-29 | 2012-12-29 | 一种多核环境下的共享缓存动态划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592360.6A CN103077128B (zh) | 2012-12-29 | 2012-12-29 | 一种多核环境下的共享缓存动态划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077128A CN103077128A (zh) | 2013-05-01 |
CN103077128B true CN103077128B (zh) | 2015-09-23 |
Family
ID=48153660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592360.6A Expired - Fee Related CN103077128B (zh) | 2012-12-29 | 2012-12-29 | 一种多核环境下的共享缓存动态划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077128B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015030756A1 (en) | 2013-08-29 | 2015-03-05 | Empire Technology Development Llc | Cache partitioning in a multicore processor |
CN104572493A (zh) * | 2013-10-23 | 2015-04-29 | 华为技术有限公司 | 一种存储器资源优化方法和装置 |
EP3062229A4 (en) * | 2013-12-31 | 2017-01-25 | Huawei Technologies Co., Ltd. | Data migration method, device and processor |
CN103970679B (zh) * | 2014-04-24 | 2017-02-01 | 华中科技大学 | 一种动态缓存污染防治系统及方法 |
CN107273308A (zh) * | 2017-06-12 | 2017-10-20 | 上海优刻得信息科技有限公司 | 一种基于cat的共享缓存分配方法、装置、介质以及设备 |
CN107145453B (zh) * | 2017-06-12 | 2019-09-06 | 优刻得科技股份有限公司 | 一种缓存失效率的预测方法、装置、可读介质和设备 |
CN107577616B (zh) * | 2017-09-05 | 2020-09-18 | 苏州浪潮智能科技有限公司 | 一种划分末级共享缓存的方法及系统 |
CN110389833B (zh) * | 2019-06-28 | 2023-06-16 | 北京大学深圳研究生院 | 一种处理器的性能调度方法及系统 |
CN110837480A (zh) * | 2019-11-07 | 2020-02-25 | 北京沃东天骏信息技术有限公司 | 缓存数据的处理方法及装置、计算机存储介质、电子设备 |
CN112540934B (zh) * | 2020-12-14 | 2022-07-29 | 山东师范大学 | 保证多个延迟关键程序共同执行时服务质量的方法及系统 |
US11520701B2 (en) * | 2021-04-02 | 2022-12-06 | Tenstorrent Inc. | Data structure optimized dedicated memory caches |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135793A (zh) * | 2011-03-29 | 2011-07-27 | 北京工业大学 | 一种面向低功耗的多核共享Cache混合划分方法 |
CN102609362A (zh) * | 2012-01-30 | 2012-07-25 | 复旦大学 | 一种共享高速缓存动态划分方法与电路 |
-
2012
- 2012-12-29 CN CN201210592360.6A patent/CN103077128B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135793A (zh) * | 2011-03-29 | 2011-07-27 | 北京工业大学 | 一种面向低功耗的多核共享Cache混合划分方法 |
CN102609362A (zh) * | 2012-01-30 | 2012-07-25 | 复旦大学 | 一种共享高速缓存动态划分方法与电路 |
Non-Patent Citations (2)
Title |
---|
Efficient software-based online phase classification;Sembrant A, Eklov D, Hagersten E;《Proceedings of the 2011 IEEE International Symposium on Workload Characterization (IISWC’11)》;20111108;正文第109页左栏第1行至第111页左栏第11行 * |
FractalMRC: An online cache Miss Rate Curve generating approach for commodity systems;He LL, Yu ZB, Jin H;《Proceedings of the 26th International Parallel and Distributed Processing Symposium (IPDPS’12)》;20120525;正文第3页左栏第56行至第5页左栏第9行,第8页右栏第7-23行 * |
Also Published As
Publication number | Publication date |
---|---|
CN103077128A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077128B (zh) | 一种多核环境下的共享缓存动态划分方法 | |
Suleman et al. | Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPs | |
Lee et al. | Improving throughput of power-constrained GPUs using dynamic voltage/frequency and core scaling | |
Bhadauria et al. | An approach to resource-aware co-scheduling for CMPs | |
US8643656B2 (en) | Energy-aware task consolidation on graphics processing unit (GPU) | |
WO2017016480A1 (en) | System and method for multithreaded processing | |
US20170371761A1 (en) | Real-time performance tracking using dynamic compilation | |
CN103559148B (zh) | 面向多任务嵌入式系统的片上便笺式存储器管理方法 | |
Rawlins et al. | An application classification guided cache tuning heuristic for multi-core architectures | |
Lorenzon et al. | On the influence of static power consumption in multicore embedded systems | |
CN110852930B (zh) | 一种基于OpenCL的FPGA图处理加速方法和系统 | |
Kim et al. | Understanding energy aspects of processing-near-memory for HPC workloads | |
Wu et al. | Dynamic-compiler-driven control for microprocessor energy and performance | |
Sarkar et al. | Compiler techniques for reducing data cache miss rate on a multithreaded architecture | |
CN108009121B (zh) | 面向应用的动态多核配置方法 | |
Tang et al. | Memory-side acceleration for XML parsing | |
Ramesh et al. | Energy management in embedded systems: Towards a taxonomy | |
Rakvic et al. | Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors | |
Asaduzzaman et al. | On the design of low-power cache memories for homogeneous multi-core processors | |
Wang et al. | An architecture‐level graphics processing unit energy model | |
Chiou et al. | A data-traffic aware dynamic power management for general-purpose graphics processing units | |
Fang et al. | A performance conserving approach for reducing memory power consumption in multi-core systems | |
Enokido et al. | The Extended Power Consumption Model to Perform Computation Type Application Processes on Virtual Machines | |
Zhu et al. | Performance–energy adaptation of parallel programs in pervasive computing | |
Datsios et al. | Performance and power trade-offs for cryptographic applications in embedded processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150923 Termination date: 20211229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |