Send your promotional news to: email@example.com
Cache is an important component in computer architecture. It has great effects on the performance of systems. Nowadays, Least Recently Used (LRU) Algorithm is one of the most commonly used one because it is easy to implement and with a relatively good performance. However, in some particular cases, LRU is not a good choice. This paper proposes a new cache replacement policy named Fully Replacement Policy (FRP) and employs SimpleScalar, an open source program that can simulate cache replacement mechanism, and SPEC2000 benchmark to test the performance of FRP.
SPEC 2000 consists of two parts: CNIT2000 (Integer test) and CFP2000 (Floating-point test). In the test, the study employed gzip, crafty and vortex from CINT2000, equake, lucas and swim from CPF2000 as the benchmark.
Figure 1. L1 Cache miss rate improvement when using FRP comparing to LRU.
The study tests miss rates in different benchmarks and compare miss rates in FRP and LRU. These six benchmarks can be divided into two groups: the floating point benchmark (including equake, swim and lucas) and the integer benchmark (including crafty, gzip and vortex). Equake is an application of seismic wave propagation simulation; swim is a shallow water modeling; lucas is an application for number theory or primality testing; crafty is an application for chess game playing; gzip is compression and vortex is an object-oriented database. The specific result is shown in Figure 1.
The results of the study are that when the L1 cache has a block size of 32 bytes and with a 2-way associativity, Fully Replacement Policy works better than LRU most of the time, especially when the set size is small. Besides, when using Fully Replacement Policy, miss rate has nothing to do with the associativity of L1 cache while miss rate decreases as the increase of associativity when using LRU, which means that the less the associativity is, the better to use Fully Replacement Policy than LRU. FRP works better than LRU for most benchmarks when the set size is 64; the block size is 32 and associativity is 2.
Chuntao Du, Associate Prof., Ph.D. at the Department of Computer Science and Technology from North China University of Technology, Beijing, China.
Xinsong Du, Graduate Student at the Department of Electrical and Computer Engineering from University of Florida, Gainesville, Florida, USA.