Classifications of Asynchronous Shared Memory Objects

Classifications of Asynchronous Shared Memory Objects

Classifications of Asynchronous Shared Memory Objects by David Yu Cheng Chan A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer Science University of Toronto c Copyright 2019 by David Yu Cheng Chan Abstract Classifications of Asynchronous Shared Memory Objects David Yu Cheng Chan Doctor of Philosophy Graduate Department of Computer Science University of Toronto 2019 Since the early days of the shared memory model for distributed computing, researchers have sought a simple and precise characterization of an object's ability to implement other objects in a wait-free manner. The first candidate for such a characterization was the consensus number of an object [24]. But a characterization based on consensus numbers is not precise: there are pairs of objects with the same consensus number that are not equivalent (i.e., one object cannot be wait-free implemented by instances of the other and registers) [2, 42]. A more recent candidate for such a characterization is the set agreement power of an object [15]. In this thesis, we show that this characterization is not precise even for the case of deterministic objects: there are pairs of deterministic objects with the same set agreement power that are not equivalent. Next, we show that there are uncountably many objects with distinct set agreement power. Conse- quently, a precise characterization of an object's ability to implement other objects in a wait-free manner must classify objects into uncountably many cells. This suggests that there is no simple and precise char- acterization of objects, since the cells of an uncountable classification cannot be labeled using simple integers (as in Herlihy's hierarchy) or even finite sequences of integers. Finally, we introduce a generalization of consensus called bounded disagreement, which differs from set agreement in that it restricts the number of disagreeing processes rather than the number of dis- agreeing values. More precisely, the `-bounded disagreement task for n processes has the following requirement: there is a value v such that at most ` processes (the disagreers) decide values that are not v. We then show that for every integer n ≥ 2, there is a bounded disagreement object that has consensus number n, but is not equivalent to the n-consensus object. Prior to this work, the only objects known to have this unusual characteristic for n ≥ 2 (which shows that the characterization of objects via consensus numbers is not precise) were artificial objects crafted solely for the purpose of exhibiting this behaviour [2, 42]. ii Acknowledgements I thank my supervisors, Sam Toueg and Vassos Hadzilacos, for all their guidance and support. I thank the additional members of the supervisory committee, Allan Borodin and Eyal de Lara, for their feedback and encouragement. I also thank Maurice Herlihy, Aleksandar Nikolov, and Doug Stephan for being members of my final oral exam committee. In addition, I thank the Natural Sciences and Engineering Research Council of Canada for their financial support. I also thank the University of Toronto for allowing the use of their facilities for this research. Finally, I thank my family and friends for all of the support they have given me. iii Contents 1 Introduction 1 1.1 The Imprecision of the Set Agreement Power Classification . .2 1.2 The Linearizability of Set Agreement . .2 1.3 On the Robustness of Object Classifications . .3 1.4 The Uncountability of the Precise Classification . .4 1.5 Bounded Disagreement . .4 1.6 Thesis Organization . .5 2 Model 6 2.1 Shared Memory Objects . .6 2.2 Non-Ported Objects . .8 2.3 Steps and Histories . .9 2.4 Linearizability . .9 2.4.1 Atomic Steps . 10 2.5 Wait-Freedom . 10 2.6 Object Implementations . 10 2.6.1 Ported Objects Versus Non-Ported Objects . 10 2.7 Problems and Problem Solutions . 11 2.7.1 The n-Consensus and (n; k)-Set Agreement Problems . 12 3 The Imprecision of the Set Agreement Power Classification 13 3.1 n-P&G Objects . 14 3.2 An Equivalent n-P&G Object Sequential Specification . 16 3.3 The Set Agreement Power of the n-P&G Object . 19 3.3.1 Lower Bound . 19 3.3.2 Upper Bound . 20 3.4 (n − 1)-Consensus Cannot Implement the n-P&G Object . 63 3.5 Objects Versus Tasks . 67 3.6 BG Simulation and Extensions . 67 3.7 Conclusion . 68 4 The Linearizability of Set Agreement 69 4.1 The An;k Object ......................................... 70 4.2 The Equivalence of the An;k Object and the (n; k)-Set Agreement Problem . 71 iv 4.3 The Linearizability of Sets of Set Agreement . 76 5 On the Robustness of Object Classifications 79 5.1 The Extended Set Agreement Partial Order Theorem . 79 5.2 The Robustness of Objects Equivalent to Their Set Agreement Power . 80 5.3 An Alternate Proof of the Imprecision of the Set Agreement Power Classification . 82 6 The Uncountability of the Precise Classification 84 6.1 Concluding remark . 87 7 Bounded Disagreement 88 7.1 Using Bounded Disagreement Problems to Solve Set Agreement Problems . 88 7.2 Bounded Disagreement Objects . 94 7.3 Unsolvability of (m − 2` + 1)-Consensus by (m; `)-BD Objects . 95 7.4 An Unusual Property of Bounded Disagreement . 98 7.4.1 BD Objects are not Equivalent to Rachman's Objects . 99 7.4.2 BD Objects are not Equivalent to Afek et al.'s Objects . 99 7.5 Conclusion . 100 8 Conclusion 102 Bibliography 103 A A Comparison of Consensus Objects 107 v Chapter 1 Introduction Since the early days of the asynchronous shared memory model for distributed computing, researchers have sought a simple and precise characterization of an object's ability to implement other objects in a wait-free manner when processes may fail by crashing, i.e., stopping to take steps.1 The first candidate for such a characterization was based on the well-known consensus problem in which each of n processes has an input value and must decide on one of the input values so that all decision values are identical [17]. The consensus problem plays a central role in distributed computing, as many fundamental appli- cations of distributed computing require some form of consensus. For example, in distributed database systems, processes must agree (reach consensus) on the changes applied to the database, otherwise the database would become inconsistent. More generally, arbitrary objects can be shared among multi- ple processes using a \state machine approach" in which processes reach consensus on the sequence of operations applied to the shared object [36]. Although the consensus problem can be solved in synchronous systems, Fischer et al. [17] proved that in an asynchronous message passing system, the consensus problem cannot be solved among two or more processes even when at most one process can crash. Loui and Abu-Amara [39] then proved that the same result holds in an asynchronous shared memory system with only registers. On the other hand, they showed that when the system contains Test & Set objects, the consensus problem can be solved among two processes, but not among three or more processes.2 Naturally, this raises the issue of identifying which shared memory objects can be used to solve the consensus problem in an asynchronous shared memory system. Herlihy helped to address this issue by introducing the consensus hierarchy: a classification of shared memory objects into levels based on their ability to solve the consensus problem [24]. He defined the consensus number of an object as the maximum number of processes for which instances of the object and registers can solve the consensus problem, then placed each object into the level of the consensus hierarchy that corresponds to its consensus number. Herlihy then presented a result that illustrates the significance of an object's consensus number: an object with consensus number n can implement any object shared by up to n processes. Thus the consensus number of an object served as an important characterization of an object's ability to implement other objects in a wait-free manner. 1Unless otherwise specified, we consider objects, algorithms, and implementations that are wait-free [24, 35], i.e., processes that crash cannot block the other processes from progressing. Moreover, we assume that all algorithms and implementations can use registers. 2A Test & Set object returns 1 to the first operation applied and 0 to all subsequent operations. 1 Chapter 1. Introduction 2 The consensus number of an object, however, is not a precise characterization of the object's ability to implement other objects: some objects have the same consensus number but are not equivalent (we say two objects are equivalent if each can be implemented by instances of the other and registers in a wait-free manner). Herlihy [23] first showed that there are (non-deterministic) objects with consensus number 1 that are not equivalent to each other. Rachman [42] then showed that for every integer n ≥ 2, there are also non-deterministic objects with consensus number n that are not equivalent to each other. More recently, Afek et al. [2] showed that for every integer n ≥ 2, there are deterministic objects with consensus number n that are not equivalent to each other. Since the consensus number of an object does not fully characterize its ability to implement other objects, one may ask whether some natural extension of the consensus number, in particular the set agreement power of an object [15, 11], does so (a conjecture along these lines was given in [15]). The set agreement power of an object is the infinite sequence (n1; n2; : : :; nk;:::) where nk is the maximum number of processes for which instances of the object and registers can solve the k-set agreement problem.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    114 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us