Wednesday, September 10th, 2008
Siebel Center, Room 4403 (Subject to Change)
Speaker: Robert Bocchino
Our research group is developing Deterministic Parallel Java (DPJ). DPJ is an extension of the Java programming language that uses a novel static type system together with runtime checks to ensure that parallel programs execute deterministically -- i.e., they produce the same output on any given input, regardless of the parallel schedule chosen. While not all parallel algorithms are deterministic, many are. Further, a language that guarantees determinism simplifies many aspects of parallel programming, including reasoning about correctness, testing, and debugging.
In this talk, I will give an overview of the DPJ type system and language features we have developed to date. I will show how to use DPJ to express several algorithms for scientific computation. Finally, I will briefly state the future research directions for the project.
This is joint work with Vikram Adve and others. It is funded by UPCRC
and NSF.