scispace - formally typeset
Search or ask a question

Showing papers on "Distributed algorithm published in 1987"


Book
01 Jan 1987

1,653 citations


Proceedings ArticleDOI
01 Dec 1987
TL;DR: This thesis introduces a new model for distributed computation in asynchronous networks, the input-output automaton, which captures in a novel way the game-theoretical interaction between a system and its environment and allows fundamental properties of distributed computation to be naturally expressed.
Abstract: This thesis introduces a new model for distributed computation in asynchronous networks, the input-output automaton. This simple, powerful model captures in a novel way the game-theoretical interaction between a system and its environment, and allows fundamental properties of distributed computation such as fair computation to be naturally expressed. Furthermore, this model can be used to construct modular, hierarchical correctness proofs of distributed algorithms. This thesis defines the input-output automaton model, and presents an interesting example of how this model can be used to construct such proofs.

899 citations


Journal ArticleDOI
TL;DR: In this article, the authors consider the problem of bringing a distributed system to a consistent state after transient failures, and propose a distributed algorithm to create consistent checkpoints, as well as a rollback-recovery algorithm to recover the system from transient failures.
Abstract: We consider the problem of bringing a distributed system to a consistent state after transient failures. We address the two components of this problem by describing a distributed algorithm to create consistent checkpoints, as well as a rollback-recovery algorithm to recover the system to a consistent state. In contrast to previous algorithms, they tolerate failures that occur during their executions. Furthermore, when a process takes a checkpoint, a minimal number of additional processes are forced to take checkpoints. Similarly, when a process rolls back and restarts after a failure, a minimal number of additional processes are forced to roll back with it. Our algorithms require each process to store at most two checkpoints in stable storage. This storage requirement is shown to be minimal under general assumptions.

893 citations


Proceedings ArticleDOI
01 Jan 1987
TL;DR: New linear time distributed algorithms for a class of problems in an asynchronous communication network, including Minimum-Weight Spanning Tree, Leader Election, and computing a sensitive decomposable function are developed.
Abstract: This paper develops linear time distributed algorithms for a class of problems in an asynchronous communication network Those problems include Minimum-Weight Spanning Tree (MST), Leader Election, counting the number of network nodes, and computing a sensitive decomposable function (eg majority, parity, maximum, OR, AND) The main problem considered is the problem of finding the MST This problem, which has been known for at least 9 years, is one of the most fundamental and the most studied problems in the field of distributed network algorithms Any algorithm for any one of the problems above requires at least O(E + VlogV) communication and O(V) time in the general network In this paper, we present new algorithms, which achieve those lower bounds The best previous algorithm requires T(E + VlogV) in communication and T(V log V) in time Our result enables to improve algorithms for many other problems in distributed computing, achieving lower bounds on their communication and time complexities

329 citations


Journal ArticleDOI
TL;DR: Time diagrams are used as a graphic means of representing the overall communication scheme, giving a clear insight into the difficulties involved and suggesting possible solutions.
Abstract: The termination problem for distributed computations is analyzed in the general context of asynchronous communication. In the underlying computational model it is assumed that messages take an arbitrary but finite time and do not necessarily obey the FIFO rule. Time diagrams are used as a graphic means of representing the overall communication scheme, giving a clear insight into the difficulties involved (e.g., lack of global state or time, inconsistent time cuts) and suggesting possible solutions.

289 citations


Journal ArticleDOI
TL;DR: A uniform model in which published algorithms can be cast is given, and the fundamental principles on which distributed deadlock detection schemes are based are presented, and a hierarchy of deadlock models is presented.
Abstract: The problem of deadlock detection in distributed systems has undergone extensive study. An important application relates to distributed database systems. A uniform model in which published algorithms can be cast is given, and the fundamental principles on which distributed deadlock detection schemes are based are presented. These principles represent mechanisms for developing distributed algorithms in general and deadlock detection schemes in particular. In addition, a hierarchy of deadlock models is presented; each model is characterized by the restrictions that are imposed upon the form resource requests can assume. The hierarchy includes the well-known models of resource and communication deadlock. Algorithms are classified according to both the underlying principles and the generality of resource requests they permit. A number of algorithms are discussed in detail, and their complexity in terms of the number of messages employed is compared. The point is made that correctness proofs for such algorithms using operational arguments are cumbersome and error prone and, therefore, that only completely formal proofs are sufficient for demonstrating correctness.

