2015 · 28 citations · 48 references
EngineeringComputer EngineeringComputer ScienceCluster ComputingComputer ArchitectureParallel ComputingCache CoherenceCachingData LocalityHierarchical DesignMemory HierarchyMemory Hierarchy DesignCache CoherencyCache HierarchiesCache Hierarchy CoherenceCache Hierarchy DesignCoherent Cache HierarchiesDirectory-based CoherenceHierarchyScalability
Hierarchical clustered cache designs are becoming an appealing alternative for multicores. Grouping cores and their caches in clusters reduces network congestion by localizing traffic among several hierarchical levels, potentially enabling much higher scalability. While such architectures can be formed recursively by replicating a base design pattern, keeping the whole hierarchy coherent requires more effort and consideration. The reason is that, in hierarchical coherence, even basic operations must be recursive. As a consequence, intermediate-level caches behave both as directories and as leaf caches. This leads to an explosion of states, protocol-races, and protocol complexity. While there have been previous efforts to extend directory-based coherence to hierarchical designs their increased complexity and verification cost is a serious impediment to their adoption. We aim to address these concerns by encapsulating all hierarchical complexity in a simple function: that of determining when a data block is shared entirely within a cluster (sub-tree of the hierarchy) and is private from the outside. This allows us to eliminate complex recursive operations that span the hierarchy and instead employ simple coherence mechanisms such as self-invalidation and write-through - now restricted to operate within the cluster where a data block is shared. We examine two inclusivity options and discuss the relation of our approach to the recently proposed Hierarchical-Race-Free (HRF) memory models. Finally, comparisons to a hierarchical directory-based MOESI, VIPS-M, and TokenCMP protocols show that, despite its simplicity our approach results in competitive performance and decreased network traffic.
48
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie et al. · 1995 · 3.6K citations · Full text
Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh et al. · 2008 · 3.4K citations
The SPLASH-2 programs: characterization and methodological considerations
Sandi Woo, Moriyoshi Ohara, Evan Torrie et al. · 2002 · 1.6K citations
The Stanford Dash multiprocessor
Daniel Lenoski, James Laudon, Kourosh Gharachorloo et al. · Computer · 1992 · 972 citations