Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!hubcap!boulder!boulder!adamb From: boulder!boulder!adamb@ncar.UCAR.EDU (Adam 'Velvis' Beguelin) Newsgroups: comp.parallel Subject: Determinacy Issues in Parallel Programs Keywords: determinacy parallel programming Message-ID: <6243@hubcap.clemson.edu> Date: 11 Aug 89 13:10:00 GMT Sender: fpst@hubcap.clemson.edu Lines: 35 Approved: parallel@hubcap.clemson.edu I would like to discuss the value of determinacy in parallel programming. If you knew a parallel program was determinate or nondeterminate before you ran it, then it would make writing and debugging the program easier. If the program was determinate you would know that errors produced by the program were not an artifacts of race conditions in your program. If you knew that the program may be nondeterminate, you could look to those portions of the program which may cause nondeterminacy to see if these sections of the code contribute to the incorrectness of the computation. If you expected the program to be determinate and were told that it was nondeterminate, this would also be useful information. Does anyone have any comments on the above argument? Also related to determinacy, some languages (i.e. functional languages) enforce determinacy, while most parallel languages do not. Enforcing determinacy restricts the number of computations one may easily express. A client server model is naturally nondeterministic, for instance. Does the average Joe parallel programmer need the ability of writing nondeterministic programs? Would he be better off with a language that encouraged or enforced determinacy, even though the set of computations expressible in such a language may be smaller? Finally, does anyone have references to papers that discuss such topics? I know of a papers on the Blaze and Linda languages which touch on these issues but I'm not aware of anything that explicitly discusses the pros and cons of determinacy in parallel programming. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Adam Beguelin Computer Science Department Box 430 adamb@boulder.Colorado.Edu University of Colorado 303/492-7906 Boulder, CO 80309-430