July 9, 2010

Supernova Factory Employs EC2, Puts Cloud to the Test

Nicole Hemsoth

Researchers from Berkeley Lab are looking at different options available for scientific computing users to move beyond physical infrastructure, including the possibility of deploying public clouds. A recently-published study of Amazon EC2's handling of data from the Nearby Supernova Factory sheds light on putting large-scale scientific computing into the cloud in practice and in theory.

There is something thrilling about the very term “supernova factory” in that it invokes startling mental images culled from science fiction and our own imaginations. However, the real factory in question here is at the heart of an international research collaboration, although not one in the business of mass-producing supernovas in some kind of cosmic warehouse. It is instead examining the nature of dark energy to understand a “simple” concept — the expanding universe.

The universe is growing rapidly due to what physicists have dubbed as dark energy — a finding that was made possible by comparing the relative brightness of “close” supernovae to the brightness of those much farther in the distance (which culminates in the difference of several billion years). The comparison is not possible without understanding the underlying physics that produced the supernovae that is the nearest, which is where the Nearby Supernova Factory (SNfactory) enters the picture. The project relies on a complicated “pipeline of serial processes that execute various image processing algorithms on approximately 10Tbs of data” to step closer to understanding dark energy and its role in the universe’s constant expansion.

While all of this is interesting enough on its own, the project has a particularly unique HPC and cloud slant due to the efforts of Berkeley researcher Lavanya Ramakrishnan and her team. They have been able to shed light on how a public cloud like EC2 can (and cannot) be used for some scientific computing applications by bringing SNfactory’s pipeline to the cloud. During a recent chat with Ramakrishnan, it became clear that while there are attractive features of clouds, there are some hurdles that relate to just the issues that most concern scientific users, including performance, reliability, as well as ease of use and configuration.

In her research that spans beyond this particular project’s scope, Lavanya Ramakrishnan focuses directly on topics related to finding ways to handle scientific workloads that are reliant on high performance and distributed systems. Accordingly, she has looked extensively at the possibilities of deploying clouds to handle scientiic workloads as well as considering grid technologies and their relevant role in the area.

The SNfactory cloud computing evaluation project in question is important as it provides not only a case study of using HPC in a public cloud, but also because of the specificity of design tests to maximize performance outside of the physical infrastructure. The paper presenting their findings, entitled “Seeking Supernovae in the Clouds: A Performance Study,” won the top honor at the First Workshop on Scientific Cloud Computing this summer. This is not a surprise as the paper provides an in-depth examination of the benefits and drawbacks of public clouds in specific context along with detailed descriptions of the various configurations that produced their conclusions.

Getting Scientific Computing Off the Ground

Until just recently, the Supernova Factory’s complex pipeline was fed into a local cluster. With the oversight and alterations on the part of Berkeley researchers to refine the environment from application-level up, the pipeline was fed into a Amazon’s EC2 after significant experimentation, all of which is discussed at length in the paper. These experimental designs were for the specific purpose of determining what options were available on a design level to suit application data placement and more generally, to provide a distinct view of the performance results in a virtualized cluster environment.

Overall, the authors concluded that “cloud computing offers many features that make it an attractive alternative. The ability to completely control the software environment in a cloud is appealing when dealing with a community-developed science pipeline with many unique library and platform requirements.” While this is a bright statement about the use of the cloud for a project like this, according to Lavanya Ramakrishnan, who spoke with HPC in the Cloud recently about the results of the Berkeley team’s work, the cloud, at least as offered by EC2 is not an out of the box solution for scientific computing users and there were a number of challenges along the way that present some meaty discussion bits for those who debate that the cloud is not ready for HPC.

Ramakrishnan is not the first scientific HPC user to comment on the complexity that is involved when first preparing to send applications into the cloud and setting up the environment. She noted that while it was difficult to determine how long it took them to get started since their purpose was to test multiple designs and models, she advised that it was not a quick or easy process. Before even getting to the point where one would be ready to make the leap, there would have to be exhaustive research about how to best tailor their environment to the specific applications.

In addition to being a complex task to undertake, once the ideal environment is created and the applications and virtual machines have been synched into what might appear to be the best configuration, there are also some troubles with the predictable enemies of HPC and cloud — performance and reliability. The authors of the study encountered a number of failures throughout their experiments with EC2 that would not have been matters of concern with the traditional environment. As Ramakrishnan stated, “A lot of these [scientific] applications have not been designed with these commodity clusters in mind so the reliability issue, which wasn’t a major problem before, is now important.”

The Big Picture for Scientific Computing in the Public Cloud

The full paper provides deep specifics for those looking to design their cloud environment for scientific computing that can be of immense value and save a great deal of time and frustration. It is critical reading for anyone looking to use the cloud for similar (although chances are, on much smaller-scale) workloads.

What is important here in the scientific computing sense bears repeating. There are many questions about the suitability of public clouds for HPC-type applications and while there are many favorable experiences that bode well for the future of this area, some of the barriers and problems need to be addressed in a major way before the clouds will be a paradigm shift for scientific computing.

Ramakrishnan, who as it was noted earlier, spends much of her research time investigating alternatives to traditional HPC, sees how cloud computing is a promising technology in theory for researchers. For instance, as she noted, in physical environments “applications suffer because the people running the machines need to upgrade their packages and software to run in these environments. Sometimes there are compatibility issues and this gets even more complicated when they have collaborations across groups because everyone needs to upgrade to a different version. Software maintenance becomes a big challenge. Cloud has therefore become attractive to a lot of scientific computing users, including the Supernova Factory — cloud lets them maintain this entire stack they need and this alone is very attractive.”

Based on her experiences using a number of different configurations and models for cloud in scientific computing, Ramakrishnan indicated that while there is a class of scientific applications that are well-suited to the cloud, there are indeed many challenges. Furthermore, the important point is that researchers understand that this solution, even if the applications fit well with clouds, cannot be undertaken lightly. A great deal of preparation is required, especially if one is operating on the large scale, before making the leap into the cloud.

Scientific computing and cloud computing are not at odds; they live on the same planet but there is a vast ocean that separates the two at this point — at least if we are talking about public clouds. Performance and reliability — two keys to successfully running applications on bare metal systems — are in question in the public cloud and until ideal configurations can be presented across a wide range of application types more research like that being performed by Ramakrishnan and her colleagues is critical.

Many of the points that Ramakrishnan made about the suitability of the public cloud at large for this kind of workload correspond with what Kathy Yelick discussed in an overview of current progress at the Magellan Testbed, another research endeavor out of Berkeley. The consensus is that there is promise — but only for certain types of applications — at least until more development on the application and cloud levels takes place.

Still, Amazon insists with great ferocity that the future of scientific computing lies in their cloud offering, and this is echoed by Microsoft and others with Azure and EC2-like services. Until the scientific computing community fully experiments with the public cloud to determine how best to configure the enviornment for their applications, we will probably hear a great deal more conflicting information about the suitability of the public clouds for large-scale scientific workloads.

Share This