|
X10 is an experimental new language currently under development at IBM in collaboration with academic partners. The X10 effort is part of the IBM PERCS project (Productive Easy-to-use Reliable Computer Systems) in the DARPA program on High Productivity Computer Systems. The PERCS project is focused on a hardware-software co-design methodology to integrate advances in chip technology, architecture, operating systems, compilers, programming language and programming tools to deliver new adaptable, scalable systems that will provide an order-of-magnitude improvement in development productivity for parallel applications by 2010.
X10 aims to contribute to this productivity improvement by developing a new programming model, combined with a new set of tools integrated into Eclipse and new implementation techniques for delivering optimized scalable parallelism in a managed runtime environment. X10 is a type-safe, modern, parallel, distributed object-oriented language intended to be very easily accessible to Java(TM) programmers. It is targeted to future low-end and high-end systems with nodes that are built out of multi-core SMP chips with non-uniform memory hierarchies, and interconnected in scalable cluster configurations. A member of the Partitioned Global Address Space (PGAS) family of languages, X10 highlights the explicit reification of locality in the form of places; lightweight activities embodied in async, future, foreach, and ateach constructs; constructs for termination detection (finish) and phased computation (clocks); the use of lock-free synchronization (atomic blocks); and the manipulation of global arrays and data structures.
Work on X10 began in February 2004 using the PERCS Programming Model as a starting point, and the core design was stabilized in a few months. To date, we have designed the basic programming model, defined version 0.41 of the language, formalized its semantics, built a parallel, single-VM reference implementation, and developed several benchmarks and applications. We are at an early stage in the life-cycle of the language. We expect further development of the language to be informed by ongoing work on several cutting-edge applications, tools for the X10 programmer, and an efficient compiler and multi-VM runtime system. Your feedback is most welcome --- we are especially interested in suggestions for improvement.
The 0.41 draft version of the Language Report is now available for review. Please send us your feedback and help make the language better!
Core team members Raj Barik, Philippe Charles, Christopher Donawa, Kemal Ebcioglu, Christian Grothoff, Allan Kielstra, Igor Peshansky, Christoph von Praun, Vijay Saraswat, Vivek Sarkar
The X10 project has also benefited from contributions and suggestions from many people including George Almasi, David Bacon, Bob Blainey, Calin Cascaval, Perry Cheng, Julian Dolby, Mootaz Elnozahy, Robert Fuhrer, Guang Gao, David Grove, Radha Jagadeesan, Maged Michael, Robert O'Callahan, Filip Pizlo, V.T. Rajan, Armando Solar-Lezama, Frank Tip, Mandana Vaziri, Jan Vitek.
Last updated 17 Mar 2006
|
|
Watson Research Center

|