Cache line reservation: exploring a scheme for cache-friendly object allocation

  • Authors:
  • Ivan Bilicki;Vijay Sundaresan;Daryl Maier;Nikola Grčevski;Željko Žilic

  • Affiliations:
  • McGill University;IBM Canada;IBM Canada;IBM Canada;McGill University

  • Venue:
  • CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a novel idea for object allocation, cache line reservation (CLR), whose goal is to reduce data cache misses. Certain objects are allocated from "reserved" cache lines, so that they don't evict other objects that will be needed later. We discuss what kinds of allocations could benefit from CLR, as well as sources of overhead. Basic prototypes were implemented in the IBM® J9 Java™ virtual machine (JVM) and its Testarossa just-in-time (JIT) compiler. We present preliminary results, which show that CLR can offer a benefit in specialized microbenchmarks, but not yet in SPECjbb2005 and SPECjvm2008. Furthermore, we discuss the limitations of the current implementation and suggest areas for improvement. CLR is not limited to Java applications, and we hope to see it developed for other compilers.