Affiliation:
1. School of Electrical and Computer Engineering, Purdue University
Abstract
Cache coherence protocol bugs can cause multicores to fail. Existing coherence verification approaches incur state explosion at small scales or require considerable human effort. As protocols' complexity and multicores' core counts increase, verification continues to be a challenge. Recently, researchers proposed fractal coherence which achieves scalable verification by enforcing observational equivalence between sub-systems in the coherence protocol. A larger subsystem is verified implicitly if a smaller sub-system has been verified. Unfortunately, fractal protocols suffer from two fundamental limitations: (1) indirect-communication: sub-systems cannot directly communicate and (2) partially-serialinvalidations: cores must be invalidated in a specific, serial order. These limitations disallow common performance optimizations used by conventional directory protocols: replyforwarding where caches communicate directly and parallel invalidations. Therefore, fractal protocols lack performance scalability while directory protocols lack verification scalability. To enable both performance and verification scalability, we propose Fractal++ which employs a new class of protocol optimizations for verification-constrained architectures: decoupled-replies, contention-hints, and fully-parallel-fractal-invalidations. The first two optimizations allow reply-forwarding-like performance while the third optimization enables parallel invalidations in fractal protocols. Unlike conventional protocols, Fractal++ preserves observational equivalence and hence is scalably verifiable. In 32- core simulations of single- and four-socket systems, Fractal++ performs nearly as well as a directory protocol while providing scalable verifiability whereas the best-performing previous fractal protocol performs 8% on average and up to 26% worse with a single-socket and 12% on average and up to 34% worse with a longer-latency multi-socket system
Publisher
Association for Computing Machinery (ACM)
Reference34 articles.
1. Open source development labs database test suite 2 v0.40 http://osdldbt.sourceforge.net/. Open source development labs database test suite 2 v0.40 http://osdldbt.sourceforge.net/.
2. Postgresql. v9.2.0. http://www.postgresql.org/. Postgresql. v9.2.0. http://www.postgresql.org/.
3. The standard performance evaluation corporation. specJBB2005 suite. http://www.spec.org/jbb2005/. The standard performance evaluation corporation. specJBB2005 suite. http://www.spec.org/jbb2005/.
4. AMD. Revision Guide for AMD Family 14H Models 00h-0Fh Processors revision 3.18. February 2013. AMD. Revision Guide for AMD Family 14H Models 00h-0Fh Processors revision 3.18. February 2013.