scispace - formally typeset
Search or ask a question

Showing papers on "Distributed algorithm published in 1988"



Book ChapterDOI
01 Jun 1988
TL;DR: The range of application areas to which distributed processing has been applied effectively is limited, and new models for organizing distributed systems must be developed to extend this range.
Abstract: The range of application areas to which distributed processing has been applied effectively is limited. In order to extend this range, new models for organizing distributed systems must be developed. We present a new model in which the distributed system is able to function effectively even though processing nodes have inconsistent and incomplete views of the databases necessary for their computations. This model differs from conventional approaches in its emphasis on dealing with distribution-caused uncertainty and errors in control, data, and algorithm as an integral part of the network problem-solving process. We will show how this new model can be applied to the problem of distributed interpretation. Experimental results with an actual interpretation system support these ideas.

164 citations


Proceedings ArticleDOI
13 Jun 1988
TL;DR: An algorithm is obtained that can be used in a distributed debugger to detect these breakpoints and an algorithm for halting a distributed program in a consistent state is presented.
Abstract: Interactive debugging requires that the programmer be able to half a program at interesting points in its execution. The authors define distributed breakpoints and present an algorithm for implementing the detection points and an algorithm for halting a distributed program in a consistent state. Events that can be partially ordered are defined as detectable and form the basis for the breakpoint predicates. From the breakpoint definition, an algorithm is obtained that can be used in a distributed debugger to detect these breakpoints. The halting algorithm extends K.M. Chandy and L. Lamport's (1985) algorithm for recording global state and solves the problem of processes that are not fully connected or frequently communicating. >

142 citations


Book
01 Feb 1988
TL;DR: This book attempts to provide a clear, practical and up-to-date guide to distributed algoriths and protocols in the area of control and describes the algorithms to solve it.
Abstract: The use of distributed algorithms offers the prospect of great advances in computing speed. This book attempts to provide a clear, practical and up-to-date guide to distributed algoriths and protocols in the area of control. The first chapter lays the foundations; subsequent chapters, which can be studied independently of each other, consider different aspects of control. Each chapter consists of an analysis of the problem, followed by descriptions of the algorithms to solve it, with proofs of correctness. The book will be of use for undergraduate and graduate students in computer science, and also researchers and software engineers.

122 citations


Proceedings Article
29 Aug 1988
TL;DR: The authors examine the performance of four representative algorithms - distributed 2PL, wound-wait, basic timestamp ordering, and a distributed optimistic algorithm - using a detailed simulation model of a distributed DBMS to shed light on some of the important issues of distributed concurrency control performance tradeoffs.
Abstract: Many concurrency control algorithms have been proposed for use in distributed database systems. Despite the large number of available algorithms, and the fact that distributed database systems are becoming a commercial reality, distributed concurrency control performance tradeoffs are still not well understood. In this paper the authors attempt to shed light on some of the important issues by studying the performance of four representative algorithms - distributed 2PL, wound-wait, basic timestamp ordering, and a distributed optimistic algorithm - using a detailed simulation model of a distributed DBMS. The authors examine the performance of these algorithms for various levels of contention, ''distributedness'' of the workload, and data replication. The results should prove useful to designers of future distributed database systems.

107 citations


Journal ArticleDOI
TL;DR: A class of recently-proposed linear-cost network flow methods which are amenable to distributed implementation using the notion ofε-complementary slackness is reviewed, and two specific methods, theε-relaxation algorithm for the minimum-cost flow problem, and the auction algorithms for the assignment problem are presented.
Abstract: We review a class of recently-proposed linear-cost network flow methods which are amenable to parallel implementation. All the methods in the class use the notion of c-complementary slackness, and most do not explicitly manipulate any "global" objects such as paths, trees, or cuts. Interestingly, these methods have also stimulated a large number of new serial computational complexity results. We develop the basic theory of these methods and present two specific methods, the E-relaxation algorithm for the minimum-cost flow problem, and the auction algorithm for assignment problem. We show how to implement these methods with serial complexities of O(N 3 log NC) and O(NA log NC), respectively. We also discuss practical implementation issues and computational experience to date. Finally, we show how to implement e-relaxation in a completely asynchronous, "chaotic" environment in which some processors compute faster than others, some processors communicate faster than others, and there can be arbitrarily large communication delays.

106 citations


