3rd Workshop on Compiler-Driven Performance

October 06, 2004
Hilton Suites Toronto/Markham Conference Centre
Markham, ON

Associated with CASCON 2004
(http://www.cas.ibm.com/cascon)


 

X10 --- New opportunities for Compiler-Driven Performance via a new Programming Model

Kemal Ebcioglu, Vijay Saraswat, Vivek Sarkar - IBM T.J. Watson Research Center

X10 is an experimental modern object-oriented programming language currently under development at IBM. It is intended for high-performance, high-productivity programming of high-end computer systems with hierarchical heterogeneous levels of parallelism (e.g., cluster, SMP, co-processors, and SMT levels) that exhibit large nonuniformities in data-access latency and bandwidth. Compared to Java, X10 removes threads, lock-based synchronization, built-in primitive classes and arrays, and adds places (as a locus for activities operating on local data), user-definable value types, atomic sections, asynchronous activities and futures, multidimensional arrays (over regions and distributions) and clocks for repeated quiescence detection of dynamically varying, data-dependent sets of activities. X10 is a strongly typed language. The X10 type system supports generic type-abstraction (over value and reference types), is place- and clock-sensitive and guarantees the absence of deadlock (for programs without conditional atomic sections), even in the presence of multiple clocks. This talk introduces the language and outlines how the language constructs can be used to support existing and new programming paradigms for engineering/scientific applications as well as commercial server-side applications. We then contrast the opportunities for compiler optimizations in this new language, compared to message-passing languages (C/Fortran + MPI), global array languages (Co-array Fortran, Titanium, UPC, ZPL), and multithreaded languages (Java, Cilk, OpenMP). The initial implementation of X10 is currently under development. X10 is being developed in the context of the IBM PERCS (Productive Easy-to-use Reliable Computing Systems) project funded by DARPA. X10 has been designed with input from David Bacon, Bob Blainey, Perry Cheng, Julian Dolby, Guang Gao (U Delaware), Allan Kielstra, Robert O'Callahan, Filip Pizlo (Purdue), V.T.Rajan, Lawrence Rauchwerger (Texas A&M), Mandana Vaziri and Jan Vitek (Purdue).

Presentation Slides.