Results 1 -
4 of
4
Performance Benefits of Optimistic Programming: A Measure of HOPE
- in Proceedings of the 4th IEEE Symposium on High Performance Distributed Computing
, 1995
"... Optimism is a powerful technique for avoiding latency by increasing concurrency. By optimistically assuming the results of some computation, other computations can be executed in parallel, even when they depend on the assumed result. Optimistic techniques can be particularly beneficial to parallel a ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
(Show Context)
Optimism is a powerful technique for avoiding latency by increasing concurrency. By optimistically assuming the results of some computation, other computations can be executed in parallel, even when they depend on the assumed result. Optimistic techniques can be particularly beneficial to parallel and distributed systems because of the critical impact of inter-node communications latency. This paper describes how optimism can be used to enhance the performance of distributed programs by avoiding remote communications delay. We then present a new programming model that automates many of the difficulties of using optimistic techniques in a general programming environment, and describe a prototype implementation. Finally, we present performance measurements showing how optimism improved the performance of a test application in this environment. Keywords: optimism, concurrency, parallelism, distributed computing, rollback, implementation, performance. 1 Introduction Optimism is a powerfu...
Formal Semantics for Expressing Optimism: The Meaning of HOPE
- In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing
, 1995
"... Optimism is a powerful technique for increasing concurrency. A program can increase concurrency by making an optimistic assumption about its future state, and verifying the assumption in parallel with computations based on the optimistic assumption. The use of optimism has been restricted to special ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
(Show Context)
Optimism is a powerful technique for increasing concurrency. A program can increase concurrency by making an optimistic assumption about its future state, and verifying the assumption in parallel with computations based on the optimistic assumption. The use of optimism has been restricted to specialized systems due to the difficulty of writing and understanding optimistic programs. In this paper, we define optimism as any computation that uses rollback. We present a formal semantics for expressing optimism by defining operations for concurrent programs to specify which optimistic computations to roll back, while automating the dependency tracking. We prove that these semantics guarantee some intuitively desirable behaviors. Finally, we describe our programming language implementation based on the semantics. Keywords: optimism, semantics of optimism, concurrency, parallelism, distributed computing, rollback. 1 INTRODUCTION Distributed systems can improve program response time by prov...
Optimistic Network Computing and its Performance Control
"... enable an application to make more efficient use of resources that are distributed across a computer network. Such a mechanism may be used to provide automatic parallelization of a sequential object-oriented program, allowing it to be executed concurrently on a network of processors. Optimistic exec ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
(Show Context)
enable an application to make more efficient use of resources that are distributed across a computer network. Such a mechanism may be used to provide automatic parallelization of a sequential object-oriented program, allowing it to be executed concurrently on a network of processors. Optimistic execution can be of particular benefit to distributed applications, because the increase in concurrency can be used to hide the latency of inter-node communication.
A (Condensed) Parametric Study of Optimistic Computation in Wide-Area, Distributed Environments
"... This paper explores the use of optimistic computation to improve application performance in wide-area distributed environments. We do so by defining a parametric model of optimistic computation and then running sets of parameterized experiments to show where, and to what degree, optimistic computati ..."
Abstract
- Add to MetaCart
(Show Context)
This paper explores the use of optimistic computation to improve application performance in wide-area distributed environments. We do so by defining a parametric model of optimistic computation and then running sets of parameterized experiments to show where, and to what degree, optimistic computation can produce speed-ups. The model is instantiated as an optimistic workload generator implemented as a parallel MPI code. Sets of experiments are then run using this code on an EmuLab system where the network topology, bandwidth and latency can be experimentally controlled. Hence, the results we obtain are from a real parallel code running over a real network protocol through emulated network conditions. We show that under favorable conditions, many fold speed-ups are possible, and even under moderate conditions, speed-ups can still be realized. While generally optimism provides the best speed-ups when network latency dominates the processing cycle, we have seen cases (with a 90 % probability of success) when latency is only 1/6 of the processing cycle yet produces break-even relative performance and 85 % of “local ” performance. The ultimate goal is to apply this understanding to real-world grid applications that can use optimism to tolerate higher latencies. 1