In this paper, we shall explore weak memory models, their insidious effects, and how it could happen to you! It shall explained how and why both compilers and CPUs rewrite your program to make it faster, the inevitable fallout of this, and what you can do to protect your code. We shall craft a lock, building from a naïve and broken implementation up to a safe and correct form, and study the underlying model that requires these modifications as we go.
@InProceedings{bardsley:OASIcs.ICCSW.2014.11, author = {Bardsley, Ethel}, title = {{Everything you know is wrong: The amazing time traveling CPU, and other horrors of concurrency}}, booktitle = {2014 Imperial College Computing Student Workshop}, pages = {11--18}, series = {Open Access Series in Informatics (OASIcs)}, ISBN = {978-3-939897-76-7}, ISSN = {2190-6807}, year = {2014}, volume = {43}, editor = {Neykova, Rumyana and Ng, Nicholas}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.ICCSW.2014.11}, URN = {urn:nbn:de:0030-drops-47688}, doi = {10.4230/OASIcs.ICCSW.2014.11}, annote = {Keywords: Concurrency, weak memory, compilers} }
Feedback for Dagstuhl Publishing