Deterministic parallelism has become an increasingly attractive concept: a deterministic parallel program may be easier to construct, debug, understand, and maintain. However, there exist many different definitions of "determinism" for parallel programming. Many existing definitions have not yet been fully formalized, and the relationships among these definitions are still unclear. We argue that formalism is needed, and that history-based semantics-as used, for example, to define the Java and C++ memory models-provides a useful lens through which to view the notion of determinism. As a first step, we suggest several history-based definitions of determinism. We discuss some of their comparative advantages, prove containment relationships among them, and identify programming idioms that ensure them. We also propose directions for future work. © 2011 Springer-Verlag.
CITATION STYLE
Lu, L., & Scott, M. L. (2011). Toward a formal semantic framework for deterministic parallel programming. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6950 LNCS, pp. 460–474). https://doi.org/10.1007/978-3-642-24100-0_43
Mendeley helps you to discover research relevant for your work.