Live briefing
Everything about Linearizability
Property of some operation(s) in concurrent programming
In concurrent programming, an operation is linearizable if it consists of an ordered list of invocation and response events, that may be extended by adding response events such that:The extended list can be re-expressed as a sequential history. That sequential history is a subset of the original unextended list. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: LinearizabilityA 5-minute orientation
- Skim a recent paper: The Impact of Long-Term Memory Effects on the Linearizability of GaN HEMT-Based Power AmplifiersInfluential work since 2022
- Pick up a classic book: Distributed Algorithms for Message-Passing SystemsThe most-reprinted book on the subject
- Read the landmark paper: Linearizability: a correctness condition for concurrent objectsCited 2,253 times
- Go sideways: Compare-and-swapA closely related topic
- Go sideways: Fetch-and-addA closely related topic
📖 Definitions
Noun The condition of being linearizable.
Noun The extent to which something is linearizable.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Linearizability: a correctness condition for concurrent objects
Sequential consistency versus linearizability
Feedback Linearizability and Explicit Integrator Forwarding Controllers for Classes of Feedforward Systems
Adaptive Approximation-Based Regulation Control for a Class of Uncertain Nonlinear Systems Without Feedback Linearizability
Approximate and local linearizability of non-linear discrete-time systems
Integrability and linearizability of the Lotka–Volterra systems
Mechanically verified proof obligations for linearizability
Integrability and linearizability of cubic Z2 systems with non-resonant singular points
🆕 Influential since 2022
The Impact of Long-Term Memory Effects on the Linearizability of GaN HEMT-Based Power Amplifiers
A Linearizability-based Hierarchy for Concurrent Specifications
A Universal, Sound, and Complete Forward Reasoning Technique for Machine-Verified Proofs of Linearizability
Proof Automation for Linearizability in Separation Logic
A Compositional Theory of Linearizability
📚 Books worth reading
Distributed Algorithms for Message-Passing SystemsMichel Raynal · 2013
Classical Many-Body Problems Amenable to Exact TreatmentsFrancesco Calogero · 2001- 📕Wait-free linearizable queue implementationsMatei David · 2004
- 📕Linearizable shared objects for asynchronous message passing systemsAndrew A. Wahbe · 2000
- 📕Global and semi-global control problems for linear systems subject to input saturation and minimum-phase input-output linearizable systemsZongli Lin · 1994
Classical many-body problems amenable to exact treatmentsF. Calogero
A First Course in Ordinary Differential Equations Norbert Euler Luleå University of Technology, Sweden · 2013
A First Course in Ordinary Differential EquationsNorbert Euler Luleå University of Technology, Sweden · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Compare-and-swap In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization. It compares the contents of a memory…
- Fetch-and-add In computer science, the fetch-and-add (FAA) CPU instruction atomically increments the contents of a memory location by a specified value. That is, fetch-and-ad…
- Shared register In distributed computing, shared-memory systems and message-passing systems are two widely studied methods of interprocess communication. In shared-memory…
- Java concurrency The Java programming language and the Java virtual machine (JVM) are designed to support concurrent programming. All execution takes place in the context…
- Read–modify–write In computer science, read–modify–write is a class of atomic operations (such as test-and-set, fetch-and-add, and compare-and-swap) that both read a memory…
- Consistency model In computer science, a consistency model specifies a contract between the programmer and a system, wherein the system guarantees that if the programmer…
- Atomic semantics Atomic semantics is a type of guarantee provided by a data register shared by several processors in a parallel machine or in a network of computers working…
- Test-and-set In computer science, the test-and-set instruction is an instruction used to write (set) a flag value to a memory location and return its old value as a…