Performance benefits of optimistic programming: a measure of HOPE

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.

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

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

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

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

[5]  Richard M. Fujimoto,et al.  The virtual time machine , 1989, SPAA '89.

[6]  C. Carver,et al.  Optimism, coping, and health: assessment and implications of generalized outcome expectancies. , 2009, Health psychology : official journal of the Division of Health Psychology, American Psychological Association.

[7]  Philip S. Yu,et al.  Analysis of Hybrid Concurrency Control Schemes For a High Data Contention Environment , 1992, IEEE Trans. Software Eng..

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

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

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

[11]  Michael W. Bridges,et al.  Distinguishing optimism from neuroticism (and trait anxiety, self-mastery, and self-esteem): a reevaluation of the Life Orientation Test. , 1994, Journal of personality and social psychology.

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

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

[14]  Willy Zwaenepoel,et al.  Semantics of optimistic computation , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

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

[16]  Ronald J. Watro,et al.  Mathematical foundations for time warp systems , 1993, TOPL.

[17]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[18]  Amihai Motro,et al.  The Time Warp mechanism for database concurrency control , 1986, 1986 IEEE Second International Conference on Data Engineering.

[19]  T. Roberts,et al.  Gender and the influence of evaluations on self-assessments in achievement settings. , 1991, Psychological bulletin.

[20]  Maurice Herlihy,et al.  Apologizing versus asking permission: optimistic concurrency control for abstract data types , 1990, TODS.

[21]  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.

[22]  Arthur P. Goldberg Optimistic algorithms for distributed transparent process replication , 1991 .

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

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

[25]  Wayne M. Loucks,et al.  A unified modeling methodology for performance evaluation of distributed discrete event simulation mechanisms , 1988, WSC '88.

[26]  James A. Shepperd,et al.  Dispositional Optimism as a Predictor of Health Changes among Cardiac Patients , 1996 .

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

[28]  John S. Heidemann,et al.  Replication in Ficus distributed file systems , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

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

[30]  Thomas Guenter Immanual Strothotte Temporal constructs for an algorithmic language , 1985 .

[31]  John G. Cleary,et al.  A multi-lingual optimistic distributed simulator , 1990 .

[32]  J. Spence,et al.  Psychological determinants of health and performance: the tangled web of desirable and undesirable characteristics. , 1991, Journal of personality and social psychology.

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

[34]  Crispin Cowan,et al.  Optimistic Language Constructs , 1995 .