X10 News: Productivity and Performance at Scale
Editor's Note
We live in exciting times where the growth in parallel computing, more ubiquitously deployed low-cost sensors, and advances in fundamental science may work in concert to create a more effective and efficient world that is more productive and sustainable for people. For example, HPC may well enable more precise weather prediction, cheaper and less polluting transportation networks, and a better understanding of genetics. To make such a vision tenable, one major challenge is to increase the ability of programmers to deal with highly parallel computers. In this regard, the X10 programming language represents a significant step forward. For any new programming language to be effective requires the development of a community of language developers, tool developers, users, and educators working together and sharing their insights and experiences. As a part of the effort to develop this community for X10, we are publishing this newsletter. We welcome your feedback, suggestions, and potential contributions (jcthomas@us.ibm.com).
In this inaugural issue, we include an X10 roadmap, recent and upcoming X10 events, descriptions of X10 related projects across the globe, and an interview with one of our team members about the development toolkit.
New Version of X10 available
We're happy to announce that X10 and X10DT version 2.2.1 are now available for download at our website http://x10-lang.org/. This release contains a number of bug fixes and improvements to the code base. For more details, please see the X10 2.2.1 release page on our website.
X10 Project Roadmap
David Grove
This section summarizes the development plans and release schedules for the X10 project.
The most detailed and up-to-date information can be found in JIRA via inspecting the Roadmap views and the fix-for targets of various issues.
The overall tempo of the project is to plan for a major release every 9 to 12 months with minor releases every 2 to 3 months in between. We maintain a single stream of development, so features that are formally targeted at a particular major release may actually appear (or partially appear) in one or more minor releases before the major release.
X10 2.2
· 2.2.0 May 2011 First "forwards compatible" release. The X10 language specification is now considered to be fairly stable, and we intend to make any future language changes in a manner such that all valid X10 2.2 programs will still be valid in future releases.
· 2.2.1 September 2011 Bug fixes and performance improvements.
· 2.2.2 December 2011 Bug fixes and performance improvements.
X10 2.3
· 2.3.0 First half of 2012 Will be backwards compatible with X10 2.2.x.
In addition to bug fixes and performance improvements, we are working on two major new features for the 2.3 release.
· Mixed-mode execution. It will be possible to run a single X10 program such that some Places will be Native places and some places will be Managed Places.
· Improved Java interoperability. We are making extensions to the X10 type system and compiler to make it much simpler to write programs that freely mix X10 and Java classes.
Recent and Upcoming X10 Events
September 8, 2011 - Fort Collins, Colorado, LCPC workshop, Keynote
Keynote Title: Constrained types: What are they and what can they do for you
Speaker: Vijay Saraswat
September 12, 2011 - Perugia, Italy, PMCS workshop, co-located with CP2011
Talk Title: Writing parallel constraint solvers, simply
Speaker: Vijay Saraswat
October 22-27, 2011 - Portland, Oregon, SPLASH'11
Demo Title: Distributed Ray Tracing in X10
Speaker: David Cunningham
· Tues., Oct. 25,4:30 to 5:15 pm
· Wed., Oct.26, 11:05 to 11:50 am
· Thurs., Oct.27,12:05 to 12:50 pm
October 22-27, 2011 - Portland, Oregon, SPLASH'11
X10 Birds-of-a-Feather Session
Speakers: David Grove, Vijay Saraswat, David Cunningham
Time: Tuesday, October 25, 7:30 to 8:30 pm
November 14-17, 2011 - Seattle, Washington, Supercomputing'11, Full Day Tutorial
Tutorial Title: Developing Scalable Parallel Applications in X10
Speakers: David Cunningham, David Grove, Vijay Saraswat, Olivier Tardieu
Time: Sunday, Nov. 13,8:30 am to 5 pm
Teaching X10 around the world
X10 Workshop Materials Available
Professor David Hudak at the Ohio Supercomputer Center has workshop materials on X10 available on his web page at http://www.osc.edu/~dhudak
Materials for X10 programming Class
Professor Chrisoph von Praun from the Georg-Simon-Ohm University announces the availability of materials for a parallel programming class that builds on X10. The course materials are available at http://www.in.ohm-hochschule.de/professors/praun/pp/
X10 Course in China
In Beijing University of Posts and Telecommunications (BUPT), Dr. Shaohua Liu gave the course "Parallel computing and programming in X10" this semester. In this course, the students not only learned new programming skills, but also promoted their research capabilities. For example, one student published her first academic paper "Optimizing Navigation Satellite Enhancement Information Distribution Network Based on X10 and MPI" in an international journal this year. In addition, two students graduated based on their X10 course work. In particular, one group of students employed the X10 programming language in current Mobile Augmented Reality applications, and then submitted their creative project proposal to the Ministry of Education (MOE) of China, which could be funded this summer.
X10 lectures in Germany
Professor Claudia Fohry gave a course and has kindly made slides available. http://www.plm.eecs.uni-kassel.de/plm/index.php?id=825 and http://www.plm.eecs.uni-kassel.de/plm/index.php?id=835
X10 Related Tools and Infrastructure
X10 for ISP Privacy-preserving Traffic Analysis
Professor Shishir Nagaraja, Indraprastha Institute of Information Technology, Delhi is buidling a privacy-preserving traffic analysis infrastructure for ISPs that leverages the X10 infrastructure. In collaboration with fellow researchers at the University of Illinois at Urbana-Champaign, he recently published a paper on this at the Privacy Enhancing Technologies Symposium http://petsymposium.org/2011
High Performance Digital Media Network
Professor Admela Jukan has integrated some of the preliminary concepts developed from an X10 Innovation Award in a recently published paper about High Performance Digital Media Network (HPDMnet).
Neptune Language Supports X10
Professor Chandra Krintz of UC Santa Barbara provides information on the neptune language web site including recent paper. http://www.neptune-lang.org/ which automates cloud configuration/deployment of HPC/HTC applications, including those written in X10. The paper received the Best Paper award at ScienceCloud 2011. The announcement is on the Neptune website.
2012 Marks Centenary Anniversary of Alan Turing
2012 marks the Centenary Anniversary of Alan Turing. Watch this space for more information later about ACM sponsored celebration in California and associated educational materials.
An interview with one of the X10 Team Members.
Mandana Vaziri, September, 2011.
We thought it would be of interest for our readers to hear from someone working on the X10 Developer's Tools. The potential productivity gains from a language that are actually experienced often depend, not just on the language itself, but also on the associated Development Tools.
Q: How long have you been working on the X10 project?
A: Since February 2010.
Q: What attracted you to the X10 project?
A: The opportunity to contribute to a real programming language and develop a complex software system with a great group of people.
Q: What part of the system are you working on?
A: I work on X10DT, the Eclipse-based Integrated Development Environment (IDE) for X10.
Q: What are the challenges related to that particular system?
A: GUI development is challenging, and testing is difficult. There are so many ways of doing anything that it would be impossible to write down a complete test suite, due to the large number of combinations of features. So we need users to exercise all parts of the IDE and give us feedback when they find bugs.
Q: What can we expect to see in the future in the IDE for X10?
A: Currently we are working on further support for interoperability between X10 and Java.
Q: What did you work on before you started working on X10?
A: I did research in programming languages and analysis, and continue to work in these areas while working on X10DT.
Q: In terms of your own career, what are some of the major new things you learned as a result of working on this project?
A: I’ve learned a lot from people like Bob Fuhrer, Emmanuel Geay, and Igor Peshansky on doing software engineering on a large complex system.
X10 Around The World
If you would like to add yourself to this map, click here.