A Complexity-Based Hierarchy for Multiprocessor Synchronization
Author(s)
Ellen, Faith; Gelashvili, Rati; Shavit, Nir; Zhu, Leqi
DownloadAccepted version (321.0Kb)
Open Access Policy
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
© 2016 ACM. For many years, Herlihy's elegant computability based Con- sensus Hierarchy has been our best explanation of the rela- tive power of various types of multiprocessor synchronization objects when used in deterministic algorithms. However, key to this hierarchy is treating these instructions as distinct objects, an approach that is far from the real-world, where multiprocessor programs apply synchronization instructions to collections of arbitrary memory locations. We were sur- prised to realize that, when considering instructions applied to memory locations, the computability based hierarchy col- lapses. This leaves open the question of how to better cap- tures the power of various synchronization instructions. In this paper, we provide an approach to answering this question. We present a hierarchy of synchronization in- structions, classified by their space complexity in solving obstruction-free consensus. Our hierarchy provides a clas- sification of combinations of known instructions that seems to fit with our intuition of how useful some are in practice, while questioning the effectiveness of others. We prove an essentially tight characterization of the power of buffered read and write instructions. Interestingly, we show a similar result for multi-location atomic assignments.
Date issued
2016-07-25Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
ACM
Citation
Ellen, Faith, Gelashvili, Rati, Shavit, Nir and Zhu, Leqi. 2016. "A Complexity-Based Hierarchy for Multiprocessor Synchronization."
Version: Author's final manuscript