Frequent value locality and its applications

  • Authors:
  • Jun Yang;Rajiv Gupta

  • Affiliations:
  • University of Arizona, Tucson, AZ;University of Arizona, Tucson, AZ

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS)
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

By analyzing the behavior of a set of benchmarks, we demonstrate that a small number of distinct values tend to occur very frequently in memory. On an average, only eight of these frequent values were found to occupy 48% of memory locations for the benchmarks studied. In addition, we demonstrate that the identity of frequent values remains stable over the entire execution of the program and these values are scattered fairly uniformly across the allocated memory. We present three different algorithms for finding frequent values and experimentally demonstrate their effectiveness. Each of these algorithms is designed to suit a different application scenario. Since the contents of memory exhibit frequent value locality, it is expected that frequent values will be observed in data streams that flow across different points in the memory hierarchy. We exploit this observation for developing two low-power designs: a low-power level-one data cache and a low-power external data bus. In each of these applications a different form of encoding of frequent values is employed to obtain a low-power design. We also experimentally demonstrate the effectiveness of these designs.