Pending Conflicts Make Progress Impossible
Petr Kuznetsov, Pierre Sutra, Guillermo Toyos-Marfurt

TL;DR
This paper introduces conflict-obstruction-freedom, a progress condition for shared object implementations that allows parallel execution of commuting operations, but proves universal constructions with this property are impossible in asynchronous shared memory.
Contribution
It defines conflict-obstruction-freedom, generalizes existing progress conditions, and proves the impossibility of universal constructions under this new condition in asynchronous models.
Findings
Conflict-obstruction-freedom allows parallel execution of commuting operations.
Universal constructions with conflict-obstruction-freedom cannot be implemented asynchronously.
Conflicting operations impose unavoidable synchronization costs.
Abstract
In this work, we study progress conditions for commutativity-aware, linearizable implementations of shared objects. Motivated by the observation that commuting operations can be executed in parallel, we introduce conflict-obstruction-freedom: a process is guaranteed to complete its operation if it runs for long enough without encountering step contention with conflicting (non-commuting) operations. This condition generalizes obstruction-freedom and wait-freedom by allowing progress as long as step contention is only induced by commuting operations. We prove that conflict-obstruction-free universal constructions are impossible to implement in the asynchronous read-write shared memory model. This result exposes a fundamental limitation of conflict-aware universal constructions: the mere invocation of conflicting operations imposes a synchronization cost. Progress requires eventual…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Logic, programming, and type systems