Journal ArticleDOI
TL;DR: This work proposes a formal problem called “distributed match-making” as the generic paradigm for distributed control issues as diverse as name server, mutual exclusion, and replicated data management.
Abstract: In many distributed computing environments, processes are concurrently executed by nodes in a store- and-forward communication network. Distributed control issues as diverse as name server, mutual exclusion, and replicated data management involve making matches between such processes. We propose a formal problem called "distributed match-making" as the generic paradigm. Algorithms for distributed match-making are developed and the complexity is investigated in terms of messages and in terms of storage needed. Lower bounds on the complexity of distributed match-making are established. Optimal algorithms, or nearly optimal algorithms, are given for particular network topologies.

102 citations


Proceedings ArticleDOI
13 Jun 1988
TL;DR: The design and implementation of a reliable group communication mechanism that guarantees a form of atomicity in that the messages are received by all operational members of the group or by none of them is presented.
Abstract: The design and implementation of a reliable group communication mechanism is presented. The mechanism guarantees a form of atomicity in that the messages are received by all operational members of the group or by none of them. Since the overhead in enforcing the order of messages is nontrivial, the mechanism provides two types of message transmission: one guarantees delivery of the messages in the same order to all members of a group, and the other guarantees only atomicity with messages delivered in some arbitrary order. The message-ordering property can be used to simplify distributed database and distributed processing algorithms. The mechanism can survive despite process, host, and communication failures. >

75 citations


Proceedings ArticleDOI
05 Dec 1988
TL;DR: Different facets of autonomy as well as relationships among them are discussed, and how autonomy affects other aspects of distributed computing, including timeliness, correctness, load sharing, data sharing, and data replication are looked into.
Abstract: The goal of this paper is to explore the notion of node autonomy in distributed computer systems. Some motivations for autonomy are exposed. Different facets of autonomy as well as relationships among them are discussed. Finally, we look into how autonomy affects other aspects of distributed computing, including timeliness, correctness, load sharing, data sharing, and data replication.

74 citations


Journal ArticleDOI
Isreal Cidon1
TL;DR: A new distributed depth-first-search algorithm is presented whose communication and time complexities are bounded by 3|E| and 2|V|, respectively.

64 citations


Proceedings ArticleDOI
Israel Cidon1, Moshe Sidi1
27 Mar 1988
TL;DR: It is shown how distributed dynamic channel assignment algorithms for a multihop packet radio network can be used to determine time-division multiaccess cycles with spatial reuse of the channel.
Abstract: Distributed dynamic channel assignment algorithms for a multihop packet radio network are introduced. The algorithms ensure conflict-free transmissions by the nodes of the network. The basic idea of the algorithms is to split the shared channel into a control segment and a transmission segment. The control segment is used to avoid conflicts among the nodes and to increase the utilization of the transmission segment. It is shown how these algorithms can be used to determine time-division multiaccess cycles with spatial reuse of the channel. >

Proceedings ArticleDOI
01 Jan 1988
TL;DR: A class of new models for distributed algorithms which make explicit the difference between switching and processing are introduced, which define new message and time complexity measures which, it is believed, capture the costs in many high speed networks more accurately than traditional measures.
Abstract: In future networks, transmission and switching capacity will dominate processing capacity. The authors investigate the way in which distributed algorithms should be changed in order to operate efficiently in this new environment. They introduce a class of new models for distributed algorithms which make explicit the difference between switching and processing. Based on these new models they define new message and time complexity measures which, they believe, capture the costs in many high-speed networks more accurately then traditional measures. In order to explore the consequences of the new models, they examine three problems in distributed computation. For the problem of maintaining network topology they devise a broadcast algorithm which takes O(n) messages and O(log n) time for a single broadcast in the new measure. For the problem of leader election they present a simple algorithm that uses O(n) messages and O(n) time. The third problem, distributed computation of a "globally sensitive" function, demonstrates some important features and tradeoffs in the new models and emphasizes and differences with the traditional network model. The results of the present paper influenced later research, as well as the design of IBM Networking Broadband Services (NBBS). >

Proceedings Article
21 Aug 1988
TL;DR: A novel processor allocation strategy, called Bound-and-Branch, is presented for parallel alpha-beta search that achieves linear speedup in the case of perfect node ordering, and an actual speedup of 12 is obtained with 32 processors.
Abstract: We propose a parallel tree search algorithm based on the idea of tree-decomposition in which different processors search different parts of the tree. This generic algorithm effectively searches irregular trees using an arbitrary number of processors without shared memory or centralized control. The algorithm is independent of the particular type of tree search, such as single-agent or two-player game, and independent of any particular processor allocation strategy. Uniprocessor depth-first and breadth-first search are special cases of this generic algorithm. The algorithm has been implemented for alpha-beta search in the game of Othello on a 32-node Hypercube multiprocessor. The number of node evaluations grows approximately linearly with the number of processors P, resulting in an overall speedup for alpha-beta with random node ordering of P.75. Furthermore we present a novel processor allocation strategy, called Bound-and-Branch, for parallel alpha-beta search that achieves linear speedup in the case of perfect node ordering. Using this strategy, an actual speedup of 12 is obtained with 32 processors.

