HPCwire
 The global publication of record for High Performance Computing / November 5, 2004: Vol. 13, No. 44

  |  Table of Contents  |  

Features:

DARPA'S HPCS PROGRAM TO REDEFINE PERFORMANCE MEASUREMENTS
by Tim Curns, Editor

Jeremy Kepner, the lead software architect of pMatlab and MatlabMPI, recently spoke with HPCwire regarding the DARPA High Productivity Computing Systems (HPCS) workshop that he will be leading this year at Supercomputing 2004. The workshop will take place on Monday, November 8 from 1:30-5:00pm in room 406 of the David L. Lawrence Convention Center in Pittsburgh, Pennsylvania.


HPCwire: Please describe your plans and presence for SC04?

Jeremy Kepner: The DARPA High Productivity Computing Systems (HPCS) program is focused on providing a new generation of economically viable high productivity computing systems for the national security and industrial user community in the 2010 timeframe. At this HPCS workshop (Monday, Nov 8, 1:30-5:00), I think you will see glimpses of some of the very innovative hardware designs from the three vendors (Cray, IBM and Sun), which bridge the gap between today's vector machines and the future promise of Quantum computing. Second, and equally important, I think you will see the development of novel programming environments that allow ordinary users to effectively use 10,000+ processor systems. Finally, you will see a new approach to evaluating HPC systems that takes into account more diverse factors such as programming cost; this is where the HPCS Productivity Team I lead comes in to play.

HPCwire: In addition to the HPCS Productivity Team, you have been leading an effort to bring the dominant high-level language of technical computing (MATLAB ) into the HPC world. How is this process working? How has progress been?

JK: The biggest news is that The Mathworks is now strongly engaged in this effort. They will be announcing their first offering in the distributed/parallel computing domain very shortly, which will allow users to do simple computations that don't require inter-processor communication.

HPCwire: Last we heard, MatlabMPI had become the leading parallel MATLAB solution with hundreds of users worldwide. In spite of its small size, MatlabMPI has achieved speedups as large as 300 on 304 processors. Are you still seeing this sort of adoption?

JK: The beauty of MatlabMPI is that it is written entirely in Matlab and users have been able to modify it to suit their needs. Adoption continues to be robust, and we have received a lot more questions from folks who are in the process of specifying systems with the aim of running MatlabMPI. Long term, I think that higher level parallel programming models are better suited to Matlab, specifically global .array semantics and other ideas that are being aggressively pursued by the HPCS vendors. We have implemented a simple version of global array semantics in our pMatlab library, which is widely used within Lincoln Laboratory. We hope to make this available to the open source community soon.

HPCwire: Who else is using MATLAB now?

JK: Matlab is dominant in the engineering community. In many domains it is the "lingua franca" of technical computing. The primary benefits of Matlab are that is interactive and that programs are usually 10x smaller when written in Matlab as compared to C or Fortran. This reduction in code usually translates into a large software cost savings. Currently Matlab is not widely used within the HPC community, but I think you will see this start to change at the low end. The largest HPC systems will most likely take longer.

HPCwire: What's happening at the DARPA HPCS Workshop this year? What impact will this have on SC as a whole? The HPC Community?

JK: The main focus on the workshop will be on how we evaluate productivity for the HPC community. I think you will see a lot of interesting work that goes to the heart of why parallel programming is so difficult. I do believe this work will fundamentally change how we evaluate HPC systems, from how we benchmark them (e.g. HPCchallenge) to how we program them (e.g. looking at coding effort). If we can change how we evaluate the systems this will have a large impact on the kind of systems that are built. I don't want to give everything away, so I encourage SC attendees to stop by the HPCS workshop.

HPCwire: Thanks for the teaser! So what are your ultimate, long term goals regarding this news? What kind of advances do you see in the next five years? Ten years?

JK: I think you will see very new hardware and programming environments as a direct result of the HPCS program. To the extent that my team can measure and predict the impact of these technologies, then we will have played an important role.

HPCwire: What do you see as the latest trends in supercomputing?

JK: Obviously, I am a big advocate of high level programming environments (Java, Mathematica, Python, Matlab, ...) and I think you will see these environments play a much bigger role in the parallel computing environment. On the hardware side, I am very excited by the array of technologies that are being leveraged and developed in the HPCS program.

HPCwire: Does parallel processing fit under an HPC heading, or is it more appropriate to file it under Grid computing? How would you define it?

JK: It depends on who you ask. I think Grid computing is more of an umbrella concept that is useful in talking about the management and business side. Parallel computing is one important technology in making the Grid concept a reality.

HPCwire: Thanks for the information, Jeremy. I'm sure people will be interested to see what's happening on Monday at the HPCS workshop in Pittsburgh.


Jeremy Kepner is the overall lead of the DARPA HPCS Productivity Team, the technical lead of the DUSD HPEC Software Initiative, the technical chairman of the High Performance Embedded Computing (HPEC) workshop, and the lead software architect of pMatlab and MatlabMPI.

About DARPA HPCS

The DARPA High Productivity Computing Systems (HPCS) program is focused on providing a new generation of economically viable high productivity computing systems for national security and for the industrial user community. HPCS researchers have initiated a fundamental reassessment of how we define and measure performance, programmability, portability, robustness and ultimately, productivity in the HPC domain. The value of a High Performance Computing (HPC) system to a user includes many factors, such as execution time on a particular problem, software development time, direct hardware costs and indirect administrative and maintenance costs. The HPCS program is developing systems that deliver increased value to users at a rate commensurate with the rate of improvement in the underlying technologies. This workshop will provide an opportunity for the broader HPC community to see the latest results from HPCS Vendors and the HPCS Productivity team and to provide feedback to the HPCS researchers.


Top of Page

  |  Table of Contents  |