Software Simplifies the Sharing of Numerical Models
NASA Technology
Scientists at NASA not only focus on advancing space exploration; they study what is happening in the Earth’s atmosphere as well. The Global Climate Modeling program at Goddard Space Flight Center’s Institute for Space Studies, for instance, is tasked primarily with developing paired atmosphere-ocean models that simulate Earth’s climate system when influenced by a variety of variables, including greenhouse gases, aerosols, and solar effects. Given how critical this work is, NASA frequently shares its models and simulations with graduate students and other researchers outside the Agency. But the traditional way that this has been done—by sending the code to the recipient to deploy on his or her own computer—is fraught with potential problems.
The two main issues, configuration and reproducibility, both stem from the fact that computers perform differently. First of all, configuring complex modeling software correctly is challenging, even for experts, especially on platforms different than those on which the code has been built and tested. New users of such models must often resort to asking model developers for help, which is inefficient for everyone involved. Second, differences between computing platforms can cause outcome discrepancies and prevent numerical simulations from being accurately reproduced. In a simulation-driven field like climatology, reproducibility of results is critical for scientific integrity.
“Climate models are plagued by discrepancies like these because they’re so delicate,” says NASA Program Manager Michael Seablom. “Any little numerical discrepancy will grow and grow as the forecast model runs. So it is important to have the same computing environment wherever possible.”
And that’s what the Space Agency was looking for: a technology that made possible the seamless sharing and reproducibility of models and simulations by running them as web-accessible services.
Technology Transfer
Answering that call was Reston, Virginia-based Parabon Computation Inc. Founded in 1999, the company is known for its Frontier Compute Platform, a distributed software environment that allows customers to access high-performance computing (HPC) as a service. HPC calculations can be utilized for many types of applications, such as models and simulations, data mining, financial forecasting, and code decryption. Many fields of science utilize HPC capacity, including bioinformatics, nanotechnology, robotics, genome sequence processing, and climatology.
The Frontier Compute Platform is essentially a cloud computing system, specialized for HPC-scale processing, that aggregates the processing capacity of both dedicated and idle computers within a network to run complex calculations. “What Frontier is doing, basically, is allowing any computer within a company or organization to work on pieces of HPC problems when they’re not otherwise being used,” says Parabon Computation’s founder and CEO Steve Armentrout.
Through SBIR funding from Goddard in 2009, Parabon utilized its expertise with cloud-based technologies to implement a software infrastructure that would meet NASA’s needs: the ability to run algorithms, such as the Agency’s climate models, through a “software as a service” environment provided over the Internet. In other words, NASA researchers, and those they share their work with, can access NASA’s computing power using any standard web browser.
“Now students can simply go to a web page to set up and run these models, carry out experiments, and edit portions of the code,” NASA’s Seablom says. “This new approach really makes things easier for everyone.” And seeing that it could apply its new software tools to more than just climate simulations, Parabon commercialized the result of its NASA work as the Frontier Collaborative Online Development Environment (Frontier CODE).
Benefits
As with any service provided over the Internet, the primary advantage of web access for end users is that it keeps them from having to acquire and install the entire software package and run it on his or her machine. In place of these individual installations, a central server—whose hardware can execute all the idiosyncrasies inherent in that particular set of code—is responsible for carrying out all of the processing, ensuring that the simulations are more reliable and less error prone.
The result is an application that runs smoothly and makes life easier both for model developers and those who use their code. “The modelers don’t have to spend an inordinate amount of time troubleshooting end users’ problems,” Armentrout says. “An application can stand on its own, and people can access it as they need to.”
Adding to the simplicity provided by Frontier CODE is the ease with which users can interact and collaborate. Using Frontier’s collaboration environment, scientists can adapt models, share code repositories and wikis, and initiate trouble ticketing systems, which are all requirements of what Armentrout calls “a code-centric community.”
Further enabling that community is Frontier CODE’s ability to accommodate different operating systems by providing the option to use so-called “virtual machines” to perform scientific calculations. For example, if someone uses a Windows operating system, but a certain model they’re working with only runs on Linux, Frontier can invoke a software version of a Linux computer within Windows to run the model. This means that all types of computers, from laptops to Linux clusters, can lend their processing power for any computation.
As the company’s NASA-funded product continues to roll out into the market, Armentrout says those same industries that have used the Frontier Compute Platform—financial sectors, oil and gas companies, and biotechnology and nanotechnology firms—will be interested in using the software-as-a-service capabilities as well, because of how much easier it is for scientists to collaborate with each other and form code-centric communities. “Frontier has a unique set of features in an easy-to-use, tightly integrated package,” Armentrout says, “and it’s ideal for any group that’s tackling big science problems.”
As for his company’s collaboration with NASA, he couldn’t be any more pleased. “NASA had a need for this technology and our software development team delivered,” he says. “The result is a great commercial product that’s going to make a positive impact for us and our customers. It’s a win-win situation.”
Frontier® is a registered trademark and Frontier CODE™ is a trademark of Parabon Computation Inc.