Linearizability: a correctness condition for concurrent objects | Synapse