Results 1  10
of
117
What Can Be Computed Locally?
 SIAM J. Comput
, 1993
"... . The purpose of this paper is a study of computation that can be done locally in a distributed network, where "locally" means within time (or distance) independent of the size of the network. Locally Checkable Labeling (LCL) problems are considered, where the legality of a labeling can be checked l ..."
Abstract

Cited by 112 (1 self)
 Add to MetaCart
. The purpose of this paper is a study of computation that can be done locally in a distributed network, where "locally" means within time (or distance) independent of the size of the network. Locally Checkable Labeling (LCL) problems are considered, where the legality of a labeling can be checked locally (e.g., coloring). The results include the following: ffl There are nontrivial LCL problems that have local algorithms. ffl There is a variant of the dining philosophers problem that can be solved locally. ffl Randomization cannot make an LCL problem local; i.e., if a problem has a local randomized algorithm then it has a local deterministic algorithm. ffl It is undecidable, in general, whether a given LCL has a local algorithm. ffl However, it is decidable whether a given LCL has an algorithm that operates in a given time t. ffl Any LCL problem that has a local algorithm has one that is orderinvariant (the algorithm depends only on the order of the processor id's). Keywords: ...
Paradigms for process interaction in distributed programs
 ACM Computing Surveys
, 1991
"... Distributed computations are concurrent programs in which processes communicate by message passing. Such programs typically execute on network architectures such as networks of workstations ordistributed memory parallel machines (i. e, multicomputers such ashypercubes). Several paradigms—examples or ..."
Abstract

Cited by 109 (0 self)
 Add to MetaCart
Distributed computations are concurrent programs in which processes communicate by message passing. Such programs typically execute on network architectures such as networks of workstations ordistributed memory parallel machines (i. e, multicomputers such ashypercubes). Several paradigms—examples or models—for process interaction
NonClairvoyant Scheduling
, 1993
"... Virtually all research in scheduling theory has been concerned with clairvoyant scheduling where it is assumed that the characteristics of a job (in particular, its execution time, release time and dependence on other jobs) are known a priori. This assumption is invalid for scheduling problems t ..."
Abstract

Cited by 87 (7 self)
 Add to MetaCart
Virtually all research in scheduling theory has been concerned with clairvoyant scheduling where it is assumed that the characteristics of a job (in particular, its execution time, release time and dependence on other jobs) are known a priori. This assumption is invalid for scheduling problems that arise in timesharing operating systems where the scheduler must provide fast turnaround for processes being generated by the users without any knowledge of the future behavior of these processes. We study preemptive, nonclairvoyant scheduling schemes where the scheduler has no knowledge of the jobs' characteristics. We develop a model for evaluating scheduling strategies for single and multiprocessor systems. This model compares the nonclairvoyant scheduler against the optimal clairvoyant scheduler, and it takes into account various issues such as release times, execution time, preemption cost, and the interdependence between jobs. Within this model we study some standard sc...
An overview of the SR language and implementation
 ACM Transactions on Programming Languages and Systems
, 1988
"... SR is a language for programming distributed systems ranging from operating systems to application programs. On the basis of our experience with the initial version, the language has evolved considerably. In this paper we describe the current version of SR and give an overview of its implementation ..."
Abstract

Cited by 84 (24 self)
 Add to MetaCart
SR is a language for programming distributed systems ranging from operating systems to application programs. On the basis of our experience with the initial version, the language has evolved considerably. In this paper we describe the current version of SR and give an overview of its implementation. The main language constructs are still resources and operations. Resources encapsulate processes and variables that they share; operations provide the primary mechanism for process interaction. One way in which SR has changed is that both resources and processes are now created dynamically. Another change is that inheritance is supported. A third change is that the mechanisms for operation invocationcall and sendand operation implementationproc and inhave been extended and integrated. Consequently, all of local and remote procedure call, rendezvous, dynamic process creation, asynchronous message passing, multicast, and semaphores are supported. We have found this flexibility to be very useful for distributed programming. Moreover, by basing SR on a small number of wellintegrated concepts, the language has proved easy to learn and use, and it has a reasonably efficient implementation.
On Chromatic Sums and Distributed Resource Allocation
"... This paper studies an optimization problem that arises in the context of distributed resource allocation: Given a conflict graph that represents the competition of processors over resources, we seek an allocation under which no two jobs with conflicting requirements are executed simultaneously. Our ..."
Abstract

Cited by 66 (14 self)
 Add to MetaCart
This paper studies an optimization problem that arises in the context of distributed resource allocation: Given a conflict graph that represents the competition of processors over resources, we seek an allocation under which no two jobs with conflicting requirements are executed simultaneously. Our objective is to minimize the average response time of the system. In alternative formulation this is known as the Minimum Color Sum (MCS) problem [24]. We show, that the algorithm based on finding iteratively a maximum independent set (MaxIS) is a 4approximation to the MCS. This bound is tight to within a factor of 2. We give improved ratios for the classes of bipartite, boundeddegree, and line graphs. The bound generalizes to a 4aeapproximation of MCS for classes of graphs for which the maximum independent set problem can be approximated within a factor of ae. On the other hand, we show that an n1 \Gamma fflapproximation is NPhard, for some ffl? 0. For some instances of the resource allocation problem, such as the Dining Philosophers, an efficient solution requires edge coloring of the conflict graph. We introduce the Minimum Edge Color Sum (MECS) problem which is shown to be NPhard. We show that a 2approximation to MECS(G) can be obtained distributively using compact coloring within O(log² n) communication rounds.
Unidirectional Links Prove Costly in Wireless AdHoc Networks
 In Proc. of the 3 rd International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications (DIALM
, 1999
"... Most of the routing algorithms for adhoc networks assume that all wireless links are bidirectional. In reality, some links may be unidirectional. The presence of such links can jeopardize the performance of the existing routing algorithms. In this paper we show that routing protocols that account ..."
Abstract

Cited by 61 (1 self)
 Add to MetaCart
Most of the routing algorithms for adhoc networks assume that all wireless links are bidirectional. In reality, some links may be unidirectional. The presence of such links can jeopardize the performance of the existing routing algorithms. In this paper we show that routing protocols that account for unidirectional links will require nodes to exchange O(n 2 ) information with each other, where n is the number of nodes in the network. We also present modifications to distance vector based routing algorithms to make them work in adhoc networks with unidirectional links. 1 Introduction The mobility pattern of the nodes in an adhoc network is often nondeterministic. Hence, the network topology is always in a flux. There has been a significant amount of effort towards developing routing algorithms for such networks. These algorithms can be classified into (a) clusterbased algorithms, and (b) flat algorithms. In clusterbased algorithms [1, 2, 5, 6], at regular intervals, a sub...
A Framework for Dynamic Reconfiguration of Distributed Programs
 In Proceedings of the 11th International Conference on Distributed Computing Systems
, 1993
"... Current techniques for a software engineer to change a computer program are limited to static activities  once the application begins executing, there are few reliable ways to reconfigure it. We have developed a general framework for reconfigurating application software dynamically. A sound metho ..."
Abstract

Cited by 50 (10 self)
 Add to MetaCart
Current techniques for a software engineer to change a computer program are limited to static activities  once the application begins executing, there are few reliable ways to reconfigure it. We have developed a general framework for reconfigurating application software dynamically. A sound method for managing changes in a running program allows developers to perform maintenance activities without loss of the overall system's service. The same methods also support some forms of load balancing in a distributed system, and research in software fault tolerance. Our goal has been to create an environment for organizing and effecting software reconfiguration activities dynamically. First we present the overall framework within which reconfiguration is possible, then we describe our formal approach for programmers to capture the state of a process abstractly. Next, we describe our implementation of this method within an environment for experimenting with program reconfiguration. We conclu...
Stabilizationpreserving atomicity refinement
 IN DISC99 DISTRIBUTED COMPUTING 13TH INTERNATIONAL SYMPOSIUM
, 1999
"... Program renements from an abstract to a concrete model empower designers to reason effectively in the abstract and architects to implement effectively in the concrete. For refinements to be useful, they must not only preserve functionality properties but also dependability properties. In this paper ..."
Abstract

Cited by 41 (5 self)
 Add to MetaCart
Program renements from an abstract to a concrete model empower designers to reason effectively in the abstract and architects to implement effectively in the concrete. For refinements to be useful, they must not only preserve functionality properties but also dependability properties. In this paper, we focus our attention on refinements that preserve the property of stabilization. We distinguish between two types of stabilizationpreserving refinements  atomicity refinement and semantics refinement  and study the former. Specifically, we present a stabilizationpreserving atomicity refinement from a model where a process can atomically access the state of all its neighbors and update its own state, to a model where a process can only atomically access the state of any one of its neighbors or atomically update its own state. (Of course, correctness properties, including termination and fairness, are also preserved.) Our refinement is based on a lowatomicity, boundedspace, stabilizing solution to the dining philosophers problem. It is readily extended to: (a) solve stabilizationpreserving semantics refinement, (b) solve the drinking philosophers problem, and (c) allow further refinement into a messagepassing model.
SelfStabilizing Local Mutual Exclusion and Daemon Refinement
, 2002
"... Refining selfstabilizing algorithms which use tighter scheduling constraints (weaker daemon) into corresponding algorithms for weaker or no scheduling constraints (stronger daemon), while preserving the stabilization property, is useful and challenging. Designing transformation techniques for these ..."
Abstract

Cited by 36 (6 self)
 Add to MetaCart
Refining selfstabilizing algorithms which use tighter scheduling constraints (weaker daemon) into corresponding algorithms for weaker or no scheduling constraints (stronger daemon), while preserving the stabilization property, is useful and challenging. Designing transformation techniques for these refinements has been the subject of serious investigations in recent years. This paper proposes a new transformation technique for daemon refinement. The core of the transformer is a selfstabilizing local mutual exclusion algorithm. The local mutual exclusion problem is to grant a process the privilege to enter critical section if and only if none of its neighbors has the privilege. The contribution of this paper is twofold. First, we present a boundedmemory selfstabilizing local mutual exclusion algorithm for arbitrary networks, assuming any arbitrary daemon. After stabilization, this algorithm maintains a bound on the service time (the delay between two successive executions of critical section by a particular process). This bound is n(n 1) where n is the network size. Another nice feature of our algorithm is that it satisfies the strong safety property  in any configuration, there is at least one privileged processor. Second, we use the local mutual exclusion algorithm to design two transformers which convert the algorithms working under a weaker daemon to ones which work under the distributed, arbitrary (or unfair) daemon. Both transformers preserve the selfstabilizing property. The first transformer refines algorithms written under the central daemon, while the second transformer refines algorithms designed for the kfair (k (n 1)) daemon.