ACM SIGPLAN Notices · 2009 · 296 citations · 41 references
ComputingComputer ScienceParallel AlgorithmsParallel ComputingProgramming LanguagesConcurrent ProgrammingParallel Programming ModelsShared-memory ParallelismType CheckingType SystemsDeterministic ConcurrencyDeterministic Parallel AlgorithmsDeterministic Parallel ProgrammingExperimental ValidationObject-oriented ArchitectureParallel Program SemanticsParallel ProgrammingShared Memory Programming
Today's shared-memory parallel programming models are complex and error-prone.While many parallel programs are intended to be deterministic, unanticipated thread interleavings can lead to subtle bugs and nondeterministic semantics. In this paper, we demonstrate that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java. We describe an object-oriented type and effect system that provides several new capabilities over previous systems for expressing deterministic parallel algorithms.We also describe a language called Deterministic Parallel Java (DPJ) that incorporates the new type system features, and we show that a core subset of DPJ is sound. We describe an experimental validation showing thatDPJ can express a wide range of realistic parallel programs; that the new type system features are useful for such programs; and that the parallel programs exhibit good performance gains (coming close to or beating equivalent, nondeterministic multithreaded programs where those are available).
41
Separation logic: a logic for shared mutable data structures
John Reynolds · 2003 · 2.2K citations
Philippe Charles, Christian Grothoff, Vijay Saraswat et al. · 2005 · 1.3K citations
Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul et al. · 1995 · 1K citations · Full text
Jaswinder Singh, Wolf-Dietrich Weber, Anoop Gupta · ACM SIGARCH Computer Architecture News · 1992 · 927 citations · Full text
STAMP: Stanford Transactional Applications for Multi-Processing
Chi Cao Minh, JaeWoong Chung, Christos Kozyrakis et al. · 2008 · 881 citations