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.