CN106383792B - 一种基于缺失感知的异构多核缓存替换方法 - Google Patents
一种基于缺失感知的异构多核缓存替换方法 Download PDFInfo
- Publication number
- CN106383792B CN106383792B CN201610836077.1A CN201610836077A CN106383792B CN 106383792 B CN106383792 B CN 106383792B CN 201610836077 A CN201610836077 A CN 201610836077A CN 106383792 B CN106383792 B CN 106383792B
- Authority
- CN
- China
- Prior art keywords
- cache
- cache blocks
- access
- algorithm
- application program
- 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.)
- Active
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/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/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种基于缺失感知的异构多核缓存替换方法,包括:首选在异构多核的结构下,实现Ruby模式下的LRU缓存替换算法和LFU缓存替换算法;然后通过实时的、动态的比较两个替换算法的缺失数的大小,在LRU和LFU替换算法之间动态进行切换;最后在GPU应用程序所使用的缓存替换算法中,修改缓存块换入时或刚访问过时默认存放在的缓存队列中的最高位置,将GPU应用程序访问时的缓存块的优先权值降低一位。采用本发明的技术方案,提高缓存利用率来以及提升系统的性能。
Description
技术领域
本发明属于计算机体系缓存系统结构领域,尤其涉及一种基于缺失感知的异构多核缓存替换方法。
背景技术
大数据时代的到来给海量数据处理带来了新的挑战,传统的多核架构难以满足大规模计算的需求,GPU和CPU在芯片上的结合是缓解大规模计算压力的一种趋势。工业界通过整合不同类型的处理器于同一芯片上,形成了一个异构多核处理器架构。在CPU-GPU异构系统中,CPU主要负责执行串行的任务和逻辑控制,GPU在并行计算上具有很大的优势,通过在芯片上集成不同类型的处理器并充分发挥它们在各自应用场景下的性能优势,并充分利用各处理器核的性能优势对多种特定类型的任务进行加速,能够同时满足不同领域应用在芯片面积、计算性能、功耗等多方面的需求,因而被广泛应用于计算机体系结构领域。
Cache替换策略的目标是通过一定的规则来确定插入一个新的缓存块到适当的位置,并确定合适的缓存块将其进行更换,以达到自己的性能指标。不合适的缓存管理和替换策略会对整个系统的性能产生不利的影响。在异构多核的情况下,每个核不仅拥有一个比较大的共享缓存外还拥有自己的私有缓存,这些不利的影响会被扩大。在多级存储架构下,最后一级Cache的容量不断增大,加上多个不同类型的核共享最后一级Cache资源,会引起大量的竞争冲突现象,大大的降低了Cache的命中率,因此替换算法的优劣在异构多核中越来越受到重视。尤其最近的研究显示,异构多核系统中最后一级Cache(Last Level Cache,LLC)呈现出更大容量及更高相联度的发展趋势,而且异构多核环境下的应用工作集远远大于Cache容量,影响了数据访问的局部性。
缓存作为异构多核系统中重要的核间共享资源,是影响系统性能与功耗的主要部件。而Cache替换算法又是影响Cache性能的一个关键因素,因此实现一个有效的替换算法从而提高二级Cache的利用率成为优化系统性能的一个重要的指标。Cache替换策略的主要目标是使命中率最大化,减少缓存管理的开销。它在管理缓存数据方面起到了决定性的作用,所以为了获取缓存中内存使用效率的最大化,一个好的Cache替换策略可以在缓冲池中高效缓存频繁使用的数据块使得访问数据速度变快,从而提高了吞吐量和降低了响应时间。一个好的缓存算法可以在缓冲池中高效缓存频繁使用的数据块并提供对数据进行更快地访问,从而提高系统的吞吐量和缩短响应时间。
针对GPU和CPU在内存访问上有不同的访问特征,其中最重要的一点是:GPU应用程序包含大量的线程,这导致了GPU应用程序比CPU应用程序访问缓存会更加频繁。随着片上CPU个数与GPU个数的增加,共享最后一级Cache的冲突问题也变得日益严峻,因此提出了面向不同类型应用程序的Cache替换策略的动态调整,通过牺牲缓存块优先权限的绝对公平为代价来提高系统的整体性能为目标的Cache替换策略优化算法。
发明内容
本发明要解决的技术问题是,提供一种基于缺失感知的异构多核缓存替换方法。
目前异构多核环境下采用的缓存替换策略主要是LRU算法,根据LRU的规则,被访问的数据块在经历一定的时间后若一直未被再次访问将被换出,若某一数据块被访问的频率很高,但是两次访问之间存在一定的时间差,那么这一数据块很有可能被频繁地换入换出,将造成系统性能的降低。显然,如果这一数据块一直存在于缓存中,缓存的利用率更高,可以提升系统的性能。针对这一缺陷,提出了在运行过程中动态地切换替换策略的优化方法。此外综合分析CPU应用程序和GPU应用程序的特征,考虑到在LLC的访问上,GPU应用程序占据了大量LLC空间,而CPU主要负责执行串行的任务和逻辑控制,导致CPU应用程序对Cache块的需求较GPU应用程序而言更为敏感,因此CPU应用程序在访问LLC时,应将它到达缓存队列中的的优先级别与GPU应用程序的优先级别有所区别,即CPU应用程序和GPU应用程序动态地非绝对公平地共享LLC。通过上述方法来提升异构多核环境下的整体系统性能。
为达到上述目的,本发明采用以下技术方案。
一种基于缺失感知的异构多核缓存替换方法包括如下步骤:
步骤1、在异构多核的结构下,实现Ruby模式下的LRU缓存替换算法;
步骤2、在异构多核的结构下,实现LFU缓存替换算法;
步骤3、通过实时的、动态的比较两个替换算法的缺失数的大小,在LRU和LFU替换算法之间动态进行切换,具体包括:
步骤3.1、在LRU替换算法中增加用于记录LRU算法导致的缺失数的标识RMiss;
步骤3.2、在LFU替换算法中增加用于记录LFU算法导致的缺失数的标识FMiss;
步骤3.3、对控制缓存队列中缓存块的查找、替换相关操作的主要类文件CacheMemory中添加一个标识符Flag,用于控制在应用程序运行过程中动态切换替换算法;
步骤3.4、为Flag设置初始值,在每一次缓存缺失时,判断此时Flag的值得出此时系统使用的替换算法,并对RMiss和FMiss进行相应的自增操作;
步骤3.5、通过RMiss和FMiss的比较,对Flag进行修改或者保持不变;
步骤3.6、以上3.1至3.5步,均是对缓存类的修改,需要将这些缓存块增加的属性传递给运行过程中的具体算法类;
步骤3.7,在具体替换算法类中,切换如何选取淘汰缓存块的规则;
步骤4、在GPU应用程序所使用的缓存替换算法中,修改缓存块换入时或刚访问过时默认存放在的缓存队列中的最高位置,将GPU应用程序访问时的缓存块的优先权值降低一位。
作为优选,步骤1具体包括:
步骤1.1、为缓存类中增加用于记录缓存块访问时间的指针变量,用于记录缓存队列中每一组每一路的缓存块的最近一次访问的时间;
步骤1.2、每一次访问缓存队列中的缓存块时或有新的缓存块到达缓存队列中时,修改缓存块的相应的访问时间的属性;
步骤1.3、当要访问的缓存块不存在当前的缓存队列的时候,从当前的缓存队列中选择出访问时间最小的缓存块进行替换,将新的缓存块放入缓存队列,并进行相应的访问时间等相关属性的初始化;。
步骤1.4、释放存放访存块访问时间的指针变量存放的内容,释放内存。
作为优选,步骤2具体包括:
步骤2.1、为缓存类中增加用于记录缓存块访问频率的指针变量,用于记录缓存队列中每一组每一路的缓存块的访问次数;
步骤2.2、每一次访问缓存队列中的缓存块时或有新的缓存块到达缓存队列中时,修改缓存块的相应的访问次数的属性;
步骤2.3、当要访问的缓存块不存在当前的缓存队列的时候,从当前的缓存队列中选择出访问次数最少的缓存块进行替换,将需要访问的新的缓存块放入缓存队列,并进行相应的访问时间和访问次数等相关属性的初始化;
步骤2.4、释放存放访存块访问次数的指针变量存放的内容,释放内存。
与现有技术相比,本发明具有以下优点:
目前针对异构多核下Cache替换策略的研究主要是集中在LRU算法上,由于LRU缓存替换的规则中只考虑了缓存块进入缓存队列的新近访问时间,忽略了异构多核下GPU应用程序的访存特征是由缓存块的访问频率所主导的。此外,由于GPU应用程序和CPU应用程序对数据需求敏感度有较大的差别,GPU应用程序对缓存的依赖性远远低于CPU应用程序,即GPU应用程序对缓存的需求远远没有CPU应用程序对缓存的需求高。目前的共享Cache替换策略没有考虑到针对具有不同特征的CPU和GPU应用程序应该将他们的优先级分别对待,盲目的对这两类应用程序实施同样的Cache替换策略会导致缓存的利用率极大的降低,本文所提出的缓存替换优化方法在兼顾考虑缓存块新近访问时间和访问频率的同时降低了GPU应用程序在缓存链中的优先级,从而一定程度上提高了系统的整体性能。
附图说明
为使本发明的目的,方案更加通俗易懂,下面将结合附图对本发明进一步说明。
图1为异构多核处理器系统的结构图,该异构多核处理器由多个CPU核心和多个GPU核心组成,每个核心都有自己的私有一级Cache,LLC在系统中的设置为L2级,在图1中表现为GPUL2Cache,这些CPU核心和GPU核心共享LLC和DRAM(Mem),并通过片上互连网络(network)模块进行通信;
图2为基于缺失感知的动态缓存替换方法流程图;
图3为缓存替换算法优化后CPU应用程序的IPC平均提升度;
图4为缓存替换算法优化后GPU应用程序的IPC平均提升度。
具体实施方式
为使本发明的目的,技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。
本发明所涉及的是基于缺失感知的异构多核缓存替换算法,以一个具有两个CPU核心、四个GPU核心,每个核心均拥有各自的L1Cache但共享一个L2Cache的异构处理器为例,如图1所示。运行的CPU测试程序是单线程的SPEC CPU2006,GPU应用程序为Rodinia。每一个workload由一个CPU测试程序和一个GPU应用程序组成。在模拟器中,使用的是一致性协议为:X86_VI_hammer_GPU。该协议中CPU和GPU拥有各自的L1Cache,共同访问L2Cache。
本发明提供一种基于缺失感知的异构多核缓存替换方法,首先进行LRU和LFU算法的实现,为两个算法分别添加记录各自缺失数的成员属性RMiss和FMiss。为了在系统的运行过程中动态的实时的在两个算法之间进行动态的切换,在系统的缓存类中加入了Flag标识,当选择LRU替换算法时导致的RMiss超过了选择LFU替换算法时导致的FMiss时,动态地切换到LFU替换算法,反之同理。这种优化兼顾考虑了缓存块的访问时间新近度和缓存块的访问频率。此外,考虑到GPU应用程序对缓存的需求远远没有CPU应用程序对缓存的需求高,可以通过在访问具体缓存块时,区分这个请求是具体来自GPU还是CPU,如果是GPU应用程序在则降低该缓存块插入缓存链中的优先级。通过这两个方案提升异构多核系统的整体性能。具体步骤如下:
步骤1,在异构多核的结构下,目前使用的模拟器为gem5-gpu,其中针对CPU应用程序的运行是使用的伪LRU算法,故第一步应该实现Ruby模式下的LRU缓存替换算法。
步骤1.1,为缓存类AbstractReplacementPolicy类中增加用于记录缓存块访问时间的类型为Tick的指针变量**m_last_ref_ptr,用于记录缓存队列中每一组每一路的缓存块的最近一次访问的时间。同时在相应类的构造函数内,为其进行初始化:**m_last_ref_ptr=NULL。
步骤1.2,每一次访问缓存队列中的缓存块时,修改缓存块的相应的访问时间的属性。每一个替换算法中都拥有各自的touch()函数,用来表示命中缓存队列中缓存块之后进行的相应的操作,需要在各替换算法的touch()函数中,对访问的具体的组具体的索引值的缓存块的位置上的指针变量进行访问时间的赋值:m_last_ref_ptr[set][index]=time。
步骤1.3,当要访问的缓存块不存在当前的缓存队列的时候,从当前的缓存队列中选择出访问时间最小的缓存块进行替换,需要在缓存替换算法中的getVictim()函数内,对缓存队列中的缓存块按照访问时间大小的顺序进行排列,将访问时间最小的,即筛选出存在访存队列中但最久未被访问的缓存块进行淘汰。将新的缓存块放入缓存队列,并进行相应的访问时间等相关属性的初始化。
步骤1.4,在对应的缓存替换算法类中的析构函数内释放存放访存块访问时间的指针变量存放的内容,通过delete[]m_last_ref_ptr来释放内存。
步骤2,在异构多核的结构下,实现LFU缓存替换算法。
步骤2.1,为缓存类AbstractReplacementPolicy中增加用于记录缓存块访问频率的类型为int的指针变量**m_count_ref_ptr的指针变量,用于记录缓存队列中每一组每一路的缓存块的访问次数。
步骤2.2,每一次访问缓存队列中的缓存块时或有新的缓存块到达缓存队列中时,修改缓存块的相应的访问次数的属性。需要在各替换算法的touch()函数中,对访问的具体的组具体的索引值的缓存块的位置上的指针变量进行访问次数的递增操作:m_count_ref_ptr[set][index]+=1。
步骤2.3,当要访问的缓存块不存在当前的缓存队列的时候,从当前的缓存队列中选择出访问次数最少的缓存块进行替换,需要在缓存替换算法中的getVictim()函数内,对缓存队列中的缓存块按照访问频率大小的顺序进行排列,将访问次数最少的,即筛选出存在访存队列中但最不经常被使用的缓存块进行淘汰。将需要访问的新的缓存块放入缓存队列,并进行相应的访问时间和访问次数等相关属性的初始化:m_count_ref_ptr[set][index]=1和m_last_ref_ptr[set][index]=time;。
步骤2.4,在对应的缓存替换算法类中的析构函数内释放存放访存块访问次数的指针变量存放的内容,通过delete[]m_count_ref_ptr来释放内存。
步骤3,通过实时的、动态的比较两个替换算法的缺失数的大小,在LRU和LFU替换算法之间动态进行切换,如图2所示。
步骤3.1,在LRU替换算法中增加用于记录LRU算法导致的缺失数的标识RMiss,在PseudoLRUPolicy和LRUPolicy类的父类文件AbstractReplacementPolicy中增加int型变量int RMiss。同时,基于面向对象的思想对它进行getter和setter函数的添加。
步骤3.2,在LFU替换算法中增加用于记录LFU算法导致的缺失数的标识FMiss,在AbstractReplacementPolicy中增加int型变量int FMiss。同时,基于面向对象的思想对它进行getter和setter函数的添加。
步骤3.3,对控制缓存队列中缓存块的查找、替换等相关操作的主要类文件CacheMemory中添加一个标识符Flag。用于控制在应用程序运行过程中动态切换替换算法。
1)Flag=0;使用LRU算法;
2)Flag=1;使用LFU算法;
3)对它进行getter和setter函数的添加
步骤3.4,为Flag设置初始值。在每一次缓存缺失时,判断此时Flag的值得出此时系统使用的替换算法,并对RMiss和FMiss进行相应的自增操作。
步骤3.5,通过RMiss和FMiss的比较,对Flag进行修改或者保持不变,具体情况为:当RMiss小于或等于FMiss时,将Flag赋值为0;当RMiss大于FMiss时,将Flag赋值为1。
步骤3.6,通过在AbstractReplacementPolicy类中定义的CacheMemory的实例*m_cache,可以将上述对缓存类的修改传递至AbstractReplacementPolicy类的子类即各个替换算法具体实现类中去。
步骤3.7,在具体替换算法类中,当传递过来的Flag值为0时,系统使用LRU替换算法的规则选取淘汰块;当传递过来的Flag值为1时,系统使用LFU替换算法的规则选取淘汰块。
步骤4,在GPU应用程序所使用的缓存替换算法中,具体的实现类是LRUPolicy类,在touch()函数中修改缓存块换入时或刚访问过时默认存放在的缓存队列中的最高位置。将GPU应用程序访问时的缓存块的优先权值降低一位。
下面根据实验结果再做具体的分析:
如图3所示,我们评估了不同工作集下CPU应用程序的IPC提升比率,缓存替换算法优化后CPU应用程序的IPC平均提升6.8%,尤其对CPU应用程序perlbench而言,在组合backprop进行测试时,达到了IPC提升9.1%的效果。可以说明我们的优化方法对PERL编程语言领域有着重要的意义。如图4所示,我们评估了不同工作集下GPU应用程序的IPC提升比率,缓存替换算法优化后GPU应用程序的IPC平均提升7.0%,尤其对GPU应用程序guassian而言,在组合lbm进行测试时,达到了IPC提升7.5%的效果。可以说明我们的优化方法对流体动力学领域的研究有着重要的意义。实验结果表明,本文所述的异构多核架构下基于缺失感知的缓存替换算法优化方法对系统的性能提升有着重要的影响。
本发明的基于缺失感知的异构多核缓存替换方法,异构多核架构下,缓存作为异构多核系统中重要的核间共享资源,是影响系统性能与功耗的主要部件。目前异构多核环境下Cache替换策略的实现都是线程盲目的,对缓存的利用率较低。而GPU应用程序和CPU应用程序具有各自的特性,CPU主要负责执行串行的任务和逻辑控制,GPU在并行计算上具有很大优势,导致CPU应用程序对Cache块的需求较GPU应用程序而言更为敏感。针对这一特点,可以在算法中增加对线程优先级的考虑,使CPU应用程序和GPU应用程序动态地非绝对公平地共享LLC。此外,通过动态地选择适合现有运行状态的替换策略,在考虑Cache块的新近访问时间的同时兼顾Cache块访问频率这一因素,从而提高缓存利用率来进一步提升系统的性能。
Claims (3)
1.一种基于缺失感知的异构多核缓存替换方法,其特征在于,包括如下步骤:
步骤1、在异构多核的结构下,实现Ruby模式下的LRU缓存替换算法;
步骤2、在异构多核的结构下,实现LFU缓存替换算法;
步骤3、通过实时的、动态的比较两个替换算法的缺失数的大小,在LRU和LFU替换算法之间动态进行切换,具体包括:
步骤3.1、在LRU替换算法中增加用于记录LRU算法导致的缺失数的标识RMiss;
步骤3.2、在LFU替换算法中增加用于记录LFU算法导致的缺失数的标识FMiss;
步骤3.3、对缓存块对应的应用程序进行判断,如果判断为GPU应用程序,则将缓存块的最高优先权设为6,如果判断不为GPU应用程序,则将缓存块的最尚优先权设为7;
步骤3.4、对控制缓存队列中缓存块的查找、替换相关操作的主要类文件CacheMemory中添加一个标识符Flag,用于控制在应用程序运行过程中动态切换替换算法;
步骤3.5、为Flag设置初始值,在每一次缓存缺失时,判断此时Flag的值得出此时系统使用的替换算法,并对RMiss和FMiss进行相应的自增操作;
步骤3.6、通过RMiss和FMiss的比较,对Flag进行修改或者保持不变;
步骤3.7、以上3.1至3.6步,均是对缓存块的修改,需要将这些缓存块增加的属性传递给运行过程中的具体缓存替换算法;
步骤3.8,在具体缓存替换算法中,切换如何选取淘汰缓存块的规则;
步骤4、在GPU应用程序所使用的缓存替换算法中,修改缓存块换入时或刚访问过时默认存放在的缓存队列中的最高位置,将GPU应用程序访问时的缓存块的优先权值降低一位。
2.如权利要求1所述的基于缺失感知的异构多核缓存替换方法,其特征在于,步骤1具体包括:步骤1.1、为缓存块中增加用于记录缓存块访问时间的指针变量,用于记录缓存队列中每一组每一路的缓存块的最近一次访问的时间;
步骤1.2、每一次访问缓存队列中的缓存块时或有新的缓存块到达缓存队列中时,修改缓存块的相应的访问时间的属性;
步骤1.3、当要访问的缓存块不存在当前的缓存队列中的时候,从当前的缓存队列中选择出访问时间最小的缓存块进行替换,将新的缓存块放入缓存队列,并进行相应的访问时间的初始化;
步骤1.4、释放存放访存块访问时间的指针变量存放的内容,释放内存。
3.如权利要求1所述的基于缺失感知的异构多核缓存替换方法,其特征在于,步骤2具体包括:步骤2.1、为缓存块中增加用于记录缓存块访问频率的指针变量,用于记录缓存队列中每一组每一路的缓存块的访问次数;步骤2.2、每一次访问缓存队列中的缓存块时或有新的缓存块到达缓存队列中时,修改缓存块的相应的访问次数的属性;
步骤2.3、当要访问的缓存块不存在当前的缓存队列中的时候,从当前的缓存队列中选择出访问次数最少的缓存块进行替换,将需要访问的新的缓存块放入缓存队列,并进行相应的访问时间和访问次数的初始化;
步骤2.4、释放存放访存块访问次数的指针变量存放的内容,释放内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610836077.1A CN106383792B (zh) | 2016-09-20 | 2016-09-20 | 一种基于缺失感知的异构多核缓存替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610836077.1A CN106383792B (zh) | 2016-09-20 | 2016-09-20 | 一种基于缺失感知的异构多核缓存替换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106383792A CN106383792A (zh) | 2017-02-08 |
CN106383792B true CN106383792B (zh) | 2019-07-12 |
Family
ID=57936650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610836077.1A Active CN106383792B (zh) | 2016-09-20 | 2016-09-20 | 一种基于缺失感知的异构多核缓存替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106383792B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656875B (zh) * | 2017-09-15 | 2020-05-15 | 至誉科技(武汉)有限公司 | 作为系统盘的固态硬盘缩短上电时间的方法及系统 |
CN108228351B (zh) * | 2017-12-28 | 2021-07-27 | 上海交通大学 | Gpu的性能均衡调度方法、存储介质及电子终端 |
CN108399145B (zh) * | 2018-02-08 | 2021-07-30 | 山东大学 | 一种cpu-gpu异构平台共享末级缓存管理方法、架构及装置 |
CN109032964A (zh) * | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | 缓存替换方法及其装置、异构多核系统 |
CN109375878A (zh) * | 2018-10-26 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种缓存资源处理方法、装置以及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694640A (zh) * | 2009-10-22 | 2010-04-14 | 浙江大学 | 多核架构下共享二级Cache的替换策略的实现方法 |
CN102799538A (zh) * | 2012-08-03 | 2012-11-28 | 中国人民解放军国防科学技术大学 | 一种基于分组LRU的Cache替换算法 |
CN103106153A (zh) * | 2013-02-20 | 2013-05-15 | 哈尔滨工业大学 | 基于访问密度的web缓存替换方法 |
CN104077241A (zh) * | 2014-07-14 | 2014-10-01 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN106155938A (zh) * | 2016-06-23 | 2016-11-23 | 清华大学 | 延迟PCM内存使用寿命的cache替换方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748491B2 (en) * | 2001-04-19 | 2004-06-08 | International Business Machines Corporation | Designing a cache using an LRU-LFU array |
US7673102B2 (en) * | 2006-05-17 | 2010-03-02 | Qualcomm Incorporated | Method and system for maximum residency replacement of cache memory |
-
2016
- 2016-09-20 CN CN201610836077.1A patent/CN106383792B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694640A (zh) * | 2009-10-22 | 2010-04-14 | 浙江大学 | 多核架构下共享二级Cache的替换策略的实现方法 |
CN102799538A (zh) * | 2012-08-03 | 2012-11-28 | 中国人民解放军国防科学技术大学 | 一种基于分组LRU的Cache替换算法 |
CN103106153A (zh) * | 2013-02-20 | 2013-05-15 | 哈尔滨工业大学 | 基于访问密度的web缓存替换方法 |
CN104077241A (zh) * | 2014-07-14 | 2014-10-01 | 华为技术有限公司 | 缓存淘汰算法切换处理方法及装置 |
CN106155938A (zh) * | 2016-06-23 | 2016-11-23 | 清华大学 | 延迟PCM内存使用寿命的cache替换方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种基于频率的多核共享Cache替换算法;方娟 等;《电子与信息学报》;20140531;第36卷(第5期);第1229-1234页 |
Also Published As
Publication number | Publication date |
---|---|
CN106383792A (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383792B (zh) | 一种基于缺失感知的异构多核缓存替换方法 | |
US11086792B2 (en) | Cache replacing method and apparatus, heterogeneous multi-core system and cache managing method | |
Sanchez et al. | SCD: A scalable coherence directory with flexible sharer set encoding | |
US8904154B2 (en) | Execution migration | |
US20020053006A1 (en) | Cache control system | |
US20090006755A1 (en) | Providing application-level information for use in cache management | |
CN107463510B (zh) | 一种面向高性能的异构多核共享cache缓冲管理方法 | |
Kandemir et al. | A novel migration-based NUCA design for chip multiprocessors | |
JP4036206B2 (ja) | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 | |
CN106250348B (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
CN106708626A (zh) | 一种面向低功耗的异构多核共享cache划分方法 | |
CN103345451A (zh) | 一种在多核处理器中缓冲数据的方法 | |
CN101673244B (zh) | 多核或集群系统的存储器控制方法 | |
CN101916230A (zh) | 基于划分感知和线程感知的末级高速缓存的性能优化方法 | |
US20180113815A1 (en) | Cache entry replacement based on penalty of memory access | |
CN114036084B (zh) | 一种数据访问方法、共享缓存、芯片系统和电子设备 | |
CN105718242A (zh) | 多核dsp中支持软硬件数据一致性的处理方法及系统 | |
CN106126434B (zh) | 中央处理器的缓存区的缓存行的替换方法及其装置 | |
CN116501249A (zh) | 一种减少gpu内存重复数据读写的方法及相关设备 | |
Choi et al. | Memory harvesting in {Multi-GPU} systems with hierarchical unified virtual memory | |
Zhao et al. | Selectively GPU cache bypassing for un-coalesced loads | |
CN109521949A (zh) | 一种基于混合便签式存储器的感知写频率数据分配方法 | |
CN107861819B (zh) | 一种缓存组负载均衡的方法、装置和计算机可读存储介质 | |
CN104850508B (zh) | 基于数据局部性的访存方法 | |
Zhang et al. | DualStack: A high efficient dynamic page scheduling scheme in hybrid main memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |