On the power of multi-objects
In the standard “single-object” model of shared-memory computing, it is assumed that a process accesses at most one shared object in each of its steps. A (more powerful) variant is the “multi-object” model in which each process may access an arbitrary finite number of shared objects simultaneously in each atomic step. In this paper, we present results that relate the synchronization power of a type in the multi-object model to its synchronization power in the single-object model. Afek, Merritt, and Taubenfeld considered the case where one could access up to a given number of objects simultaneously as well as the case where one could access any finite number of objects simultaneously in a single atomic step. We consider only the case where one may access an arbitrary finite number of objects simultaneously.
Although the types fetch&add and swap have the same synchronization power in the single-object model, Afek, Merritt, and Taubenfeld showed that their synchronization powers differ in the multi-object model [AMT96]. We prove that this divergence phenomenon is exhibited only by types at levels 1 and 2; all higher level types have the same unbounded synchronization power in the multi-object model.
This paper identifies all possible relationships between a type's synchronization power in the single-object model and its synchronization power in the multi-object model, where as many objects of one type as required may be accessed in a single atomic step.
Keywordsshared objects multi-objects waitfree implementation object hierarchy
Unable to display preview. Download preview PDF.
- [AMT96]Y. Afek, M. Merritt, and G. Taubenfeld. The power of multi-objects. In Proceedings of the 15th Annual ACM Symposium on Principles of Distributed Computing, May 1996.Google Scholar
- [LA87]M.C. Loui and H.H. Abu-Amara. Memory requirements for agreement among unreliable asynchronous processes. Advances in computing research, 4:163–183, 1987.Google Scholar
- [MT94]M. Merritt and G. Taubenfeld. Atomic m-register operations. Distributed Computing, 7:213–221, 1994.Google Scholar