We consider shared memory systems that support multiobject operations in which processes may simultaneously access several objects in one atomic operation. We provide upper and lower bounds on the synchronization power (consensus number) of multiobject systems as a function of the type and the number of objects that may be simultaneously accessed in one atomic operation. These bounds imply that known classifications of component objects fail to characterize the synchronization power of their combination. In particular, we show that in the context of multiobjects, fetch & add objects are less powerful than swap objects, which in turn are less powerful than queue objects. This stands in contrast to the fact that swap can be implemented from fetch & add. Herein we introduce a restricted notion of implementation, called direct implementation. We show that, if objects of type Y have a direct implementation from objects of type X, then Y-based multiobjects can also be implemented from X-based multiobjects. Using this observation, we derive results such as: there are no direct implementations of swap or queue objects from any collection of commutative objects (e.g., fetch & add, test & Set).
Bibliographical noteFunding Information:
1A preliminary version of this work appeared in the ‘‘Proc. of the 15th ACM Symp. on Principles of Distributed Computing (PODC),’’ May 1996, pp. 213 223. 2Partial support provided by the Israel United States Binational Science Foundation, Grant 94002.