Results 1 - 10
of
12
A Distributed Protocol for Channel-Based Communication with Choice
- Computers and Artificial Intelligence
, 1993
"... Recent attempts at incorporating concurrency into functional languages have identified synchronous communication via shared channels as a promising primitive. An additional useful feature found in many proposals is a nondeterministic choice operator. Similar in nature to the CSP alternative comma ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
Recent attempts at incorporating concurrency into functional languages have identified synchronous communication via shared channels as a promising primitive. An additional useful feature found in many proposals is a nondeterministic choice operator. Similar in nature to the CSP alternative command, this operator allows different possible actions to be guarded by sends or receives. Choice is difficult to implement in a distributed environment because it requires offering many potential communications but closing only one. In this paper we present the first distributed, deadlock-free algorithm for choice. Keywords: Distributed protocols, channels, synchronous communication, choice operator, CSP alternative command. 1. Introduction In 1978, C.A.R. Hoare introduced a now-classic paradigm for parallel programming called communicating sequential processes, or CSP [12]. CSP presented a new approach to concurrent programming, and its legacy has continued to influence wellfounded pr...
Efficient Fault-Tolerant Algorithms for Distributed Resource Allocation
- ACM Transactions on Programming Languages and Systems
, 1995
"... this article, we first confine our attention to this particular problem and develop a suite of efficient and fault-tolerant algorithms for it. Later, we consider other process synchronization problems in distributed systems and solve them through transformations based on the these algorithms. Some o ..."
Abstract
-
Cited by 25 (3 self)
- Add to MetaCart
this article, we first confine our attention to this particular problem and develop a suite of efficient and fault-tolerant algorithms for it. Later, we consider other process synchronization problems in distributed systems and solve them through transformations based on the these algorithms. Some of the existing criteria to measure the performance of the solutions to the dining philosophers problem are response time [Lynch 1980], which measures the time delay between a process wishing to access the resources and it actually being able to do so, and message complexity (or economy [Chandy and Misra 1984]), which measures the number of messages sent or received by a process during each access to shared resources. We introduce a new criterion, failure locality, which measures the effect of process failures. In a solution with a small failure locality, a process is less likely to be affected by the failure of other processes. We examine these criteria in more detail next. Response time quantifies how long it takes a process to access the resources it has requested. In order to measure time in an asynchronous system, we assume bounds on the message delivery time in the communication network and the time for which a process holds onto requested resources after it has been granted exclusive access to them. Treating these bounds as constants and assuming local processing time to be negligible, it is possible to express the response time of an algorithm in terms of ffi, the maximum degree of the underlying conflict graph. A lower bound of \Omega\Gamma ffi)
A Comprehensive Study of the Complexity of Multiparty Interaction
- Journal of the ACM
, 1996
"... A multiparty interaction is a set of I/O actions executed jointly by a number of processes, each of which must be ready to execute its own action for any of the actions in the set to occur. An attempt to participate in an interaction delays a process until all other participants are available. Altho ..."
Abstract
-
Cited by 24 (8 self)
- Add to MetaCart
A multiparty interaction is a set of I/O actions executed jointly by a number of processes, each of which must be ready to execute its own action for any of the actions in the set to occur. An attempt to participate in an interaction delays a process until all other participants are available. Although a relatively new concept, the multiparty interaction has found its way into a number of distributed programming languages and algebraic models of concurrency. In this paper, we present a taxonomy of languages for multiparty interaction that covers all proposals of which we are aware. Based on this taxonomy, we then present a comprehensive analysis of the computational complexity of the multiparty interaction scheduling problem, the problem of scheduling multiparty interactions in a given execution environment. 1 Introduction A multiparty interaction is a set of I/O actions executed jointly by a number of processes, each of which must be ready to execute its own action for any of the act...
Coordinating first-order multiparty interactions
- ACM Transactions on Programming Languages and Systems
, 1994
"... A first-order multiparty interaction is an abstraction mechanism that defines communication among a set of formal process roles. Actual processes participate in a first-order interaction by enroling into roles, and execution of the interaction can proceed when all roles are filled by distinct proces ..."
Abstract
-
Cited by 14 (7 self)
- Add to MetaCart
A first-order multiparty interaction is an abstraction mechanism that defines communication among a set of formal process roles. Actual processes participate in a first-order interaction by enroling into roles, and execution of the interaction can proceed when all roles are filled by distinct processes. As in CSP, enrolement statements can serve as guards in alternative commands. The enrolement guard scheduling problem then is to enable the execution of first-order interactions through the judicious scheduling of roles to processes currently ready to execute enrolement guards. We present a fully distributed and message-efficient algorithm for the enrolement guard scheduling problem, the first such solution of which we are aware. We also describe several extensions of the algorithm, including generic roles, dynamically changing environments where processes can be created and destroyed at run time, and nested-enrolement which allows interactions to be nested.
Localizing Failures in Distributed Synchronization
- IEEE Transactions on Parallel and Distributed Systems
, 1996
"... We investigate the fault-tolerance of distributed algorithms in asynchronous message passing systems with undetectable process failures. We introduce failure locality as a measure of the fault-tolerance of distributed algorithms. This measure captures the general idea of allowing part of a system to ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
We investigate the fault-tolerance of distributed algorithms in asynchronous message passing systems with undetectable process failures. We introduce failure locality as a measure of the fault-tolerance of distributed algorithms. This measure captures the general idea of allowing part of a system to continue to function despite the failure of other parts of the system. We concentrate on two problems, the dining philosophers problem and the committee coordination problem, and present algorithms with an optimal failure locality. Index Terms: Concurrency, Distributed Algorithms, Fault-tolerance, Lower Bounds, Synchronization 1 Introduction The ability to tolerate failures is an important design requirement of computer systems in general, and of distributed systems in particular as the detection of failures becomes difficult in such systems. We investigate the effects of failures on distributed synchronization problems that require the co-operation of a set of independent processes. The...
Strong Interaction Fairness via Randomization
- IEEE Transactions on Parallel and Distributed Systems
, 1996
"... We present Multi, a symmetric, fully distributed, randomized algorithm that, with probability 1, schedules multiparty interactions in a strongly fair manner. To our knowledge, Multi is the first algorithm for strong interaction fairness to appear in the literature. Moreover, the expected time taken ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
We present Multi, a symmetric, fully distributed, randomized algorithm that, with probability 1, schedules multiparty interactions in a strongly fair manner. To our knowledge, Multi is the first algorithm for strong interaction fairness to appear in the literature. Moreover, the expected time taken by Multi to establish an interaction is a constant not depending on the total number of processes in the system. In this sense, Multi guarantees real-time response. Multi makes no assumptions (other than boundedness) about the time it takes processes to communicate. It thus offers an appealing tonic to the impossibility results of Tsay&Bagrodia and Joung concerning strong interaction fairness in an environment, shared-memory or message-passing, in which processes are deterministic and the communication time is nonnegligible. Because strong interaction fairness is as strong a fairness condition that one might actually want to impose in practice, our results indicate that randomization may a...
Characterizing Fairness Implementability for Multiparty Interaction
- In Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
, 1996
"... Model for Process Interaction An interaction system is a pair M = (PM ; I M ), where PM is a finite set of processes, and I M is a finite set of interactions. Each interaction x involves a fixed set P x ` PM of participants. A process is either in an idle state or in a ready state. Initially, all ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
Model for Process Interaction An interaction system is a pair M = (PM ; I M ), where PM is a finite set of processes, and I M is a finite set of interactions. Each interaction x involves a fixed set P x ` PM of participants. A process is either in an idle state or in a ready state. Initially, all processes are idle. An idle process may autonomously become ready, where it wishes to execute one interaction, from a set of potential interactions of which it is a member. An interaction can be executed only if all of its participants are ready, and the execution drives them back to an idle state. Moreover, a process can execute only one interaction at a time. A state s of M consists of the state of each process at some instant of time. By [s] p we mean the state of p in s, and by [s] p:aim we mean the set of potential interactions p is ready to execute. An interaction x is enabled in s iff every process p 2 P x is ready for x. Let SM denote the set of all possible states of M . State tran...
On Fairness Notions in Distributed Systems, Part I: A Characterization of Implementability
"... This is the rst part of a two-part paper in which we discuss the implementability of fairness notions in distributed systems where asynchronous processes interact via synchronous constructs|usually called multiparty interactions . In this part we present a criterion for fairness notions and show ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
This is the rst part of a two-part paper in which we discuss the implementability of fairness notions in distributed systems where asynchronous processes interact via synchronous constructs|usually called multiparty interactions . In this part we present a criterion for fairness notions and show that if a fairness notion violates the criterion, then no deterministic algorithm for scheduling multiparty interactions can satisfy the fairness notion. Conversely, the implementation is possible if the criterion is obeyed. Thus, the criterion is sucient and necessary to guarantee the implementability of all possible fairness notions. To our knowledge, this is the rst such criterion to appear in the literature. The main benet of the proposed criterion is that it reduces reasoning about a complex and concrete implementation model to reasoning about a simpler and abstract model for process interaction. To illustrate this, we use the criterion to examine several important fairness no...
Two Decentralized Algorithms for Strong Interaction Fairness for Systems with Unbounded Speed Variability
- Theretical Computer Science
, 2000
"... We present two randomized algorithms, one for message passing and the other for shared memory, that, with probability 1, schedule multiparty interactions in a strongly fair manner. Both algorithms improve upon a previous result by Joung and Smolka (proposed in a shared-memory model, along with a str ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We present two randomized algorithms, one for message passing and the other for shared memory, that, with probability 1, schedule multiparty interactions in a strongly fair manner. Both algorithms improve upon a previous result by Joung and Smolka (proposed in a shared-memory model, along with a straightforward conversion to the message-passing paradigm) in the following aspects: First, processes' speeds as well as communication delays need not be bounded by any predetermined constant. Secondly, our algorithms are completely decentralized, and the sharedmemory solution makes use of only single-writer variables. Finally, both algorithms are symmetric in the sense that all processes execute the same code, and no unique identifiers are used to distinguish processes. 1 Introduction Since Hoare introduced CSP [13], interactions and nondeterminism have become two fundamental features in many programming languages for distributed computing (e.g., Ada [34], Script [11], Action Systems [3], IP ...
On Semantic Constraints in Distributed Systems, Part II: Equivalence-Completions and Their Hierarchies
"... The notion of completion has been proposed by Francez et al. (1992) to transform a nonequivalence -robust fairness notion to an equivalence-robust one while maintaining several properties of the source. However, a completion may not preserve strong feasibility---a necessary and sufficient condition ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The notion of completion has been proposed by Francez et al. (1992) to transform a nonequivalence -robust fairness notion to an equivalence-robust one while maintaining several properties of the source. However, a completion may not preserve strong feasibility---a necessary and sufficient condition for a completion to be implementable. In this paper, we study the system requirement for a completion to be strongly feasible, and determine the strongest implementable completion for every given fairness notion. Moreover, for most systems we obtain a fairness notion, which we refer to as SG + , such that SG + is the strongest fairness notion that is both implementable and equivalence-robust. We also provide a comprehensive comparison of SG + and several well-known fairness notions and their minimal and maximal completions. Finally, we show that, if equivalence-robustness is dropped, then in general it is impossible to define a fairness notion that is implementable and stronger than al...

