z-logo
open-access-imgOpen Access
60 Years of Mastering Concurrent Computing through Sequential Thinking
Author(s) -
Sergio Rajsbaum,
Michel Raynal
Publication year - 2020
Publication title -
acm sigact news
Language(s) - English
Resource type - Journals
eISSN - 1943-5827
pISSN - 0163-5700
DOI - 10.1145/3406678.3406690
Subject(s) - concurrency , computer science , mutual exclusion , distributed computing , concurrent computing , concurrency control , fault tolerance , shared memory , programming language , parallel computing , database transaction
Modern computing systems are highly concurrent. Threads run concurrently in shared-memory multi-core systems, and programs run in different servers communicating by sending messages to each other. Concurrent programming is hard because it requires to cope with many possible, unpredictable behaviors of the processes, and the communication media. The article argues that right from the start in 1960's, the main way of dealing with concurrency has been by reduction to sequential reasoning. It traces this history, and illustrates it through several examples, from early ideas based on mutual exclusion (which was initially introduced to access shared physical resources), passing through consensus and concurrent objects (which are immaterial data), until today distributed ledgers. A discussion is also presented, which addresses the limits that this approach encounters, related to fault-tolerance, performance, and inherently concurrent problems.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom