
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.
|