60 Years of Mastering Concurrent Computing through Sequential Thinking - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles ACM SIGACT News Year : 2020

60 Years of Mastering Concurrent Computing through Sequential Thinking

Abstract

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.
Fichier principal
Vignette du fichier
Sigact-News-V5.pdf (442.95 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03162635 , version 1 (17-06-2021)

Identifiers

Cite

Sergio Rajsbaum, Michel Raynal. 60 Years of Mastering Concurrent Computing through Sequential Thinking. ACM SIGACT News, 2020, 51 (2), pp.59-88. ⟨10.1145/3406678.3406690⟩. ⟨hal-03162635⟩
65 View
257 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More