Proceedings ArticleDOI
01 Jan 1988
TL;DR: This paper provides firm theoretical ground for temporal ordering in describing the behavior of algorithms-statements like “after A, task B is performed” in the absence of an explicit termination detection for A built into the algorithm.
Abstract: Designers of autonomous distributed algorithms ( i.e., algorithms whose complete input is available before the start of execution) customarily refer to temporal ordering in describing the behavior of their algorithms-statements like “after A, task B is performed.” In the absence of an explicit termination detection for A built into the algorithm such a statement should be puzzling. However, the available proof methodologies do not seem to hinge on such statements. This paper provides firm theoretical ground for such as*Supported by NSF Presidential Young Investigators Award under grant DCR84-51396 and matching funds from IBM Faculty Development Award under grant D840622. 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.

Proceedings ArticleDOI
01 Jan 1988
TL;DR: Two algorithms, based in part on Lynch's, have improved locality, which means, a process’s waiting time is a small function of the number and speed of nearby processes, and can be combined to give an overall improved algorithm.
Abstract: Eugene St yer Gary L Peterson School of Information and Computer Science Georgia Institute of Technology Atlanta, Ga 30332 The problem of assigning resources to processes in a distributed system using only 10~81 communication is considered The problem is a generalized form of Dining Philosophers as given by Lynch [S] and also considered by Chandy and Misra [2] Those solutions, however, allowed a process to wait for relatively distant processes, and also to wait many times for the same process Our algorithms, based in part on Lynch’s, have improved locality That is, a process’s waiting time is a small function of the number and speed of nearby processes The first algorithm prevents a process from being delayed by processes that are far away in the network A process may delay another if its distance away is at most logarithmic in the number of colors used to edge-color the graph representing the network (The previous algorithms are linear in edge-color) A second algorithm restricts the neighboring processes so that they cannot repeatedly acquire and relesse resources ahead of other processes, each time causing an additional delay The maximum waiting time is polynomially bounded by the number of processes within a distance limited by the number of colors (As opposed to an exponential bound for the previous solutions) The algorithms can be combined to give an overall improved algorithm Much of the analysis of the algorithms is non-trivial 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: A distributed algorithm for mutual exclusion that is more general than the mutual exclusion algorithms which make use of an a priori knowledge of the network topology (for example either ring or complete network).
Abstract: A distributed algorithm for mutual exclusion is presented. No particular assumptions on the network topology are required, except connectivity; the communication graph may be arbitrary. The processes communicate by using messages only and there is no global controller. Furthermore, no process needs to know or learn the global network topology. In that sense, the algorithm is more general than the mutual exclusion algorithms which make use of an a priori knowledge of the network topology (for example either ring or complete network). A proof of the correctness of the algorithm is provided. The algorithm's complexity is examined by evaluating the number of messages required for the mutual exclusion protocol.

Proceedings ArticleDOI
10 Oct 1988
TL;DR: The authors present vote assignment algorithms aimed at maximizing the reliability, in their approach the voting weight assigned to each node is readily determined if the link failure rate is negligible.
Abstract: Majority voting is commonly used in distributed computing systems to control mutual exclusion, and in fault-tolerant computing to achieve reliability. Different vote assignments may result in different reliabilities. The authors present vote assignment algorithms aimed at maximizing the reliability. In their approach the voting weight assigned to each node is readily determined if the link failure rate is negligible. For systems having imperfect links a heuristic algorithm is proposed. Simulation studies show that the algorithm can approximate optimal assignments quite well in small systems. >

Journal ArticleDOI
TL;DR: The author discusses experience with adapting the spanning tree algorithm to the remote bridge environment, including the addition of a distributed algorithm for utilizing backbone networks while they are configured as backup paths by the spans tree.
Abstract: The IEEE 8021 MAC Bridge specification describes transparent local bridges, called spanning tree bridges, that interconnect 802-type local area networks (LANs) The author discusses experience with adapting the spanning tree algorithm to the remote bridge environment, including the addition of a distributed algorithm for utilizing backbone networks while they are configured as backup paths by the spanning tree This results in local and remote bridge configurations that automatically detect and recover from all failures/restorals in a deterministic way Once the support of the same spanning tree algorithm is pervasive, it is also possible to add distributed algorithms that allow spanning tree backup paths to be utilized >

