Pending Conflicts Make Progress Impossible
Petr Kuznetsov, Pierre Sutra, Guillermo Toyos-Marfurt
TL;DR
The paper defines conflict-obstruction-freedom (COF), a progress condition that allows an operation to complete as long as it only contends with commuting operations. COF generalizes obstruction-freedom and aligns with wait-freedom when all operations commute, or with OF when all conflict; it exposes a fundamental cost to synchronization once conflicts appear. The authors prove a strong impossibility: there is no universal COF construction for shared objects in the asynchronous read-write model, via a reduction to a COF-consensus problem and a FLP-style argument for three or more processes. They also show COF-consensus is solvable with two processes but impossible with three or more, underscoring that commutativity cannot, in general, eliminate the need to resolve conflicts for progress. The work delineates precise limits on leveraging commutativity in universal constructions and highlights the persistence of a synchronization cost when conflicts arise, even under COF progress guarantees.
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 resolution of pending conflicts.