268 citations


Journal ArticleDOI
TL;DR: DIB as discussed by the authors is a general-purpose package that allows a wide range of applications such as recursive backtrack, branch and bound, and alpha-beta search to be implemented on a multicomputer.
Abstract: DIB is a general-purpose package that allows a wide range of applications such as recursive backtrack, branch and bound, and alpha-beta search to be implemented on a multicomputer. It is very easy to use. The application program needs to specify only the root of the recursion tree, the computation to be performed at each node, and how to generate children at each node. In addition, the application program may optionally specify how to synthesize values of tree nodes from their children's values and how to disseminate information (such as bounds) either globally or locally in the tree. DIB uses a distributed algorithm, transparent to the application programmer, that divides the problem into subproblems and dynamically allocates them to any number of (potentially nonhomogeneous) machines. This algorithm requires only minimal support from the distributed operating system. DIB can recover from failures of machines even if they are not detected. DIB currently runs on the Crystal multicomputer at the University of Wisconsin-Madison. Many applications have been implemented quite easily, including exhaustive traversal (N queens, knight's tour, negamax tree evaluation), branch and bound (traveling salesman) and alpha-beta search (the game of NIM). Speedup is excellent for exhaustive traversal and quite good for branch and bound.

214 citations


Journal ArticleDOI
TL;DR: It is shown that, in singly connected networks, the most satisfactory explanation can be found in linear time by a message-passing algorithm similar to the one used in belief updating.

201 citations


Journal ArticleDOI
TL;DR: The node organization algorithm presented in this paper provides a completely distributed, maximally localized execution of collision free channel allocation that allows for parallel channel allocation in stationary and mobile networks with provable spatial reuse properties.
Abstract: This paper proposes a solution to providing a collision free channel allocation in a multihop mobile radio network. An efficient solution to this problem provides spatial reuse of the bandwidth whenever possible. A robust solution maintains the collision free property of the allocation under any combination of topological changes. The node organization algorithm presented in this paper provides a completely distributed, maximally localized execution of collision free channel allocation. It allows for parallel channel allocation in stationary and mobile networks with provable spatial reuse properties. A simpler version of the algorithm provides also a highly localized distributed coloring algorithm of dynamic graphs.

172 citations


Journal ArticleDOI
TL;DR: It is shown in the context of a fish war example that the algorithm given is in some aspects superior to various algorithms found in the literature, and is furthermore more meaningful for real world implementation.

171 citations


Journal ArticleDOI
TL;DR: The proposed broadcast protocol thus possesses the advantages of TDM solutions while allowing the channel bandwidth to be shared, concurrently with the broadcast, with other transmission activities as dictated, for instance, by data link protocols.
Abstract: This paper considers the issue of broadcasting protocols in multihop radio networks. The objective of a broadcasting protocol is to deliver the broadcasted message to all network nodes. To efficiently achieve this objective the broad- casting protocol in this paper utilizes two basic properties of the multihop radio network. One is the broadcast nature of the radio which allows every single trasmission to reach all nodes that are in line of sight and within range of the transmitting node. The other, spatial reuse of the radio channel, which due to the multihop nature of the network allows multiple simultaneous transmissions to be received correctly. The proposed protocol incorporates these properties to obtain a collision free forwarding of the broadcasted message on a tree. Centralized and distributed algorithms for the tree construction are presented. The obtained trees are unique in incorporating radio oriented time ordering as part of their definition. In this way multiple copies of one or more broadcasted messages can be transmitted simultaneously without collision, requiring only a small number of message transmissions. Consequently, the protocol not only guarantees that the broadcasted message reaches all network nodes in bounded time, but also ensures that the broadcasting activity will use only limited channel bandwidth and node memory. The proposed broadcast protocol thus possesses the advantages of TDM solutions while allowing the channel bandwidth to be shared, concurrently with the broadcast, with other transmission activities as dictated, for instance, by data link protocols. Some NP-completeness proofs are also given.

