A Split Cache Hierarchy for Enabling Data-oriented Optimizations
2017 (English)Conference paper (Refereed)
Today’s caches tightly couple data with metadata at the cache line granularity. One result of this is that they require a multitude of different solutions for finding data (associative way searches and level-by-level searches), evictions (coherent writebacks buffers and associative level-by-level searches) and coherence (directory indirections and associative levelby-level searches) due to the co-location of the data and its identifying metadata. This results in complex implementations with many corner cases, increased latency and energy, and limited flexibility for data optimizations.
We propose splitting the metadata and data into two separate cache hierarchies. The metadata hierarchy tracks the location of the data and makes the hierarchy more efficient and flexible as we need only keep the metadata coherent. This allows us to easily apply many different cache optimizations on the data hierarchy, including smart data placement, dynamic coherence, and direct accesses.
The new split cache hierarchy, Direct-to-Master (D2M), provides a unified mechanism for cache searching, eviction, and coherence, all without the need for indirections through a central directory, level-by level data movement and searches, and with no associative cache address tags for locating data. Optimizations such as near-side LLC slices and private/shared data classification can easily be built on top off D2M to further improve its efficiency. This approach delivers a 54% improvement in cache hierarchy EDP vs. a mobile processor and 40% vs. a server processor, reduces network traffic by an average of 65%, and is especially effective for workloads with large instruction footprints.
Place, publisher, year, edition, pages
Research subject Computer Science
IdentifiersURN: urn:nbn:se:uu:diva-306368OAI: oai:DiVA.org:uu-306368DiVA: diva2:1040373
International Symposium on High Performance Computer Architecture (HPCA)