[论文解读] Proficient Pair of Replacement Algorithms on L1 and L2 Cache for Merge Sort
本文提出了一种针对归并排序的新型两级缓存替换策略,为L1缓存引入基于分区的替换(PBR_L1)算法,并通过FIFO优化L2缓存。仿真结果表明,PBR_L1在不同缓存大小下相较于FIFO的性能提升达1.7%至44%,在所分析的工作负载中优于LRU和LFU。
Memory hierarchy is used to compete the processors speed. Cache memory is the fast memory which is used to conduit the speed difference of memory and processor. The access patterns of Level 1 cache (L1) and Level 2 cache (L2) are different, when CPU not gets the desired data in L1 then it accesses L2. Thus the replacement algorithm which works efficiently on L1 may not be as efficient on L2. Similarly various applications such as Matrix Multiplication, Web, Fast Fourier Transform (FFT) etc will have varying access pattern. Thus same replacement algorithm for all types of application may not be efficient. This paper works for getting an efficient pair of replacement algorithm on L1 and L2 for the algorithm Merge Sort. With the memory reference string of Merge Sort, we have analyzed the behavior of various existing replacement algorithms on L1. The existing replacement algorithms which are taken into consideration are: Least Recently Used (LRU), Least Frequently Used (LFU) and First In First Out (FIFO). After Analyzing the memory reference pattern of Merge Sort, we have proposed a Partition Based Replacement algorithm (PBR_L1)) on L1 Cache. Furthermore we have analyzed various pairs of algorithms on L1 and L2 respectively, resulting in finding a suitable pair of replacement algorithms. Simulation on L1 shows, among the considered existing replacement algorithms FIFO is performing better than others. While the proposed replacement algorithm PBR_L1 is working about 1.7% to 44 % better than FIFO for various cache sizes.
研究动机与目标
- 为解决在内存层次结构中单一代替算法在不同缓存层级下效率低下的问题。
- 分析归并排序的内存访问模式,以识别L1和L2缓存的最佳替换策略。
- 设计一种专用于归并排序执行期间L1缓存行为的定制化替换算法(PBR_L1)。
- 识别出一对高效的替换算法——一个用于L1,一个用于L2——特别针对归并排序的访问模式进行调优。
- 通过利用L1和L2缓存在排序工作负载中不同的访问特性,提升缓存性能。
提出的方法
- 分析了归并排序的内存引用字符串,以刻画L1和L2层级的访问模式。
- 通过仿真评估了现有替换算法(LRU、LFU和FIFO)在L1缓存上的表现。
- 为L1缓存提出了一种基于分区的替换(PBR_L1)算法,该算法根据访问频率和近期性将数据访问分组为多个分区。
- 基于仿真环境中的优异表现,选择FIFO作为L2替换算法。
- 通过仿真多种缓存大小和配置,将PBR_L1与LRU、LFU和FIFO在L1上的表现进行对比。
- 基于不同工作负载下的性能表现,确定了最优组合:L1使用PBR_L1,L2使用FIFO。
实验结果
研究问题
- RQ1在归并排序的内存访问模式下,传统替换算法(LRU、LFU、FIFO)在L1缓存中的表现如何?
- RQ2能否设计一种定制化替换算法,以更好地利用归并排序在L1缓存中的访问特性?
- RQ3对于归并排序,L1和L2缓存之间最有效的替换算法配对是什么?
- RQ4所提出的PBR_L1算法在缓存未命中率或性能方面是否优于现有算法?
- RQ5PBR_L1 + FIFO组合在不同L1缓存大小下的性能表现如何?
主要发现
- 在现有算法中,FIFO在归并排序工作负载的L1缓存中表现最佳。
- 所提出的PBR_L1算法在不同L1缓存大小下相较FIFO实现了1.7%至44%的性能提升。
- 在给定的归并排序访问模式下,PBR_L1在仿真环境中优于LRU和LFU。
- PBR_L1用于L1、FIFO用于L2的组合被证明是归并排序中最高效的配对。
- PBR_L1的性能提升在中等到大缓存尺寸下最为显著,表明其具有良好的可扩展性优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。