On the Limits of Causal Observation in Shared-Memory Systems
This paper proves that a strongly consistent solution to the Causal Observability Problem is unachievable at the observable boundary and explores the impact of instrumentation placement on monitor guarantees.
The authors prove that a strongly consistent solution to the Causal Observability Problem is unachievable at the observable boundary.
Before reading this…
Applications
- →Reasoning about the correctness of concurrent systems
- →Designing concurrent algorithms and data structures
To understand this paper, make sure you know these concepts first:
- Understanding of concurrent systemsfind papers →
- Familiarity with formal proofsfind papers →
Abstract
More Like ThisDetermining whether one concurrent operation completed before another began is a fundamental prerequisite for reasoning about the correctness of concurrent systems. We formalize this challenge as the Causal Observability Problem (COP): assign timestamps to the observable boundary events of a concurrent execution, invocations and responses, that faithfully reflect real-time operation order. A solution is complete if it never misses a genuine precedence, and sound if it never reports a spurious one. We prove that a strongly consistent solution, one that is simultaneously complete and sound, is unachievable at the observable boundary. We then show that the placement of instrumentation events relative to operation boundaries deterministically governs what a monitor can guarantee: internal placement yields completeness, external placement yields soundness, and neither achieves both. This dichotomy holds independently of the underlying timestamp mechanism. We instantiate this framework with three non-blocking implementations of a Causal Monitor object: FAInc (centralized atomic counter), Striped (decentralized counter), and Collect (iterative register snapshot). FAInc and Striped are linearizable; Collect is only quiescently consistent. Despite this internal consistency gap, we prove that all three provide identical COP guarantees: placement alone determines observable behavior. We validate these claims empirically on a 64-core NUMA architecture, showing that Striped matches Collect in throughput while preserving linearizability, resolving the cache-contention bottleneck of FAInc at high thread counts.