skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · 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.

Vijay Saraswat photo

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 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.

The Department holds colloquia throughout the Fall and Spring semesters. These colloquia, open to the public, are typically held on Thursday afternoons, but sometimes occur at other times as well. If you would like to receive email notification of upcoming colloquia, subscribe to our Colloquia Mailing List. If you would like to schedule a colloquium, see Colloquium Scheduling.

Sign language interpreters are available upon request. Please contact Stephanie Morris at least five days prior to the colloquium.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:29)