Journal ArticleDOI
TL;DR: It is shown that response is a very important first-order metric of dynamic scheduling behavior, and that response and stability are related, and has implications for distributed computations in general.
Abstract: An examination is made of the effects of response and stability on scheduling algorithms for general-purpose distributed computing systems. Response characterizes the time required, following a perturbation in the system state, to reach a new equilibrium state. Stability is a measure of the ability of a mechanism to detect when the effects of further actions will not improve the system state as defined by a user-defined objective. These results have implications for distributed computations in general. Analysis is based on formal communicating finite automata models of two distinct approaches to the scheduling problem, each using the objective of global optimal load balancing. The results indicate that absolute stability is not always necessary in dynamic systems for the same reasons that relatively small amounts of instability are tolerated in the design of analog control systems. It is shown that response is a very important first-order metric of dynamic scheduling behavior, and that response and stability are related. >


Proceedings ArticleDOI
13 Jun 1988
TL;DR: A description is given of a novel concept and mechanism, called an object group, that realizes hierarchical, integrated object processing and management, and an implementation on a network-transparent global distributed system, which is under development, is discussed.
Abstract: A description is given of a novel concept and mechanism, called an object group, that realizes hierarchical, integrated object processing and management. Object groups can be used as a software basis for constructing object-based distributed systems. They support hierarchical control of objects, group-oriented communications, group access control, group resource management, and some generic operations on groups, providing consistent and uniform interfaces. Applications include job control, parallel processing, servers, object pools, hierarchical resource management, and so on. Some design issues are presented, and an implementation on a network-transparent global distributed system, which is under development, is discussed. >

Proceedings ArticleDOI
27 Mar 1988
TL;DR: The authors propose a distributed scheme for scheduling broadcasts that involves very limited overhead and has very good efficiency performance.
Abstract: The authors consider multihop, mobile, packet radio networks that need to determine broadcasting transmission schedules in a distributed way with the goal of avoiding interference and achieving reasonable efficiency. Several centralized scheduling schemes have been proposed in the literature, while very few and mostly ad hoc distributed schemes have been considered that generally suffer from serious weaknesses. The authors propose a distributed scheme for scheduling broadcasts that involves very limited overhead and has very good efficiency performance. >

Proceedings ArticleDOI
Mark J. Karol1, S. Shaikh
28 Nov 1988
TL;DR: Simulations of the adaptive routing scheme for datagram transmission demonstrates that it supports nonuniform traffic patterns, reduces the mean queue sizes and variances, and requires small resequencing buffers.
Abstract: The authors describe a simple, adaptive routing scheme for datagram (connectionless) and virtual circuit (connection-oriented) transmission that relieves congestion resulting from nonuniform traffic patterns and network failures. It is a distributed algorithm that uses only local state information available at the user locations. When the network is congestion free, the routing scheme delivers packets in the minimum number of hops. However, as a channel becomes overloaded, some of the traffic is distributed over less busy channels by automatically bumping packets in nonoptimal directions. The ShuffleNet connectivity makes it possible to disperse packets away from congested portions of the network quickly. Simulations of the adaptive routing scheme for datagram transmission demonstrates that it supports nonuniform traffic patterns, reduces the mean queue sizes and variances, and requires small resequencing buffers. >

Journal ArticleDOI
TL;DR: Electron in asynchronous complete networks is considered for the case in which the links may fail intermittently and undetectably, consistent with the standard model of distributed algorithms in which link delays can be arbitrary but finite.
Abstract: Electron in asynchronous complete networks is considered for the case in which the links may fail intermittently and undetectably. Undetectable link failure is consistent with the standard model of distributed algorithms in which link delays can be arbitrary but finite. An algorithm is given that correctly solves the problem when the links fail before or during the execution of the algorithm. If n is the number of nodes in the network, f the maximum number of fault links, and r a design parameter, the algorithm uses no more than O(nrf+(nr/(r-1) log(n/(r-1)f))) messages, runs in time O(n/(r-1)) f, and uses at most O(log mod T mod ) bits per message, where mod T mod is the cardinality of the set of node identifiers. >

