Skip to Main Content
As CPUs are becoming significantly faster, it is important that the performance of the memory system keeps pace; otherwise, the speed of the overall system will be compromised by the memory system bottleneck. A key component in bridging such a gap is to reconsider the cache memory. Most of the existing designs of the cache system base their replacement decisions on just one parameter: the access recency or frequency. Lots of efforts have been made in an attempt to combine such parameters in the most desirable way using mathematical relations. However, as different workloads have different characteristics, it is not possible to express such parameters relation with exact mathematical formulas. Fuzzy logic, a very powerful and efficient technique of tackling engineering problems, is used to construct an engine which significantly improves the block replacement decision in contemporary cache systems. In this paper, we describe the detailed implementation of a fuzzy logic cache replacement engine. Our input to the underlying system are the block access recency, frequency, and block reuse-distance in which a dismissal index is generated indicating the probability of a block to be swapped out.