After putting myself at the mercy of an extensive background check, I spent a week recently at Oak Ridge National Laboratory in Tennessee for a workshop centred around the Eclipse Parallel Tools Project and its usage for development of high performance, scientific applications. We had about thirty or so attendees from industry, academia, and the various U.S. national laboratories.
The workshop was largely strategic in nature (although Beth Tibbitts, Greg Watson, and Craig Rasmussen did give a packed tutorial on Eclipse, PTP, CDT, and Photran at the lab the day before the workshop). Basically we split up into groups and tried to come up with the challenges and deficiencies that we have right now with respect to Eclipse, PTP, performance analysis, debugging, and language support and services (such as the CDT).
That generated a giant list of action items, which everyone then got to vote on and hopefully sway the future development plans of all us tools developers in the room.
Greg has posted the meeting report, but in summary, two major themes won out.
1. We need remote tools.
- These developers are creating massively parallel programs on big iron. They don't have these machines sitting on their desks, they are typically in another building, or for some, in another city. They often can't run Eclipse directly on these machines due to lack of Eclipse support (and often the OS lacks any graphical UI whatsoever). Even if they can run Eclipse on it, for some the slowdowns due to all the network traffic required inhibit their productivity significantly. Generally since these huge machines are a scarce commodity their utilization rate is high and this can mean a lot of people using the machine at the same time.
- These applications are massively parallel for a reason. It's because they are doing huge simulations and/or crunching huge amounts of data. Performance is key because even in a best case scenario it often takes days to do a run. You don't want those days to turn into weeks, and so a large amount of development time goes into tweaking performance. Unfortunately, there isn't really much in the way of performance tools integrated into CDT or Photran right now. These people either need support for existing performance tools, or some new ones provided somewhere by Eclipse.org.
I also have lots of great pictures from the tour of the lab that they gave us that I'll be sharing soon. I just have to remember to upload them when I'm at home sometime.