home · mobile · calendar · colloquia · 2007-2008 · 

Colloquium - Saraswat

X10 - Concurrent Programming for Modern Architectures
IBM Thomas J. Watson Research Center

Two major trends are converging to reshape the landscape of concurrent object oriented programming languages. First, trends in modern architectures (multicore, accelerators, high performance clusters such as Blue Gene) are making concurrency and distribution inescapable for large classes of OO programmers. Second, experience with first-generation concurrent OO languages (e.g. Java threads and synchronization) have revealed several drawbacks of unstructured threads with lock-based synchronization.

X10 is a second generation OO language designed to address both programmer productivity and parallel performance for modern architectures. It extends the sequential Java programming language with a handful of constructs for concurrency and distribution: clustered address space (with global data-structures) to deal with distribution, lightweight asynchrony to deal with massive parallelism, recursive fork-join parallelism for structured concurrency, termination detection for sequencing and atomic blocks for mutual exclusion.

Additionally, it introduces a rich framework for constraint-based dependent types (and annotations) in OO languages. Specifically, the framework is useful for statically specifying the shape of various data-structures (e.g. multidimensional arrays) and the location of objects and distribution of arrays in the clustered address space.

X10 is being developed jointly as part of the DARPA-IBM high performance computing project, PERCS, under the Eclipse open-source license. A first implementation of the language is available at x10.codehaus.org. It compiles X10 source programs to Java class files and calls to a runtime. A distributed implementation suitable for clusters is currently under development.

This material is based upon work supported by the Defense Advanced Research Projects Agency under its Agreement No. HR0011-07-9-0002.

This talk is sponsored by the National Center for Atmospheric Research and will be held in the Main Seminar Room at the Mesa Lab.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)