A wait-free algorithm for optimistic programming: HOPE realized

Optimism is a powerful technique for avoiding latency by increasing concurrency. Optimistically assuming the results of one computation allows other computations to execute in parallel, even when they depend on the assumed result. Optimistic techniques can particularly benefit distributed systems because of the critical impact of communications latency. This paper reviews HOPE: our model of optimistic programming, and describes how optimism can enhance distributed program performance by avoiding remote communications delay. We then present the wait-free algorithm used to implement HOPE in a distributed environment.

[1]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[2]  Mike Bauer,et al.  A programming model for optimism , 1995 .

[3]  Michael Anthony Bauer,et al.  Increasing concurrency through optimism: a reason for HOPE , 1994, CSC '94.

[4]  Peter Triantafillou,et al.  A new paradigm for high availability and efficiency in replicated distributed databases , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[5]  Hanan Lutfiyya,et al.  Language Support for the Application-Oriented Fault Tolerance Paradigm , 1995 .

[6]  David F. Bacon,et al.  Optimistic parallelization of communicating sequential processes , 1991, PPOPP '91.

[7]  Michael Anthony Bauer,et al.  Performance benefits of optimistic programming: a measure of HOPE , 1995, Proceedings of the Fourth IEEE International Symposium on High Performance Distributed Computing.

[8]  Calton Pu,et al.  Optimistic incremental specialization: streamlining a commercial operating system , 1995, SOSP.

[9]  Crispin Cowan,et al.  Optimistic Programming in PVM , 1994 .

[10]  Robert E. Strom,et al.  Optimistic recovery in distributed systems , 1985, TOCS.

[11]  David B. Johnson,et al.  Recovery in Distributed Systems Using Optimistic Message Logging and Checkpointing , 1988, J. Algorithms.

[12]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[13]  Jon Doyle,et al.  A Truth Maintenance System , 1979, Artif. Intell..

[14]  David B. Johnsonandwillyzwaenepoel Recovery in Distributed Systems Using Optimistic Message Logging and Checkpointing , 1990 .

[15]  P. Kumar Coping with conflicts in an optimistically replicated file system , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[16]  Rajive L. Bagrodia,et al.  Maisie: A Language for the Design of Efficient Discrete-Event Simulations , 1994, IEEE Trans. Software Eng..

[17]  Crispin Cowan Optimistic replication in HOPE , 1992, CASCON.

[18]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[19]  Willy Zwaenepoel,et al.  Optimistic computation , 1990 .

[20]  Hanan Lutfiyya,et al.  Formal semantics for expressing optimism: the meaning of HOPE , 1995, PODC '95.