60 Years of Mastering Concurrent Computing through Sequential Thinking - Archive ouverte HAL
Article Dans Une Revue ACM SIGACT News Année : 2020

60 Years of Mastering Concurrent Computing through Sequential Thinking

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Identifiants

Citer

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⟩
83 Consultations
515 Téléchargements

Altmetric

Partager

More