# Concurrency * [Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask](http://sigops.org/sosp/sosp13/papers/p33-david.pdf) * [Time, Clocks, and the Ordering of Events in a Distributed System](http://lamport.azurewebsites.net/pubs/time-clocks.pdf) * [Heap Architectures For Concurrent Languages Using Message Passing](http://www.fantasi.se/publications/ISMM02.pdf) * [Message Analysis for Concurrent Languages](http://user.it.uu.se/~kostis/Papers/escape.pdf) * [Finding Race Conditions in Erlang with QuickCheck and PULSE](http://publications.lib.chalmers.se/records/fulltext/125252/local_125252.pdf) * [The Semantics of x86-CC Multiprocessor Machine Code](http://www.cl.cam.ac.uk/~pes20/weakmemory/popl09.pdf) *Note: This contribution here is the focus on the rigorous semantics for x86 multiprocessor programs and an axiomatic definition of the memory model. Their definitions and proofs are backed by the [HOL](http://en.wikipedia.org/wiki/HOL_(proof_assistant))(Higher Order Logic) proof assistant.* * :scroll: [Experience with Processes and Monitors in Mesa](https://people.eecs.berkeley.edu/~brewer/cs262/Mesa.pdf) * [Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms](http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)