Performance benefits of optimistic programming: a measure of HOPE
- 19 November 2002
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 197-204
- https://doi.org/10.1109/hpdc.1995.518710
Abstract
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
This publication has 14 references indexed in Scilit:
- Coping with conflicts in an optimistically replicated file systemPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Replication in Ficus distributed file systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Maisie: a language for the design of efficient discrete-event simulationsIEEE Transactions on Software Engineering, 1994
- Increasing concurrency through optimismPublished by Association for Computing Machinery (ACM) ,1994
- Optimistic parallelization of communicating sequential processesPublished by Association for Computing Machinery (ACM) ,1991
- Recovery in distributed systems using optimistic message logging and checkpointingJournal of Algorithms, 1990
- Linda in contextCommunications of the ACM, 1989
- Virtual timeACM Transactions on Programming Languages and Systems, 1985
- On optimistic methods for concurrency controlACM Transactions on Database Systems, 1981
- A truth maintenance systemArtificial Intelligence, 1979