Home > People > Jan Reineke > Relacs

Relacs - Automatic Relative Competitive Analysis

Relacs is a tool for automatic relative competitive, sensitivity, and relative dominance analysis. Click on the button below to start Relacs.

Copyright © 2009. All rights reserved.

Relative Competitiveness, Sensitivity, and Relative Dominance

Relative competitiveness is a generalization of the notion of competitiveness of Sleator and Tarjan [5]: Relative competitive ratios bound the performance of a replacement policy relative to the performance of another policy on any possible workload. For a short introduction and definition of relative competitiveness consider [1]. One of the benefits of relative competitive ratios is that they yield new static cache analyses for policies that could previously not be dealt with, like FIFO. It may also provide a better understanding of the relation between different policies.

The sensitivity of a replacement policy captures how strongly the initial state of the cache may influence the cache's performance in the long run. For details, see [3].

The notion of relative dominance [4] has been introduced by Dorrigiv, Lopez-Ortiz, and Munro. It bounds the difference in miss rates between two policies.

For fixed associativities, Relacs can automatically determine the relative competitiveness, sensitivity, and relative dominance of policies. For details on the automation see [2,3].

Supported Replacement Policies

Relacs currently supports the following replacement policies:

  • LRU - Least-Recently-Used. Replaces the block whose last accesses is least recent.
  • FIFO - First-In First-Out, also known as Round-Robin. Replaces the block which has been in the cache for the longest time.
  • FWF - Flush-When-Full. If the cache is full and a miss occurs, FWF flushes its entire contents.
  • PLRU - Pseudo-LRU, a tree-based approximation of LRU.
  • Transpose - Maintains an order on its contents. The least block in this order is replaced upon a miss. Upon an access, a block exchanges its place with its predecessor in the order. See [5].
  • MRU - Maintains a bit for each line to remember which lines have recently been used. Replaces a line that has not been recently used. Described in [6].
  • NonDet - Non-deterministically chooses which block to replace upon a miss. A policy is k-competitive relative to NonDet if and only if it is k-competitive relative to OPT.
  • OPT - Optimal replacement, also known as BEL and MIN. In contrast to the other policies, OPT is an offline policy, i.e. it bases its decisions not only on the past accesses but also on future accesses. Being optimal, OPT is 1-competitive relative to any policy.

It is quite easy to extend Relacs to support further policies. If you are interested in a particular policy not listed here, please let us know.


  1. "Relative Competitiveness of Replacement Policies" (extended abstract), J. Reineke, D. Grund. In SIGMETRICS '08: Proceedings of the 2008 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, 2008.
  2. "Relative Competitive Analysis of Cache Replacement Policies", J. Reineke, D. Grund. In LCTES '08: Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems, 2008.
  3. "Sensitivity of Cache Replacement Policies", J. Reineke, D. Grund. Reports of SFB/TR 14 AVACS 36, March 2008.
  4. "On the Relative Dominance of Paging Algorithms", R. Dorrigiv, A. Lopez-Ortiz, J. Ian Munro. In ISAAC '07: 18th International Symposium on Algorithms and Computation, 2007.
  5. "Amortized efficiency of list update and paging rules", D. D. Sleator, R. E. Tarjan. Commun. ACM, 28(2), 1985.
  6. "Performance evaluation of cache replacement policies for the SPEC CPU2000 benchmark suite", H. Al-Zoubi, A. Milenkovic, and M. Milenkovic. In ACM-SE 42: Proceedings of the 42nd annual Southeast regional conference, 2004.


Jan Reineke
FR. 6.2 - Informatik, Building E1 3, Room 404
Universität des Saarlandes
Postfach 15 11 50
66041 Saarbrücken

Tel.: +49 - 681 - 302 5573
Fax : +49 - 681 - 302 3065
Mail: reineke (at) cs (dot) uni-sb (dot) de