Parallelized sequential composition, pipelines, and hardware weak memory models
Robert J. Colvin

TL;DR
This paper introduces a new formal framework for reasoning about weak memory models in multicore processors, enabling better understanding and verification of their behaviors and security implications.
Contribution
It proposes a novel parallelized sequential composition operator that generalizes existing models and facilitates reasoning about weak memory behaviors using formal methods.
Findings
The framework can express many known weak memory behaviors.
The semantics are verified in a theorem prover.
Empirical validation shows conformance with ARM and RISC-V models.
Abstract
Since the introduction of the CDC 6600 in 1965 and its `scoreboarding' technique processors have not (necessarily) executed instructions in program order. Programmers of high-level code may sequence independent instructions in arbitrary order, and it is a matter of significant programming abstraction and computational efficiency that the processor can be relied upon to make sensible parallelizations/reorderings of low-level instructions to take advantage of, eg., multiple ALUs. At the architectural level such reordering is typically implemented via a per-processor pipeline, into which instructions are fetched in order, but possibly committed out of order depending on local considerations, provided any reordering preserves sequential semantics from that processor's perspective. However multicore architectures, where several pipelines run in parallel, can expose these processor-level…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
