Eclipse Project Takes on Parallel Computing
- By John K. Waters
Development tools for parallel computer systems tend to be architecture-specific, difficult to integrate and fairly basic. Parallel application developers often find themselves juggling tools to match the different machines, shifting gears from stark command-line interfaces and text editors to a range of graphical user interfaces.
Greg Watson believes there should be a better way. As a researcher in Los Alamos National Laboratory’s Advanced Computing Lab, Watson investigates (among other things) tools for parallel computing systems. “The current state of development tools for these machines is pretty primitive,” he says. “It’s really time current practice in this area caught up with best practice of the computing industry.”
Watson found the means to that end in 2004 at the first-ever EclipseCon trade show. “I was really impressed with the capabilities of the Eclipse environment, and it occurred to me that it could provide a way of integrating the disparate parallel computing tools.”
Inspiration lead to six months of perspiration, a proof of concept and finally, this week, the announcement of the Parallel Tools Platform Project, a new Eclipse Technology project aimed at creating better open-source software tools for parallel computers. Los Alamos and Watson will lead the project, collaborating with institutions and companies worldwide to develop an open-source platform that will enable their products to operate on a wide range of parallel computing platforms.
“Los Alamos knows firsthand the pain of using many parallel programming tools and trying to make them work together before we can get to the critical task of solving tough scientific and industrial problems,” Watson says. “This project can eliminate this pain point once and for all by providing a single, portable, consistent and highly integrated parallel development environment... Eclipse provides the ideal extensible platform to involve the open-source community, as well as industry, universities and other laboratories.”
Los Alamos staff and their collaborators at other institutions plan to add support for a wide range of parallel architectures, to provide an integrated parallel debugger and to develop infrastructure to assist in the integration of other parallel tools.
An additional goal of this project is to add FORTRAN language support to the Eclipse IDE. In the scientific computing community, which is where parallel computers are most commonly used, FORTRAN is still a very important language, Watson says. In fact, at Los Alamos, the majority of the code is written in FORTRAN—many millions of lines of code.
“The prospect of converting all that code to a different language is just impossible to contemplate at this point,” Watson says, “for us and many others. So we decided that we would start off the project focused on FORTRAN to address this need of the scientific parallel computing community.”
“Eclipse still gets tagged as being Java-focused,” says Mike Milinkovich, executive director of the Eclipse Foundation. “But that hasn’t been true for quite some time. We have a proposal in hand for a top-level project in device software, our C and C++ development tools continue to gain momentum and now we’re working on a FORTRAN project. Believe me, Eclipse isn’t just about Java.”
Watson says that Los Alamos staff and their collaborators are undertaking the major part of the project. He expects the first deliverables to be available at the end of September, “depending on the contributions we get from the community.”
Parallel computing is an umbrella term for several architectures, including symmetric multiprocessing (SMP), clustering and massively parallel processors (MPPs). Operated by the University of California, and tucked into the mountains of New Mexico, Los Alamos Labs utilizes parallel computing extensively to solve problems related to defense, energy, environment, infrastructure, health and national security concerns. The simulation and modeling applications run on the Los Alamos systems require enormous amounts of computing power—terabytes of data and teraflops of performance.
On a less compute-intensive level, the types of applications used by institutions like Los Alamos are finding their way into mainstream industries. For example, pharmaceutical companies use parallel computing applications to model chemical reactions. Other applications simulate real-world situations, such as traffic, the behavior of animals and the dynamics of car crashes.
John K. Waters is a freelance writer based in Silicon Valley. He can be reached
at [email protected].