OBJECT-ORIENTED PROGRAMMING, SYSTEMS, LANGUAGES and APPLICATIONS
 
 
Program
 


Program (2mb PDF)

Explore
  Invited Speakers
  Onward!
  Panels
  Workshops
Discover
  Research Papers
  Student Research Comp.
  Posters
  Doctoral Symposium
  Educators' Symposium
  Wiki Symposium
  Dynamic Lang. Symp.
Understand
  Tutorials
  Essays
  Practitioner Reports
  Demonstrations
Create
  DesignFest
  Lightning Talks
  FlashBoF
  Instant Arts School Exp.
 
Other Events
 
Resort Map (364kb PDF)
 
Resort Map (JPG)

 

 
Basket
 

view, help

"X10: An Object-Oriented Approach to Non-Uniform Cluster Computing"

 

 
Page
 

Printer-friendly

 
 
  > Onward! > Onward! Papers

 : Tuesday

X10: An Object-Oriented Approach to Non-Uniform Cluster Computing

Town and Country Room
Tuesday, 11:15, 45 minutes

 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Philippe Charles, IBM Research
Christopher Donawa, IBM Software Group
Kemal Ebcioglu, IBM Research
Christian Grothoff, Purdue University
Allan Kielstra, IBM Software Group
Vijay Saraswat, IBM Research
Vivek Sarkar, IBM Research
Christoph von Praun, IBM Research

The next generation of high performance computers (e.g. those capable of O(1015) operations per second) will be based on scale-out techniques rather than increasing clock rates. This leads to a notion of clustered computing: a single computer may contain hundreds of thousands of tightly coupled nodes. Unlike a distributed model, failure of a single node is tantamount to failure of the entire machine. However, the cost of memory access by a hardware processor may vary as much as five orders of magnitude across the cluster; hence the notion of a single shared memory may no longer be appropriate for such machines.

We have designed a concrete modern object-oriented programming language, X10, for high performance, high productivity programming of such machines. Past work in the Java Grande Forum has exposed the need for substantial changes in modern OO languages in order to support high performance computation (e.g. support for true multi-dimensional arrays, value types, relaxed exception model, changes to the concurrency model, support for distribution etc.) X10 builds on this past work. A member of the partitioned global address space family of languages (which includes Titanium, UPC, and Co-Array Fortran), X10 is distinguished by the explicit reification of locality (places), termination detection (finish), by the use of lock-free synchronization (conditional atomic sections), and by the ability to express clustered data-structures (e.g. arrays scattered across multiple places). X10 smoothly integrates concurrent shared memory access (e.g. as expressed by OpenMP or Java threads) with message-passing (e.g. as expressed by MPI). We present the design of the core features of the language, experience with a reference implementation and present results from some initial productivity studies.

 
.