Print this page

A Few Ways Can Take You a Long Way

Daniel Sanchez and Christos Kozyrakis, Stanford

 

We present two complementary techniques to

  1. significantly improve cache associativity and efficiency
  2. enable scalable cache partitioning for many-cores, summarizing work presented at MICRO 2010 and ISCA 2011.

First, we present ZCache, a novel cache design that allows much higher associativity than cache ways (e.g. a 64-associative cache with 4 ways). Hits, the common case, require a single lookup, incurring the latency and energy costs of a cache with a small number of ways. On a miss, additional tag lookups happen off the critical path, yielding more replacement candidates for the incoming line. We show that in zcaches, associativity depends only on the number of candidates, not ways. Moreover, an R-candidate ZCache provides higher associativity than an R-way set-associative cache.

Second, we leverage the highly-associative ZCache to develop Vantage, a novel cache partitioning technique that overcomes the limitations of traditional approaches: Vantage can maintain tens of partitions with sizes specified at cache line granularity, while maintaining high associativity and strong isolation among partitions. Vantage is derived from analytical models, which provide strict guarantees on associativity and sizing independent of the number of partitions and their behaviors. It is simple to implement, requiring simple modifications to the cache controller.