2022.07.20

X-Cache: A Modular Architecture for Domain-Specific Caches

Terminology:

  • non-affine memeory access
  • cache
    • data-structure walks
    • multiple refills
    • preloading
  • data orchestration

Intro

Emerging DSAs target a broad set of applications characterized by

  • Non-affine data structure

    DSAs typically organize data in DRAM with a minimal footprint. Hence, they employ sparse data structures, indirect-indexes, and hash tables. Getting an element's global address requires data structure traversal

  • Dynamic accesses

    Both the data structure and loop pattern cause emerging DSAs to have dynamic (i.e. indirectly addressed) and irregular non-linear accesses. A cache is necessary to capture the reuse.

  • Walkers

    Since data is stored in non-linear data structures, a walker is required to traverse and preload the cache. A single miss could trigger multiple nested preloads

  • Explicit orchestration

    Finally, DSAs need to explicitly orchestrate cache replacement and refill with the computational datapaths.