Abstract

The SPARC TSO weak memory model is defined axiomatically, with a non-compositional formulation that makes modular reasoning about programs difficult. Our denotational approach uses pomsets to provide a compositional semantics capturing exactly the behaviours permitted by SPARC TSO. Our approach facilitates the study of SPARC TSO and supports modular analysis of program behaviour.

Highlights

  • A memory model specifies what values can be read by a thread from a given memory location during execution

  • Our denotational approach uses pomsets to provide a compositional semantics capturing exactly the behaviours permitted by SPARC TSO

  • We show that our denotational account is sound and complete relative to the axiomatic account, that is, that it captures exactly the behaviours permitted by the axiomatic account

Read more

Summary

Introduction

A memory model specifies what values can be read by a thread from a given memory location during execution. Executing the following instance of the Dekker algorithm on a sequentially consistent system from an initial state where memory locations w, x, y, z are all zero will ensure that we end in a state where not both z and w are set to one:. Key words and phrases: SPARC TSO, denotational semantics, pomsets, concurrency, weak memory models. The SPARC Architecture Manual [SPA92] gives an axiomatic description of TSO using partial orders of actions This is because the axiomatic approach is non-compositional and precludes modular reasoning To ensure our denotational semantics accurately captures the behaviour of SPARC TSO, we show in Section 4 that from every denotation of a program we can derive a collection of partial orders satisfying the axiomatic description of Section 2 and, that we can derive every such partial order from the denotation

An Axiomatic Account
A Denotational Account
Soundness and Completeness
Related Work
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call