Systems-on-Chip with Strong Ordering
Open Access
- 20 January 2021
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Architecture and Code Optimization
- Vol. 18 (1), 1-27
- https://doi.org/10.1145/3428153
Abstract
Sequential consistency (SC) is the most intuitive memory consistency model and the easiest for programmers and hardware designers to reason about. However, the strict memory ordering restrictions imposed by SC make it less attractive from a performance standpoint. Additionally, prior high-performance SC implementations required complex hardware structures to support speculation and recovery. In this article, we introduce the lockstep SC consistency model (LSC), a new memory model based on SC but carefully defined to accommodate the data parallel lockstep execution paradigm of GPUs. We also describe an efficient LSC implementation for an APU system-on-chip (SoC) and show that our implementation performs close to the baseline relaxed model. Evaluation of our implementation shows that the geometric mean performance cost for lockstep SC is just 0.76% for GPU execution and 6.11% for the entire APU SoC compared to a baseline with a weaker memory consistency model. Adoption of LSC in future APU and SoC designs will reduce the burden on programmers trying to write correct parallel programs, while also simplifying the implementation and verification of systems with heterogeneous processing elements and complex memory hierarchies.1Keywords
Funding Information
- AFRL (FA9550-18-1-0166)
- NSF (CCF-1628384, CCF-1813434, and CCF-2010830)
This publication has 42 references indexed in Scilit:
- Herding CatsACM Transactions on Programming Languages and Systems, 2014
- An Axiomatic Memory Model for POWER MultiprocessorsLecture Notes in Computer Science, 2012
- Stability in Weak Memory ModelsLecture Notes in Computer Science, 2011
- x86-TSOCommunications of the ACM, 2010
- Effective Program Verification for Relaxed Memory ModelsLecture Notes in Computer Science, 2008
- Mechanisms for store-wait-free multiprocessorsACM SIGARCH Computer Architecture News, 2007
- Multifacet's general execution-driven multiprocessor simulator (GEMS) toolsetACM SIGARCH Computer Architecture News, 2005
- Memory ordering: a value-based approachIEEE Micro, 2004
- Multiprocessors should support simple memory consistency modelsComputer, 1998
- Shared memory consistency models: a tutorialComputer, 1996