Parallel Programming Should Be -- And Can Be -- Deterministic-by-default

Event details
Date | 06.06.2012 |
Hour | 15:30 › 16:30 |
Speaker | Prof. Vikram S. Adve, University of Illinois at Urbana-Champaign, USA |
Location | |
Category | Conferences - Seminars |
Abstract:
How can we make parallel programming accessible to average developers in the vast commodity applications arena? I will argue that "deterministic-by-default" parallel programming models are part of the answer. With such a model, the programmer is freed from the burden of reasoning about thread interleavings, data races, deadlock, or the intricacies of memory models. Unfortunately, this goal is challenging to achieve for modern imperative, object-oriented languages. I will describe Deterministic Parallel Java, a deterministic-by-default parallel programming language that guarantees sequential semantics (except where requested otherwise) for explicitly parallel programs. The deterministic guarantees are achieved using a region-based type and effect system that is a simple extension to base Java. Programmers can combine nondeterministic algorithms with deterministic ones in a data race-free, isolated, manner, with the strongest safety guarantees of any parallel language or system. DPJ also supports the safe use of expressive parallel frameworks. An interactive tool called DPJizer, under development, enables programmers to port existing Java code to DPJ semi-automatically. We are now exploring how these techniques can be extended to C++, combined with existing parallel languages such as Cilk++ or OpenMP, and applied to large, industrial code bases.
Bio:
Vikram Adve is a Professor of Computer Science at the University of Illinois at Urbana-Champaign. His research interests include compilers and programmming languages, and their use for improving software productivity, security and reliability. His research group developed the LLVM Compiler Infrastructure, a widely distributed and novel compiler framework for 'lifelong' optimization of programs. LLVM is in production use by several companies including Apple, Adobe, Cray, and others, and has replaced GCC as the primary compiler on both iOS 5 and MacOS X. LLVM is also used by a large number of open source projects and research groups. Adve has been Associate Editor of ACM TOPLAS and Program Chair or Co-chair for ASPLOS, VEE, and LCPC. Adve has also received the NSF CAREER award, the UIUC Computer Science Department's Outstanding Junior Faculty Award, and paper awards at several conferences including PLDI, SOSP and ICSE, among others.
How can we make parallel programming accessible to average developers in the vast commodity applications arena? I will argue that "deterministic-by-default" parallel programming models are part of the answer. With such a model, the programmer is freed from the burden of reasoning about thread interleavings, data races, deadlock, or the intricacies of memory models. Unfortunately, this goal is challenging to achieve for modern imperative, object-oriented languages. I will describe Deterministic Parallel Java, a deterministic-by-default parallel programming language that guarantees sequential semantics (except where requested otherwise) for explicitly parallel programs. The deterministic guarantees are achieved using a region-based type and effect system that is a simple extension to base Java. Programmers can combine nondeterministic algorithms with deterministic ones in a data race-free, isolated, manner, with the strongest safety guarantees of any parallel language or system. DPJ also supports the safe use of expressive parallel frameworks. An interactive tool called DPJizer, under development, enables programmers to port existing Java code to DPJ semi-automatically. We are now exploring how these techniques can be extended to C++, combined with existing parallel languages such as Cilk++ or OpenMP, and applied to large, industrial code bases.
Bio:
Vikram Adve is a Professor of Computer Science at the University of Illinois at Urbana-Champaign. His research interests include compilers and programmming languages, and their use for improving software productivity, security and reliability. His research group developed the LLVM Compiler Infrastructure, a widely distributed and novel compiler framework for 'lifelong' optimization of programs. LLVM is in production use by several companies including Apple, Adobe, Cray, and others, and has replaced GCC as the primary compiler on both iOS 5 and MacOS X. LLVM is also used by a large number of open source projects and research groups. Adve has been Associate Editor of ACM TOPLAS and Program Chair or Co-chair for ASPLOS, VEE, and LCPC. Adve has also received the NSF CAREER award, the UIUC Computer Science Department's Outstanding Junior Faculty Award, and paper awards at several conferences including PLDI, SOSP and ICSE, among others.
Links
Practical information
- General public
- Free
Organizer
- SuRI 2012
Contact
- Simone Muller