Journal ArticleDOI
01 Jun 1987
TL;DR: A protocol must be designed to function correctly even if it is possible to be lost, for messages to arrive out of order, or for some processor to fail.
Abstract: Designing, understanding, and reasoning about distributed systems can be complicated. The major complexities arise from the uncertainties inherent in the system, particularly with regard to message delivery and possible faulty or unexpected behavior of processors. A protocol must be designed (and proved!) to function correctly even if it is possible for messages to be lost, for messages to arrive out of order, or for some processor to fail. The difficulty of this task can be viewed as stemming from a lack of global knowledge in a system. To quote Gray (1979):

Dissertation
01 Feb 1987
TL;DR: This thesis proves lower bounds on the parallel complexity of the maximal independent set problem and the problem of 2-coloring a rooted tree, and introduces a frame work that allows the generalization of the maximum flow techniques to the minimum-cost flow problem.
Abstract: In this thesis we study graph algorithms, both in sequential and parallel contexts. In the following outline of the thesis, algorithms complexities are stated in terms of the number of vertices n, the number of edges m, the largest absolute value of capacities U, and the largest value of costs C. In Chapter 1 we introduce a new approach to the maximum flow problem that leads to better algorithms for the problem. These algorithms include an O(nmlog(n /m)) time sequential algorithm, an O(n logn) time parallel algorithm that uses O(n) processors and O(m) memory, and both synchronous and asynchronous distributed algorithms. Chapter 2 is devoted to the minimum cost flow problem, which is a generalization of the maximum flow problem. We introduce a frame work that allows the generalization of the maximum flow techniques to the minimum-cost flow problem. We exhibit O(nmlog(n)log(nC)), O(n m log(nC)), and O(nnnlog(nC)) time sequential algorithms as well as parallel and distributed algorithms. In Chapter 3 we address implementation of parallel algorithms through a case-study implementation of a parallel maximum flow algorithm. Parallel prefix operations play an important role in our implementation. We present experimental results achieved by the implementation. Parallel symmetry-breaking techniques are the main topic of Chapter 4. We give an O(lg*n) algorithm for 3-coloring a rooted tree. This algorithm is used to improve several parallel algorithms, including algorithms for +1-coloring and finding maximal independent set in constant-degree graphs, 5-coloring planar graphs, and finding a maximal matching in planar graphs. We also prove lower bounds on the parallel complexity of the maximal independent set problem and the problem of 2-coloring a rooted tree.

Journal ArticleDOI
TL;DR: This work introduces a new failure recovery mechanism called local recovery, which requires no coordination between nodes and no additional messages beyond that needed for failure detection, and realizes both known and new algorithms as special cases.
Abstract: The concept of an information structure is introduced as a unifying principle behind several of the numerous algorithms that have been proposed for the distributed mutual exclusion problem. This approach allows the development of a generalized mutual exclusion algorithm that accepts a particular information structure at initialization and realizes both known and new algorithms as special cases. Two simple performance metrics of a realized algorithm can be obtained directly from the information structure. A new failure recovery mechanism called local recovery, which requires no coordination between nodes and no additional messages beyond that needed for failure detection, is introduced.

Proceedings ArticleDOI
12 Oct 1987
TL;DR: A simple and unified procedure, called a reset procedure, which, when combined with the static algorithm, achieves this adaptation of an algorithm designed for fixed topology networks to produce the intended results when run in a network whose topology changes dynamically.
Abstract: This paper addresses the problem of how to adapt an algorithm designed for fixed topology networks to produce the intended results, when run in a network whose topology changes dynamically, in spite of encountering topological changes during its execution. We present a simple and unified procedure, called a reset procedure, which, when combined with the static algorithm, achieves this adaptation. The communication and time complexities of the reset procedure, per topological change, are independent of the number of topological changes and are linearly bounded by the size of the subset of the network which participates in the algorithm.

