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

Thumbnail

Event details

Date 06.06.2012
Hour 15:3016: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.

Links

Practical information

  • General public
  • Free

Organizer

  • SuRI 2012

Contact

  • Simone Muller

Tags

suri2012

Event broadcasted in

Share