Self-Stabilizing Algorithms under Various Composite Atomicity Computational Models

博士 === 元智大學 === 資訊工程學系 === 98 === A distributed system consists of a set of loosely connected processors that do not share a common or global memory. The main restriction of the distributed system is that each processor in the system can only access the data of its neig hbors. Since a distributed al...

Full description

Bibliographic Details
Main Authors: Cheng-Pin Wang, 王承斌
Other Authors: Tetz C. Huang
Format: Others
Language:en_US
Published: 2010
Online Access:http://ndltd.ncl.edu.tw/handle/26458778189583627316
Description
Summary:博士 === 元智大學 === 資訊工程學系 === 98 === A distributed system consists of a set of loosely connected processors that do not share a common or global memory. The main restriction of the distributed system is that each processor in the system can only access the data of its neig hbors. Since a distributed algorithm is an algorithm that works in a distributed system, it must abide by this main restriction. The notion of self-stabilization was first introduced in Dijkstra’s pioneering paper in 1974. According to Dijkstra’s original idea, a distributed algorithm is self-stabilizing if, regardless of the initial configuration of the system, any execution of the algorithm will lead the system to a legitimate configuration, and then let the system stay in the legitimate configuration (or some legitimate configurations) forever unless the system incurs a subsequent transient fault. The computational model adopted in Dijkstra’s 1974 paper is generally referred to as the central daemon model. The more general distributed daemon model was later introduced by Burns in 1987. Under the central daemon model, exactly one among all the privileged processors in the system is randomly selected by the central daemon to make a move in an atomic step of the system. Under the distributed daemon model, however, an arbitrary number of privileged processors are randomly selected by the distributed daemon to make moves simultaneously in an atomic step. Hence, the central daemon model is a restricted version of the distributed daemon model. Another different restricted version of the distributed daemon model, called the fair daemon model, is also commonly adopted in the field of self-stabilization. A distributed algorithm under any of the above three computational modes uses composite atomicity, i.e., each atomic step of the algorithm consists of a read operation and a write operation. Hence, all the above three computational models are composite atomicity models. In this dissertation, we investigate self-stabilizing algorithms under the three composite atomicity models mentioned above. Firstly, we show that for any self-stabilizing algorithm under the fair daemon model (for a particular problem) which is not self-stabilizing under the central daemon model, if any safe configuration under the fair daemon model is also a safe configuration under the central daemon model, the worst-case stabilization time, measured in steps, is infinity. The implication of this new finding is: for any problem, the existence of self-stabilizing algorithms for the fair daemon model only is unsatisfactory; it is of significance to pursue self-stabilizing algorithms for the central daemon model or, even better, for the distributed daemon model. Secondly, we propose a self-stabilizing algorithm under the central daemon model for finding a minimal distance-2 dominating set. Thirdly, we propose a self-stabilizing algorithm under the distributed daemon model for finding all the bridges in a distributed system. This bridge-finding algorithm is obtained by combining two other self-stabilizing algorithms. Finally, using the designing process of our bridge-finding algorithm as an illustration, we demonstrate that combining two self-stabilizing algorithms under the fair daemon model always yield a self-stabilizing algorithm under the fair daemon model, while combining two self-stabilizing algorithms under the central daemon model to yield a self-stabilizing algorithm under the central daemon model is a non-trivial problem.