Journal ArticleDOI
TL;DR: A comprehensive model encompassing the process of packet duplication together with both forms of packet elimination is defined and a quasi-static distributed algorithm is developed that is optimal, deadlock free, and loop free.
Abstract: Packet duplication is discussed as a means of increasing network reliability in an environment where packet loss exists. Several methods of routing the duplicates are presented, one of which-the st-numbering-is shown to have the combined advantage of using disjoint paths and more even utilization of network resources. An additional mechanism, deliberate packet elimination, is introduced as a means of controlling congestion that may result, in part, from the duplication. A comprehensive model is defined encompassing the process of packet duplication together with both forms of packet elimination. Within this model, a cost function based on average packet delay is defined. A quasi-static distributed algorithm is developed that is optimal, deadlock free, and loop free. Extension of the model to include packet retransmission is considered. >

Journal ArticleDOI
01 Jan 1988
TL;DR: Lower bounds for the expected efficiency of SRM are developed and compared with its performance as obtained through computional experiments, as well as in a simulated distributed environment on a sequential machine.
Abstract: Gauss-Seidel type relaxation techniques are applied in the context of strictly convex network optimization problems. The algorithm lends itself for processing in a massively distributed environment. A synchronous relaxation method (SRM) is proposed, based on the k-coloring properties of the network graph. The method is tested in a simulated distributed environment on a sequential machine. Lower bounds for the expected efficiency of SRM are developed and compared with its performance as obtained through computional experiments.

ReportDOI
01 Jun 1988
TL;DR: This paper presents a proof technique for the modular verification of such non-modular algorithms, which generalizes existing verification techniques based on a totally-ordered hierarchy of refinements to allow a partially- ordered hierarchy-that is, a lattice of different views of the algorithm.
Abstract: : Highly-optimized concurrent algorithms are often hard to prove correct because they have no natural decomposition into separately provable parts. This paper presents a proof technique for the modular verification of such non-modular algorithms. It generalizes existing verification techniques based on a totally-ordered hierarchy of refinements to allow a partially-ordered hierarchy-that is, a lattice of different views of the algorithm. The technique is applied to the well-known distributed minimum spanning tree algorithm of Gallager, Humblet and Spira, which was until recently lacked a rigorous proof. Keywords: Distributed algorithms, Verification, Modularity, Partially ordered refinements, Liveness proofs, Minimum spanning tree.

Book
02 Jun 1988
TL;DR: Network and Distributed Computation introduces the basic tools for the design and analysis of systems involving large-scale concurrency, with examples based on network systems and develops a coherent framework for presenting and analyzing a wide variety of algorithms relevant to distributed computation.
Abstract: Networks and Distributed Computation covers the recent rapid developments in distributed systems. It introduces the basic tools for the design and analysis of systems involving large-scale concurrency, with examples based on network systems; considers problems of network and global state learning; discusses protocols allowing synchronization constraints to be distributed; and analyzes the fundamental elements of distribution in detail, using a large number of algorithms. Interprocess communication and synchronization are central issues in the design of distributed systems, taking on a different character from their counterparts in centralized systems. Raynal addresses these issues in detail and develops a coherent framework for presenting and analyzing a wide variety of algorithms relevant to distributed computation. Contents: First example - a data transfer protocol. Second example - independent control of logic clocks. Simple algorithms and protocols. Determination of the global state. Distributing a global synchronization constraint. Elements and algorithms for a toolbox. Michel Raynal is Professor of Computer Science at the Institute for Research in Informatics and Random Systems at the University of Rennes, France. He is author of Algorithms for Mutual Exclusion (MIT Press 1986). Networks and Distributed Computation is included in the Computer Systems series edited by Herb Schwetman.

Proceedings ArticleDOI
07 Nov 1988
TL;DR: A distributed algorithm for solving the floorplan design problem, called a genetic algorithm with punctuated equilibria (GAPE), performs consistently better than a recently published simulated annealing approach with respect to both the average cost of the solutions found and the best solution found.
Abstract: A distributed algorithm for solving the floorplan design problem, called a genetic algorithm with punctuated equilibria (GAPE), is presented. Implementation details and the results of empirical studies are presented. The experiments have demonstrated that GAPE performs consistently better than a recently published simulated annealing approach, with respect to both the average cost of the solutions found and the best solution found. >

Journal ArticleDOI
TL;DR: The author describes a measurement system called the Distributed Programs Monitor (DPM), which he has constructed on the basis of these concepts, and has been implemented and used for measurement studies on two different operating systems.
Abstract: A framework for measuring the performance of distributed programs is presented. This framework includes a model of distributed programs, a description of the measurement principles and methods, and a guideline for implementing these ideas. The author describes a measurement system called the Distributed Programs Monitor (DPM), which he has constructed on the basis of these concepts. DPM has been implemented and used for measurement studies on two different operating systems, DEMOS/MP and Berkeley Unix. >