Are Shared Objects Composable Under an Oblivious Adversary?
Title | Are Shared Objects Composable Under an Oblivious Adversary? |
Publication Type | Conference Paper |
Year of Publication | 2016 |
Authors | Denysyuk, Oksana, Woelfel, Philipp |
Conference Name | Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing |
Publisher | ACM |
Conference Location | New York, NY, USA |
ISBN Number | 978-1-4503-3964-3 |
Keywords | composability, 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. |
URL | http://doi.acm.org/10.1145/2933057.2933115 |
DOI | 10.1145/2933057.2933115 |
Citation Key | denysyuk_are_2016 |