Journal ArticleDOI
TL;DR: A new distributed algorithm is presented for constructing breadth first search (BFS) trees, a tree of shortest paths from a given root node to all other nodes of a network under the assumption of unit edge weights.
Abstract: A new distributed algorithm is presented for constructing breadth first search (BFS) trees. A BFS tree is a tree of shortest paths from a given root node to all other nodes of a network under the assumption of unit edge weights; such trees provide useful building blocks for a number of routing and control functions in communication networks. The order of communication complexity for the new algorithm is O(V^{1.6} + E) where V is the number of nodes and E the number of edges. For dense networks with E \geq V^{1.6} this order of complexity is optimum.

Journal ArticleDOI
TL;DR: The structure of the dual allows the successful application of a distributed asynchronous method whereby relaxation iterations are carried out in parallel by several processors in arbitrary order and with arbitrarily large interprocessor communication delays.
Abstract: We consider the solution of the single commodity strictly convex network flow problem in a distributed asynchronous computation environment. The dual of this problem is unconstrained, differentiable, and well suited for solution via Gauss-Seidel relaxation. We show that the structure of the dual allows the successful application of a distributed asynchronous method whereby relaxation iterations are carried out in parallel by several processors in arbitrary order and with arbitrarily large interprocessor communication delays.

Journal ArticleDOI
TL;DR: A distributed algorithm for obtaining a fair time slot allocation for link activation in a multihop radio network and introduces the concept of maximal fairness in which the termination of a fair allocation algorithm is related to maximal reuse of the channel under a given fairness metric.
Abstract: We present a distributed algorithm for obtaining a fair time slot allocation for link activation in a multihop radio network. We introduce the concept of maximal fairness in which the termination of a fair allocation algorithm is related to maximal reuse of the channel under a given fairness metric. The fairness metric can be freely interpreted as the expected link traffic load demands, link priorities, etc. Since respective demands for time slot allocation will not necessarily be equal, we define fairness in terms of the closeness of allocation to respective link demands while preserving the collision free property. The algorithm can be used in conjunction with existing link activation algorithms to provide a fairer and fuller utilization of the channel.



Journal ArticleDOI
TL;DR: Finite convergence of a totally asynchronous (chaotic), distributed version of the massively parallelizable algorithm in which some processors compute faster than others, some processors communicate faster thanOthers, and there can be arbitrarily large communication delays is shown.


Journal ArticleDOI
TL;DR: It is clear that in many instances the optimal solution will be an integration of computers of varying power, and it is most effective to accomplish any task on the least powerful type of computer capable of performing it.
Abstract: The availability of micro-, mini-, and supercomputers has complicated the laws governing the economies of scale in computers. A recent study by Ein-Dor [7] concludes that it is most effective to accomplish any task on the least powerful type of computer capable of performing it. This change in cost/performance, and the promise of increased reliability, modularity, and better response time has resulted in an increased tendency to decentralize and distribute computing power. But some economic factors, such as the communication expenses incurred and increased storage with distributed systems are working against the tendency to decentralize. It is clear that in many instances the optimal solution will be an integration of computers of varying power.

Proceedings ArticleDOI
01 Dec 1987
TL;DR: This paper exposes a general algorithm for the distributed detection of stable properties in distributed applications or systems that deals with every stable property of a fairly general class.
Abstract: When evaluated to true, a stable property remains true forever. Such a stable property may characterize important states of a computation. This is the case of deadlocked or terminated computations. In this paper we expose a general algorithm for the distributed detection of stable properties in distributed applications or systems. This distributed algorithm deals with every stable property of a fairly general class : in this sense the algorithm is generic. This was achieved using a methodical approach, with a strong distinction between the computation and control activities in the problem. Moreover, the detection method used by the algorithm is based on an observational mechanism,

