Filter cache: filtering useless cache blocks for a small but efficient shared last-level cache

Han Jun Bae, Lynn Choi

Research output: Contribution to journalArticle

Abstract

Although the shared last-level cache (SLLC) occupies a significant portion of multicore CPU chip die area, more than 59% of SLLC cache blocks are not reused during their lifetime. If we can filter out these useless blocks from SLLC, we can effectively reduce the size of SLLC without sacrificing performance. For this purpose, we classify the reuse of cache blocks into temporal and spatial reuse and further analyze the reuse by using reuse interval and reuse count. From our experimentation, we found that most of spatially reused cache blocks are reused only once with short reuse interval, so it is inefficient to manage them in SLLC. In this paper, we propose a new small additional cache called Filter Cache to the SLLC, which cannot only check the temporal reuse but also can prevent spatially reused blocks from entering the SLLC. Thus, we do not maintain data for non-reused blocks and spatially reused blocks in the SLLC, dramatically reducing the size of the SLLC. Through our detailed simulation on PARSEC benchmarks, we show that our new SLLC design with Filter Cache exhibits comparable performance to the conventional SLLC with only 24.21% of SLLC area across a variety of different workloads. This is achieved by its faster access and high reuse rates in the small SLLC with Filter Cache.

Original languageEnglish
JournalJournal of Supercomputing
DOIs
Publication statusAccepted/In press - 2020 Jan 1

Keywords

  • Cache organization
  • Multicore CPU
  • Reuse rate
  • Shared last-level cache
  • Spatial reuse
  • Temporal reuse

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Filter cache: filtering useless cache blocks for a small but efficient shared last-level cache'. Together they form a unique fingerprint.

  • Cite this