Results 21 - 30
of
191
Resource Allocation With Immunity To Limited Process Failure
, 1979
"... Upper and lower bounds are proved for the shared space requirements for solution of several problems involving resource allocation among asynchronous processes. Controlling the degradation of performance when a limited number of processes fail is of particular interest. ..."
Abstract
-
Cited by 32 (7 self)
- Add to MetaCart
Upper and lower bounds are proved for the shared space requirements for solution of several problems involving resource allocation among asynchronous processes. Controlling the degradation of performance when a limited number of processes fail is of particular interest.
The Communication Requirements of Mutual Exclusion
- In Proceedings of the Seventh Annual Symposium on Parallel Algorithms and Architectures
, 1995
"... This paper examines the amount of communication that is required for performing mutual exclusion. It is assumed that n processors communicate via accesses to a shared memory that is physically distributed among the processors. We consider the possibility of creating a scalable mutual exclusion proto ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
This paper examines the amount of communication that is required for performing mutual exclusion. It is assumed that n processors communicate via accesses to a shared memory that is physically distributed among the processors. We consider the possibility of creating a scalable mutual exclusion protocol that requires only a constant amount of communication per access to a critical section. We present two main results. First, we show that there does not exist a scalable mutual exclusion protocol that uses only read and write operations. This result solves an open problem posed by Yang and Anderson. Second, we prove that the same result holds even if test-and-set, compare-and-swap, load-and-reserve and store-conditional operations are allowed in addition to read and write operations. Our results hold even if an amortized analysis of communication costs is used, an arbitrary amount of memory is available, and the processors have coherent caches. In contrast, a mutual exclusion protocol is ...
Hundreds of Impossibility Results for Distributed Computing
- Distributed Computing
, 2003
"... We survey results from distributed computing that show tasks to be impossible, either outright or within given resource bounds, in various models. The parameters of the models considered include synchrony, fault-tolerance, different communication media, and randomization. The resource bounds refe ..."
Abstract
-
Cited by 32 (4 self)
- Add to MetaCart
We survey results from distributed computing that show tasks to be impossible, either outright or within given resource bounds, in various models. The parameters of the models considered include synchrony, fault-tolerance, different communication media, and randomization. The resource bounds refer to time, space and message complexity. These results are useful in understanding the inherent difficulty of individual problems and in studying the power of different models of distributed computing.
A logic for concurrent programming: Safety
- Journal of Computer and Software Engineering
, 1995
"... The UNITY-logic is a fragment of linear temporal logic. It was designed to specify safety and and progress properties of reactive systems. Experience gained in applying this logic in practice has led us to modify some of its operators. In particular, we had adopted unless as the primary operator for ..."
Abstract
-
Cited by 31 (7 self)
- Add to MetaCart
The UNITY-logic is a fragment of linear temporal logic. It was designed to specify safety and and progress properties of reactive systems. Experience gained in applying this logic in practice has led us to modify some of its operators. In particular, we had adopted unless as the primary operator for expressing safety properties for many years. We suggest a new operator, co, to take its place. Our experience suggests that the simplicity of formal manipulations is at least as important as the expressive power of an operator. Theoretically, unless and co are equally expressive, while the latter has more pleasing derived rules that allow simpler manipulations. This research is presented in two papers. We study safety properties in the first paper and progress properties in the second paper. We use a small amount of theory to introduce the co operator. The major portion of the paper is devoted to applying the theory in practice: showing how various safety properties can be expressed and manipulated using co.
A Discipline of Multiprogramming
, 1999
"... ion of the Scheduling Problem . . . . . . . . 70 4.3.2 Specification . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.3 A Scheduling Strategy . . . . . . . . . . . . . . . . . . . . 71 4.3.4 The Correctness of the Scheduling Strategy . . . . . . . . 72 4.3.5 Proof of Maximality . . . . . . . ..."
Abstract
-
Cited by 28 (3 self)
- Add to MetaCart
ion of the Scheduling Problem . . . . . . . . 70 4.3.2 Specification . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.3.3 A Scheduling Strategy . . . . . . . . . . . . . . . . . . . . 71 4.3.4 The Correctness of the Scheduling Strategy . . . . . . . . 72 4.3.5 Proof of Maximality . . . . . . . . . . . . . . . . . . . . . 74 4.3.6 Refining a Maximal Solution: Implementation of the Scheduling Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.4 Designs of the Processors . . . . . . . . . . . . . . . . . . . . . . 77 Chapter 1 Introduction Object-based sequential programming has had a major impact on software engineering. However, object-based concurrent programming remains elusive as an effective programming tool. The class of applications that will be implemented on future high-bandwidth networks of processors will be significantly more ambitious than the current applications (which are mostly involved with transmissions of digital data and images), and object-bas...
Distributed FIFO Allocation of Identical Resources Using Small Shared Space
- ACM Transactions on Programming Languages and Systems
, 1989
"... Devices]: Modes of Computation -parallelism General Terms: Algorithms, Performance, Reliability, Theory Additional Key Words and Phrases: Asynchronous system, distributed computing,' FIFO, lower bound, queue, resource allocation, shared memory, space complexity This work was supported in part by ..."
Abstract
-
Cited by 28 (2 self)
- Add to MetaCart
Devices]: Modes of Computation -parallelism General Terms: Algorithms, Performance, Reliability, Theory Additional Key Words and Phrases: Asynchronous system, distributed computing,' FIFO, lower bound, queue, resource allocation, shared memory, space complexity This work was supported in part by the Office of Naval Research under contract N00014-82-K0154; by the U.S. Army Research Office under contract DAAG29-79-C-0155; and by the National Science Foundation under grants MCS77-02474, MCS77-15628, MCS78-01689, MCS-8116678, and DCR-8405478. N. A. Lynch's work was supported by NSF grant CCR-8611442, DARPA N00014-83K -0125, and ONR N00014-85-K-0168.
Time-Lapse Snapshots
- Proceedings of Israel Symposium on the Theory of Computing and Systems
, 1994
"... A snapshot scan algorithm takes an "instantaneous" picture of a region of shared memory that may be updated by concurrent processes. Many complex shared memory algorithms can be greatly simplified by structuring them around the snapshot scan abstraction. Unfortunately, the substantial decrease in ..."
Abstract
-
Cited by 26 (8 self)
- Add to MetaCart
A snapshot scan algorithm takes an "instantaneous" picture of a region of shared memory that may be updated by concurrent processes. Many complex shared memory algorithms can be greatly simplified by structuring them around the snapshot scan abstraction. Unfortunately, the substantial decrease in conceptual complexity is quite often counterbalanced by an increase in computational complexity. In this paper, we introduce the notion of a weak snapshot scan, a slightly weaker primitive that has a more efficient implementation. We propose the following methodology for using this abstraction: first, design and verify an algorithm using the more powerful snapshot scan, and second, replace the more powerful but less efficient snapshot with the weaker but more efficient snapshot, and show that the weaker abstraction nevertheless suffices to ensure the correctness of the enclosing algorithm. We give two examples of algorithms whose performance can be enhanced while retaining a simple m...
Analyzing Traces with Anonymous Synchronization
, 1990
"... this paper. A trace specifies a total ordering of the events performed by the program. For our purposes, the trace reflects only one of the orders in which the events could have occurred. A more restrictive definition that is difficult to achieve in practice would be for a trace to specify the exact ..."
Abstract
-
Cited by 26 (1 self)
- Add to MetaCart
this paper. A trace specifies a total ordering of the events performed by the program. For our purposes, the trace reflects only one of the orders in which the events could have occurred. A more restrictive definition that is difficult to achieve in practice would be for a trace to specify the exact order in which the events did occur. Since traces are only approximations of executions, there are usually several executions that are consistent with a given trace. What we want to compute is the orderings between pairs of events that must occur in all executions which are consistent with the trace. In general this will be a partial order. If the partial order contains all orderings that must occur, then a pair of events not ordered by this "must occur" partial ordering can potentially execute in either order. Much research has been directed towards determining the partial ordering of events in parallel and distributed systems. Previous models have assumed point-to-point communication which makes it very easy to determine which events were caused by which other events (e.g. "message received by B from A" is clearly caused by "message sent by A to B"). Unfortunately the synchronization models supported by several parallel programming languages allow for anonymous communication, where the partner is unknown. Examples of anonymous communication include locks, semaphores, and monitors. Emrath, Ghosh, and Padua [EGP89] present a method for detecting non-determinacy in parallel programs that utilize fork/join and event style synchronization instructions with the Post, Wait, and Clear primitives. They construct a Task Graph from the given synchronization instructions and the sequential components of the program that is intended to show the guaranteed orderings between events. For ...
Time-Adaptive Algorithms for Synchronization
- SIAM J. Comput
, 1994
"... We consider concurrent systems in which there is an unknown upper bound on memory access time. Such a model is inherently different from asynchronous model where no such bound exists, and also from timing-based models where such a bound exists and is known a priori. The appeal of our model lies in t ..."
Abstract
-
Cited by 25 (5 self)
- Add to MetaCart
We consider concurrent systems in which there is an unknown upper bound on memory access time. Such a model is inherently different from asynchronous model where no such bound exists, and also from timing-based models where such a bound exists and is known a priori. The appeal of our model lies in the fact that while it abstracts from implementation details, it is a better approximation of real concurrent systems compared to the asynchronous model. Furthermore, it is stronger than the asynchronous model enabling us to design algorithms for problems that are unsolvable in the asynchronous model. Two basic synchronization problems, consensus and mutual exclusion, are investigated in a shared memory environment that supports atomic read/write registers. We show that \Theta(\Delta log \Delta log log \Delta ) is an upper and lower bound on the time complexity of consensus, where \Delta is the (unknown) upper bound on memory access time. For the mutual exclusion problem, we design an effic...
Concurrent Timestamping Made Simple
- Proceedings of Israel Symposium on Theory of Computing and Systems
, 1995
"... Concurrent Time-stamp Systems (ctss) allow processes to temporally order concurrent events in an asynchronous shared memory system, a powerful tool for concurrency control, serving as the basis for solutions to coordination problems such as mutual exclusion, `-exclusion, randomized consensus, and m ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
Concurrent Time-stamp Systems (ctss) allow processes to temporally order concurrent events in an asynchronous shared memory system, a powerful tool for concurrency control, serving as the basis for solutions to coordination problems such as mutual exclusion, `-exclusion, randomized consensus, and multi-writer multi-reader atomic registers. Solutions to these problems all use an "unbounded number" based concurrent time-stamp system (uctss), a construction which is as simple to use as it is to understand. A bounded "black-box" replacement of uctss would imply equally simple bounded solutions to most of these extensively researched problems. Unfortunately, while all know applications use uctss, all existing solution algorithms are only proven to implement the Dolev-Shavit ctss axioms, which have been widely criticized as "hard-to-use." While it is easy to show that a uctss implements the ctss axioms, there is no proof that a system meeting the ctss axioms implements uctss. Thus, the pro...