Journal ArticleDOI
TL;DR: It is shown that, over a relatively wide range of system parameters, the performance of these simple approaches to load sharing is substantially better than the case of no load sharing and often close to that of a theoretically optimum algorithm.
Abstract: in soft real-time distributed computer stems, a job submitted at a node in the network must complete execution within a specified time constraint, otherwise it is considered lost. When a single node occasionally experiences an overload of jobs, it may still be possible to execute some of the otherwise lost jobs by invoking a load sharingnode algorithm to distribute the local overload to other system nodes. We examine several relatively simple approaches to load sharing and show that these simple real-time load sharing algorithms may often perform as well as their more complex counterparts. Approximate analytic performance models are developed and validated through simulation. The performance results suggest that, over a relatively wide range of system parameters, the performance of these simple approaches is substantially better than the case of no load sharing and often close to that of a theoretically optimum algorithm.

Proceedings ArticleDOI
01 Dec 1987
TL;DR: The authors' logical clocks and broadcast primitive are tools that considerably simplify the design of distributed algorithms: one can now design and prove them correct with the assumption that processors have access to real-time clocks and the ability to achieve common knowledge.
Abstract: We study time and knowledge in reliable distributed systems with asynchronous communication. We first describe an extension of Lamport’s logical clocks that can be used as if they were perfectly synchronized real-time clocks in the solution of a large class of problems that we formally characterize. For this same class of problems, we also propose a broadcast primitive that can be used as if it achieves common knowledge. Our logical clocks and broadcast primitive are tools that considerably simplify the design of distributed algorithms: one can now design and prove them correct with the assumption that processors have access to real-time clocks and the ability to achieve common knowledge. The latter can be used to implement the abstraction of shared memory. Extensions to more synchronous systems are considered. Distributed systems with no known bound on relative processor speeds or message transmission times are called asynchronous. Asynchrony makes coordination between processors difficult, and can complicate the design and proof of algorithms for such systems. These difficulties can be reduced if one can assume that all processors have access to some global clock by which they can coordinate their actions, e.g., that local processor clocks always show real time. Unfortunately, clock synchronization cannot be achieved in totally asynchronous systems. In addressing this problem, Lamport defined “logical clocks” [l]. They were designed to simulate a specific feature of real-time clocks: the ability to cap‘Partial support for this work was provided by the National Science Foundation under grant T)CR86-01864 Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.

Journal ArticleDOI
TL;DR: Results are presented on the convergence and asymptotic agreement of a class of asynchronous distributed algorithms which are in general time-varying, memorydependent, and not necessarily associated with the optimization of a common cost functional.
Abstract: In this paper, we present results on the convergence and asymptotic agreement of a class of asynchronous stochastic distributed algorithms which are in general time-varying, memory-dependent, and not necessarily associated with the optimization of a common cost functional We show that convergence and agreement can be reached by distributed learning and computation under a number of conditions, in which case a separation of fast and slow parts of the algorithm is possible, leading to a separation of the estimation part from the main algorithm


Book
01 Nov 1987
TL;DR: In this age of modern era, the use of internet must be maximized, and to get the on-line introduction to distributed and parallel computing book, as the world window, as many people suggest.
Abstract: In this age of modern era, the use of internet must be maximized. Yeah, internet will help us very much not only for important thing but also for daily activities. Many people now, from any level can use internet. The sources of internet connection can also be enjoyed in many places. As one of the benefits is to get the on-line introduction to distributed and parallel computing book, as the world window, as many people suggest.

Proceedings ArticleDOI
12 Oct 1987
TL;DR: This work introduces a new primitive, the Resource Controller, which abstracts the problem of controlling the total amount of resources consumed by a distributed algorithm, and presents an efficient distributed algorithm to implement this abstraction.
Abstract: We introduce a new primitive, the Resource Controller, which abstracts the problem of controlling the total amount of resources consumed by a distributed algorithm. We present an efficient distributed algorithm to implement this abstraction. The message complexity of our algorithm per participating node is polylogarithmic in the size of the network, compared to the linear cost per node of the naive algorithm. The implementation of our algorithm is simple and practical and the techniques used are interesting because a global quantity is managed in a distributed way. The Resource Controller can be used to construct efficient algorithms for a number of important problems, such as the problem of bounding the worst-case message complexity of a protocol and the problem of dynamically assigning unique names to nodes participating in a protocol.