Visible to the public Are Shared Objects Composable Under an Oblivious Adversary?

TitleAre Shared Objects Composable Under an Oblivious Adversary?
Publication TypeConference Paper
Year of Publication2016
AuthorsDenysyuk, Oksana, Woelfel, Philipp
Conference NameProceedings of the 2016 ACM Symposium on Principles of Distributed Computing
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-3964-3
Keywordscomposability, compositionality, Computing Theory, distributed algorithms, Linearizability, pubcrawl, randomized algorithms, shared memory
Abstract

Linearizability [5] of a concurrent object ensures that operations on that object appear to execute atomically. It is well known that linearizable implementations are composable: in an algorithm designed to work with atomic objects, replacing any atomic object with a linearizable implementation preserves the correctness of the original algorithm. However, replacing atomic objects with linearizable ones in a randomized algorithm can break the original probabilistic guarantees [3]. With an adaptive adversary, this problem is solved by using strongly linearizable [3] objects in the composition. How about with an oblivious adversary. In this paper, we ask the fundamental question of what property makes implementations composable under an oblivious adversary. It turns out that the property depends on the entire collection of objects used in the algorithm. We show that the composition of every randomized algorithm with a collection of linearizable objects OL is sound if and only if OL satisfies a property called library homogeneity. Roughly, this property says that, for each process, every operation on OL has the same length and linearization point. This result has several important implications. First, for an oblivious adversary, there is nothing analogous to linearizability to ensure that the atomic objects of an algorithm can be replaced with their implementations. Second, in general, algorithms cannot use implemented objects alongside atomic objects provided by the system, such as registers. These results show that, with an oblivious adversary, it is much harder to implement reusable object types than previously believed.

URLhttp://doi.acm.org/10.1145/2933057.2933115
DOI10.1145/2933057.2933115
Citation Keydenysyuk_are_2016