A Cache System Design for CMPs with Built-In Coherence Verification

This work reports an effective design of cache system for Chip Multiprocessors CMPs. It introduces built-in logic for verification of cache coherence in CMPs realizing directory based protocol. It is developed around the cellular automata CA machine, invented by John von Neumann in the 1950s. A special class of CA referred to as single length cycle 2-attractor cellular automata TACA has been planted to detect the inconsistencies in cache line states of processors’ private caches. The TACA module captures coherence status of the CMPs’ cache system and memorizes any inconsistent recording of the cache line states during the processors’ reference to a memory block. Theory has been developed to empower a TACA to analyse the cache state updates and then to settle to an attractor state indicating quick decision on a faulty recording of cache line status. The introduction of segmentation of the CMPs’ processor pool ensures a better efficiency, in determining the inconsistencies, by reducing the number of computation steps in the verification logic. The hardware requirement for the verification logic points to the fact that the overhead of proposed coherence verification module is much lesser than that of the conventional verification units and is insignificant with respect to the cost involved in CMPs’ cache system.

[1]  Haixia Wang,et al.  Network caching for Chip Multiprocessors , 2009, 2009 IEEE 28th International Performance Computing and Communications Conference.

[2]  Mark Horowitz,et al.  An evaluation of directory schemes for cache coherence , 1998, ISCA '98.

[3]  George Kurian,et al.  ATAC: A 1000-core cache-coherent processor with on-chip optical network , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[4]  Hui Wang,et al.  Dynamic Error Detection for Dependable Cache Coherency in Multicore Architectures , 2008, 21st International Conference on VLSI Design (VLSID 2008).

[5]  Karthik Ramani,et al.  Interconnect-Aware Coherence Protocols for Chip Multiprocessors , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).

[6]  Alberto Ros,et al.  Scalable Directory Organization for Tiled CMP Architectures , 2008, CDES.

[7]  David R. Kaeli,et al.  Multi2Sim: A simulation framework for CPU-GPU computing , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[8]  Nazma Naskar,et al.  Characterization of Single Cycle CA and its Application in Pattern Classification , 2009, AUTOMATA.

[9]  Biplab K. Sikdar,et al.  Directory based cache coherence verification logic in CMPs cache system , 2013, MES '13.

[10]  Mostafa Mahmoud,et al.  Hybrid limited-pointer linked-list cache directory and cache coherence protocol , 2013, 2013 Second International Japan-Egypt Conference on Electronics, Communications and Computers (JEC-ECC).

[11]  Biplab K. Sikdar,et al.  Design of directory based cache coherence protocol verification logic in CMPs around TACA , 2013, 2013 International Conference on High Performance Computing & Simulation (HPCS).

[12]  Rana Ejaz Ahmed Energy-Aware Cache Coherence Protocol for Chip-Multiprocessors , 2006, 2006 Canadian Conference on Electrical and Computer Engineering.

[13]  Akira Yamawaki,et al.  Coherence maintenances to realize an efficient parallel processing for a cache memory with synchronization on a chip-multiprocessor , 2005, 8th International Symposium on Parallel Architectures,Algorithms and Networks (ISPAN'05).

[14]  Simon W. Moore,et al.  Designing a Physical Locality Aware Coherence Protocol for Chip-Multiprocessors , 2013, IEEE Transactions on Computers.

[15]  Karl Sammut,et al.  Formal verification of a novel snooping cache coherence protocol for CMP , 2007 .

[16]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[17]  Michel Dubois,et al.  Verification techniques for cache coherence protocols , 1997, CSUR.

[18]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[19]  Alberto Ros,et al.  A Direct Coherence Protocol for Many-Core Chip Multiprocessors , 2010, IEEE Transactions on Parallel and Distributed Systems.

[20]  Nazma Naskar,et al.  Characterization of CA Rules for SACA Targeting Detection of Faulty Nodes in WSN , 2010, ACRI.

[21]  Biplab K. Sikdar,et al.  An Efficient Test Design for Verification of Cache Coherence in CMPs , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[22]  Andrew A. Chien,et al.  The future of microprocessors , 2011, Commun. ACM.

[23]  Zhiying Wang,et al.  Transient Fault Recovery on Chip Multiprocessor based on Dual Core Redundancy and Context Saving , 2008, 2008 The 9th International Conference for Young Computer Scientists.

[24]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.