PipeGen: Automated Transformation of a Single-Core Pipeline into a Multicore Pipeline for a Given Memory Consistency Model
Designing a pipeline for a multicore processor is difficult. One major challenge is designing it such that the pipeline correctly enforces the intended memory consistency model (MCM). We have developed the PipeGen design automation tool to allow architects to start with a single core pipeline that only enforces single-threaded correctness and automatically transform it to enforce a given MCM. Our key innovation is a set of compiler-like transformations that codify three different ways of enforcing memory ordering at the pipeline. We have validated that PipeGen correctly enforces the ARMv8 and x86TSO MCMs on three distinct pipeline implementations, using litmus tests with the Murphi model checker.
Authors
- Nicolai Oswald (ORCID: https://orcid.org/0009-0009-9272-0518)
- Andrés Goens (ORCID: https://orcid.org/0000-0002-0409-1363)
- Tobias Grosser (ORCID: https://orcid.org/0000-0003-3874-6003)
- Vijay Nagarajan (ORCID: https://orcid.org/0009-0000-5045-4754)
- Daniel J. Sorin (ORCID: https://orcid.org/0000-0001-7013-8986)
- An Qi Zhang
Institutions
- Duke University (US)
- University of Utah (US)
- University of Cambridge (GB)
- Nvidia (United States) (US)
- University of Amsterdam (NL)
Publication Details
- Published
- 2024-10-11
- DOI
- https://doi.org/10.1145/3656019.3676889
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation
- Engineering and Physical Sciences Research Council