[Paper Review] Mastering Concurrent Computing Through Sequential Thinking: A Half-century Evolution
This paper traces the evolution of concurrent computing over the past 50 years, arguing that the dominant paradigm—reducing concurrent problems to sequential reasoning—has enabled progress in distributed systems, ledgers, and fault-tolerant computing. Despite its success, the approach faces fundamental limits in performance, consistency, and expressiveness, particularly in inherently concurrent problems and systems requiring high availability or scalability.
Concurrency, the art of doing many things at the same time is slowly becoming a science. It is very difficult to master, yet it arises all over modern computing systems, both when the communication medium is shared memory and when it is by message passing. Concurrent programming is hard because it requires to cope with many possible, unpredictable behaviors of communicating processes interacting with each other. Right from the start in the 1960s, the main way of dealing with concurrency has been by reduction to sequential reasoning. We trace this history, and illustrate it through several examples, from early ideas based on mutual exclusion, passing through consensus and concurrent objects, until today ledgers and blockchains. We conclude with a discussion on the limits that this approach encounters, related to fault-tolerance, performance, and inherently concurrent problems.
Motivation & Objective
- To trace the historical evolution of concurrent computing through the lens of sequential reasoning as a unifying paradigm.
- To identify the core conceptual tools—sequential specifications, consistency conditions, consensus, and synchronization—that underlie successful concurrent systems.
- To analyze the limitations of the sequential reasoning approach in modern distributed systems, especially regarding fault tolerance, performance, and inherently concurrent problems.
- To examine how modern systems like blockchains and distributed ledgers challenge or extend the classical sequential abstraction.
- To explore tradeoffs between consistency, availability, and performance in distributed systems, particularly in light of the CAP theorem and eventual consistency.
Proposed method
- Analyzes the historical progression of concurrent systems from mutual exclusion in shared memory to consensus and state machine replication.
- Uses sequential specifications as the foundation for specifying concurrent objects, ensuring correctness through linearizability and consistency conditions.
- Applies the concept of universal constructions to build replicated state machines from basic primitives like consensus and total order broadcast.
- Examines blockchain systems as a modern application of sequential reasoning, where temporary forks and eventual consistency relax strict linearizability for scalability.
- Evaluates performance tradeoffs in distributed ledgers by comparing ordered ledgers (e.g., Bitcoin) with partially ordered ones (e.g., IOTA, Hashgraph), which reduce communication overhead.
- Applies formal models such as the ABD algorithm and the CAP theorem to analyze the limits of consistency and availability in concurrent systems.
Experimental results
Research questions
- RQ1How has the reduction of concurrent programming to sequential reasoning shaped the design and correctness of distributed systems over the past 50 years?
- RQ2What are the fundamental limitations of using sequential specifications and linearizability in inherently concurrent or highly available systems?
- RQ3To what extent can performance and scalability be improved by relaxing consistency guarantees, as seen in eventual consistency and blockchain systems?
- RQ4Why do systems like blockchains tolerate temporary inconsistency (e.g., forks) despite the goal of strong consistency?
- RQ5Are there inherently concurrent problems that cannot be captured by sequential specifications, and what alternatives exist?
Key findings
- The sequential reasoning paradigm has been central to the development of concurrent systems, enabling formal specification and verification through sequential specifications and consistency conditions.
- Linearizability, while a strong correctness guarantee, is expensive in practice and often relaxed in real-world systems to improve performance and availability.
- Blockchains like Bitcoin introduce a tradeoff: temporary forks violate strong consistency, but eventual convergence ensures consistency with high probability after sufficient depth.
- Distributed ledgers based on directed acyclic graphs (e.g., IOTA, Hashgraph) achieve higher scalability by avoiding global ordering and reducing communication overhead.
- The CAP theorem limits the simultaneous achievement of consistency, availability, and partition tolerance, explaining why temporary inconsistency is unavoidable in many distributed systems.
- Not all concurrent problems can be captured by sequential specifications, indicating a fundamental boundary to the sequential reasoning approach, especially in dynamic or highly concurrent environments.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.