Kleinberg, Jon M.Mullainathan, Sendhil2007-04-232007-04-231993-05http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR93-1351https://hdl.handle.net/1813/6121The shared-memory model of computation typically provides processes with an arbitrary number of copies of the available object types; yet a simple argument shows that any consensus protocol can only make use of some finite subset of these. Thus we believe it is useful to consider the problem of consensus from the point of view of resource bounds, determining whether consensus can still be solved when the number of copies of the system's shared objects is limited. This approach leads to a general technique which we call the combination protocol, in which the number of processes that can achieve consensus with a given object increases as more copies of it are made available. Such a phenomenon brings up questions about the robustness of Herlihy's consensus hierarchy, in that objects are being combined to solve $n$-process consensus, even though no single copy can do so individually. We show how the ideas in the combination protocol appear even in situations where objects are not explicitly being combined with one another; we also consider the general question of resource bounds in several known consensus protocols. We analyze two such protocols that use seemingly similar primitives, achieving a substantial improvement in one case and showing a tight lower bound in the other.1761981 bytes194822 bytesapplication/pdfapplication/postscripten-UScomputer sciencetechnical reportResource Bounds and Combinations of Consensus Objectstechnical report