Title :
End-to-end sequential consistency
Author :
Singh, Abhayendra ; Narayanasamy, Satish ; Marino, Daniel ; Millstein, Todd ; Musuvathi, Madanlal
Author_Institution :
Univ. of Michigan, Ann Arbor, MI, USA
Abstract :
Sequential consistency (SC) is arguably the most intuitive behavior for a shared-memory multithreaded program. It is widely accepted that language-level SC could significantly improve programmability of a multiprocessor system. However, efficiently supporting end-to-end SC remains a challenge as it requires that both compiler and hardware optimizations preserve SC semantics. While a recent study has shown that a compiler can preserve SC semantics for a small performance cost, an efficient and complexity-effective SC hardware remains elusive. Past hardware solutions relied on aggressive speculation techniques, which has not yet been realized in a practical implementation. This paper exploits the observation that hardware need not enforce any memory model constraints on accesses to thread-local and shared read-only locations. A processor can easily determine a large fraction of these safe accesses with assistance from static compiler analysis and the hardware memory management unit. We discuss a low-complexity hardware design that exploits this information to reduce the overhead in ensuring SC. Our design employs an additional unordered store buffer for fast-tracking thread-local stores and allowing later memory accesses to proceed without a memory ordering related stall. Our experimental study shows that the cost of guaranteeing end-to-end SC is only 6.2% on average when compared to a system with TSO hardware executing a stock compiler´s output.
Keywords :
multi-threading; program compilers; shared memory systems; storage management; end-to-end sequential consistency; hardware memory management unit; hardware optimizations; low-complexity hardware design; memory accesses; memory model constraints; multiprocessor system; performance cost; shared read-only locations; shared-memory multithreaded program; static compiler analysis; Buffer storage; Hardware; Instruction sets; Memory management; Optimization; Semantics;
Conference_Titel :
Computer Architecture (ISCA), 2012 39th Annual International Symposium on
Conference_Location :
Portland, OR
Print_ISBN :
978-1-4673-0475-7
Electronic_ISBN :
1063-6897
DOI :
10.1109/ISCA.2012.6237045