PACTPipeGen: 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.
Cite
@inproceedings{zhang2024pipegen,
author = {Zhang, An Qi and Goens, Andrés and Oswald, Nicolai and Grosser, Tobias and Sorin, Daniel and Nagarajan, Vijay},
title = {{PipeGen: Automated Transformation of a Single-Core Pipeline into a Multicore Pipeline for a Given Memory Consistency Model}},
booktitle = {Proceedings of the 2024 International Conference on Parallel Architectures and Compilation Techniques},
series = {PACT},
year = {2024},
month = {10},
publisher = {ACM},
doi = {10.1145/3656019.3676889},
url = {https://doi.org/10.1145/3656019.3676889}
}