Mastering concurrent computing through sequential thinking

A 50-year history of concurrency.

[1]  Michel Raynal,et al.  Distributed Algorithms for Message-Passing Systems , 2013, Springer Berlin Heidelberg.

[2]  Leslie Lamport,et al.  Concurrent reading and writing , 1977, Commun. ACM.

[3]  Lukas Furst Concurrent Programming Algorithms Principles And Foundations , 2016 .

[4]  Marcos K. Aguilera,et al.  How to implement any concurrent data structure for modern servers , 2017, OPSR.

[5]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[6]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[7]  Faith Ellen,et al.  Limitations of Highly-Available Eventually-Consistent Data Stores , 2015, IEEE Transactions on Parallel and Distributed Systems.

[8]  Bitcoin Proof of Stake: A Peer-to-Peer Electronic Cash System , 2020 .

[9]  Danny Dolev,et al.  On the minimal synchronism needed for distributed consensus , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[10]  Per Brinch Hansen The Origin of Concurrent Programming , 2002, Springer New York.

[11]  Christian Cachin,et al.  State Machine Replication with Byzantine Faults , 2010, Replication.

[12]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[13]  Michel Raynal,et al.  Fault-Tolerant Message-Passing Distributed Systems , 2018, Springer International Publishing.

[14]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[15]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[16]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[17]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[18]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[19]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[20]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[21]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[22]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[23]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[24]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[25]  Leslie Lamport,et al.  On Interprocess Communication-Part I: Basic Formalism, Part II: Algorithms , 2016 .

[26]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[27]  Michel Raynal,et al.  Unifying Concurrent Objects and Distributed Tasks , 2018, J. ACM.

[28]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[29]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[30]  Panagiota Fatourou,et al.  Highly-Efficient Wait-Free Synchronization , 2013, Theory of Computing Systems.

[31]  Leslie Lamport,et al.  A fast mutual exclusion algorithm , 1987, TOCS.

[32]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[33]  Achour Mostéfaoui,et al.  Conditions on input vectors for consensus solvability in asynchronous distributed systems , 2003, J. ACM.

[34]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[35]  Daniel J. Rosenkrantz,et al.  Concurrency control for database systems , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[36]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1992, PODC '92.

[37]  Gary L. Peterson,et al.  Concurrent Reading While Writing , 1983, TOPL.

[38]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[39]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[40]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.