Foundations of Shared Memory
Last Lecture
Fundamentals
Alan Turing
Foundations of Shared Memory
Foundations of Shared Memory
Foundations of Shared Memory
Register*
Register
Register
Registers
Registers
Single-Reader/Single-Writer Register
Multi-Reader/Single-Writer Register
Multi-Reader/Multi-Writer Register
Jargon Watch
Safe Register
Safe Register
Regular Register
Regular or Not?
Regular or Not?
Regular or Not?
Regular or Not?
Regular ≠ Linearizable
Atomic Register
Atomic Register
Register Space
Weakest Register
Weakest Register
Results
Locking within Registers
Definition
From Safe SRSW Boolean to Atomic Snapshots
Road Map
Road Map
Register Names
Register Names
Register Names
Register Names
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Boolean MRSW fromSafe Boolean SRSW
Safe Multi-Valued MRSW fromSafe Multi-Valued SRSW?
Road Map
Road Map
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Boolean MRSW fromSafe Boolean MRSW
Regular Multi-Valued MRSW from Safe Multi-Valued MRSW?
Road Map
Road Map
Representing m Values
Writing m-Valued Register
Writing m-Valued Register
Writing m-Valued Register
MRSW Regular m-valued from MRSW Regular Boolean
MRSW Regular m-valued from MRSW Regular Boolean
MRSW Regular m-valued from MRSW Regular Boolean
MRSW Regular m-valued from MRSW Regular Boolean
MRSW Regular m-valued from MRSW Regular Boolean
Road Map
Road Map
Road Map (Slight Detour)
SRSW Atomic From SRSW Regular
SRSW Atomic From SRSW Regular
SRSW Atomic From SRSW Regular
SRSW Atomic From SRSW Regular
Timestamped Values
SRSW Atomic From SRSW Regular
Atomic Single-Reader to Atomic Multi-Reader
Another Scenario
Another Scenario
Multi-Reader Redux
Multi-Reader Redux
Multi-Reader Redux
Can’t Yellow Miss Blue’s Update? … Only if Readers Overlap…
Bad Case Only When Readers Don’t Overlap
Road Map
Multi-Writer Atomic From Multi-Reader Atomic
Atomic Execution Means it is Linearizable
Linearization Points
Linearization Points
Linearization Points
Linearization Points
Linearization Points
Linearization Points
Road Map
Road Map
Atomic Snapshot
Atomic Snapshot
Snapshot Interface
Snapshot Interface
Snapshot Interface
Atomic Snapshot
Clean Collects
Simple Snapshot
Claim: We Must Use Labels
Must Use Labels
Simple Snapshot
Simple Snapshot: Update
Simple Snapshot: Update
Simple Snapshot: Update
Simple Snapshot: Collect
Simple Snapshot
Simple Snapshot: Scan
Simple Snapshot: Scan
Simple Snapshot: Scan
Simple Snapshot: Scan
Simple Snapshot: Scan
Simple Snapshot
Wait-Free Snapshot
Wait-free Snapshot
Wait-free Snapshot
Wait-free Snapshot
Wait-free Snapshot
Wait-free Snapshot
Once is not Enough
Someone Must Move Twice
Scan is Wait-free
Wait-Free Snapshot Label
Wait-Free Snapshot Label
Wait-Free Snapshot Label
Wait-Free Snapshot Label
Wait-Free Snapshot Label
Wait-free Update
Wait-free Scan
Wait-free Scan
Wait-free Scan
Wait-free Scan
Wait-free Scan
Wait-free Scan
Mismatch Detected
Mismatch Detected
Mismatch Detected
Observations
Summary
Grand Challenge
Grand Challenge