초록
캐시 메모리의 성능에 큰 영향을 미치는 요소 중 하나인 캐시 교체 알고리즘 중에서 가장 최적의 성능을 가지는 알고리즘은 LRU알고리즘이다. LRU알고리즘은 데이터의 temporal locality특성이 강한 프로그램에서 좋은 성능을 보여주지만, 그렇지 않은 프로그램에서는 많은 캐시 미스를 발생시킨다. 본 논문에서는 LRU알고리즘의 이러한 단점을 개선하기 위한 새로운 카운터 기반 교체 알고리즘인 DCR(Dynamic Counter based Replacement) 알고리즘을 제안한다. 본 논문에서는 캐시에 저장된 이후로 교체되기 전까지 다시 사용되지 않는 데이터인 zero reuse line의 발생 추이를 관찰함으로써 프로그램의 temporal locality 특성이 시간에 따라 동적으로 변화함을 보였다. 그리고 이에 착안하여 제안하는 DCR 알고리즘은 주기적으로 zero reuse line의 수를 카운트하여 프로그램의 temporal locality 변화에 대응할 수 있도록 하였다. DCR 알고리즘은 기존의 LRU알고리즘과 비교하여 최대 2.7%, 평균 0.47%의 미스율 감소를 보였다.
Replacement policy is one of the key factors determining the effectiveness of a cache. The LRU replacement policy has remained the standard for caches for many years. However, the traditional LRU has ineffective performance in zero-reuse line intensive workloads, although it performs well in high temporal locality workloads. To address this problem, We propose a new replacement policy; DCR(Dynamic Counter based Replacement) policy. A temporal locality of workload dynamically changes across time and DCR policy is based on the detection of these changing. DCR policy improves cache miss rate over a traditional LRU policy, by as much as 2.7% at maximum and 0.47% at average.