Software Innovations Speed Scientific Computing
- Saturday, 01 January 2011
What causes the Sun to change? And what are the impacts on our planet and our daily lives?
These are some of the top questions that the Heliophysics Division of NASA’s Science Mission Directorate is seeking answers to through a variety of missions to study the Sun. The most recent, the Solar Dynamics Observatory (SDO), launched in 2010, beams back 150 million bits of data per second—almost 50 times more science data than any other mission in NASA history. As a result, SDO’s instruments are giving solar scientists an unprecedented look at the Sun.
On a similar mission, NASA’s Reuven Ramaty High Energy Solar Spectroscope Imager (RHESSI) launched in 2002 to gather a wealth of data to construct images of the Sun. To create meaningful visualizations out of the vast data, much of it has been deciphered using a computer programming language called Interactive Data Language (IDL). In addition to studying the Sun, there is widespread use of IDL throughout NASA to process data, analyze images, perform computations, and make simulation models.
As NASA missions continue to produce an increased amount of data, and as computational procedures become increasingly complex, NASA requires ever greater computing power.
To help reduce the time needed to analyze data from missions like those studying the Sun, Goddard Space Flight Center awarded a Small Business Innovation Research (SBIR) contract in 2004 to Tech-X Corporation of Boulder, Colorado.
Through Phase I and II SBIRs, Tech-X demonstrated software capable of running IDL applications on linked computers, or cluster systems. The computers worked together to form a single system, without requiring significant modification to the original program.
By enabling IDL to work on clusters, Tech-X created a technology that increased performance in a familiar programming environment for NASA scientists, while reducing the time needed to analyze large amounts of data. Today, this software is available in Tech-X’s commercial product called FastDL.
After the demonstration of FastDL for NASA, something unexpected happened. “Toward the end of the Phase II SBIR, we started to redirect the proposal to investigate the usability of graphics processing units to help scientists accelerate their data analysis tasks,” explains Peter Messmer, vice president of the space applications group at Tech-X. “That was the beginning of the GPULib product that we are now offering at Tech-X.”
At the time, graphics processing units (GPUs) were mainly used for 3D gaming graphics, but the technology was becoming more commonly used to accelerate scientific computing. Messmer says Tech-X wanted to use one piece of hardware—a GPU—rather than several pieces, to make the computations faster.
Today, Tech-X attributes the initial development of GPULib, which makes available a library of mathematical functions to facilitate the use of GPUs for scientific computing, to its work with NASA. “There are very innovative people on the Agency side who see the potential of technologies and, in collaboration with small businesses, can make leading-edge technologies happen,” says Messmer.
By 2008, NASA scientists were using Tech-X’s parallel computing tools to process large quantities of visual data from the RHESSI mission 10–40 times faster than they could previously. In applying FastDL to NASA’s Solar and Heliospheric Observatory, Tech-X processed data more than seven times faster on a cluster of 12 processors.