Abstract
We aim at developing correct algorithms for a wide variety of weak consistency models \(M_0, \dots , M_n\). Given an algorithm A and a consistency model \(M \in \{M_0, \dots ,M_n\}\), at quite a high-level examining the correctness of the algorithm A under M amounts to asking, for example, “can these executions happen?”, or “are these the only possible executions?”. Since a few years, Luc Maranget and myself have been designing and developing the herd7 simulation tool: given a litmus test, i.e. a small piece of code and a consistency model, i.e. a set of constraints defining the valid executions of a program, the herd7 tool outputs all the possible executions of the litmus test under the consistency model. In recent works with Patrick Cousot, we have developed an invariance method for proving the correctness of algorithms under weak consistency models. In this paper I would like to give a general overview of these works.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alglave, J., Batty, M., Donaldson, A.F., Gopalakrishnan, G., Ketema, J., Poetzl, D., Sorensen, T., Wickerson, J.: GPU concurrency: weak behaviours and programming assumptions. In: ASPLOS (2015)
Alglave, J., Cousot, P., Maranget, L.: La langue au chat: cat, a language to describe consistency properties, 31 January 2015. Unpublished manuscript
Alglave, J., Cousot, P., Maranget, L.: Syntax and semantics of the cat language. HSA Foundation, Version 1.1:38 p., 16 October 2015
Alglave, J.: A Shared Memory Poetics. Ph.D. thesis, Université Paris \(7\) (2010)
Alglave, J., Maranget, L.: herd7, 31 August 2015. virginia.cs.ucl.ac.uk/herd
Alglave, J., Maranget, L., Tautschnig, M.: Herding cats: modelling, simulation, testing, and data-mining for weak memory. TOPLAS 36(2), 1–74 (2014)
Batty, M., Donaldson, A.F., Wickerson, J.: Overhauling SC atomics in C11 and OpenCL. In: POPL (2016)
Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. 3(2), 125–143 (1977)
Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28(9), 690–691 (1979)
Owicki, S.S., Gries, D.: An axiomatic proof technique for parallel programs I. Acta Inf. 6, 319–340 (1976)
Owens, S., Sarkar, S., Sewell, P.: A better x86 memory model: x86-TSO. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 391–407. Springer, Heidelberg (2009)
Peterson, G.L.: Myths about the mutual exclusion problem. Inf. Process. Lett. 12(3), 115–116 (1981)
SPARC International Inc. The SPARC Architecture Manual Version 9 (1994)
Acknowledgements
We thank Luc Maranget and Patrick Cousot for the thrilling years spent working together, hoping for many more to come. We thank Vincent Jacques for comments on a draft.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer-Verlag GmbH Germany
About this paper
Cite this paper
Alglave, J. (2016). Simulation and Invariance for Weak Consistency. In: Rival, X. (eds) Static Analysis. SAS 2016. Lecture Notes in Computer Science(), vol 9837. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-53413-7_1
Download citation
DOI: https://doi.org/10.1007/978-3-662-53413-7_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-53412-0
Online ISBN: 978-3-662-53413-7
eBook Packages: Computer ScienceComputer Science (R0)