Will cloud computing change the face of e-science?
First, a bit about cloud computing, and then some extrapolative thinking on what its impact will be on e-science.
Cloud computing is a buzz word that we are hearing more and more recently. It’s one of those terms that people latch onto because they know there is really something lurking there, but they can’t really place their finger on what it actually is. Wikipedia says cloud computing is “a style of computing in which IT-related capabilities are provided ‘as a service’, allowing users to access technology-enabled services from the Internet … without knowledge of, expertise with, or control over the technology infrastructure that supports them.” The term cloud is presumably used as a metaphor for the Internet since it is usually depicted that way on network diagrams.
While I’m not sure if that definition would jive with everyone, it’s in line with Amazon’s Elastic Compute Cloud offering (EC2). Amazon describes EC2 as “a web service that provides resizable compute capacity in the cloud.” Essentially, you can design the computational architecture that you want and Amazon will provide it to you as a service on a pay-as-you-go basis. Need 100 Linux nodes, but only for a week? No problem–you only pay for what you use, and when you are done, just terminate your nodes and forget about them. You choose the machine image that you want, the software, the memory size, and the required storage capacity. Apparently, it can be configured very quickly so you can quickly scale your computational capacity with a very small incremental cost. I admit the EC2 model is very impressive if it works as they state on the home page.
Assuming cloud computing services such as this come into the mainstream, there will be huge impacts in many domains that rely on IT infrastructure. E-science is one area that might be radically transformed.
Much of what is impeding scientific progress are the computational and technical issues involved with conducting large scale simulations. Incompatibilities among computational environments hinder the sharing of experiments and results. Repeatability, a key tenet of the scientific method, is nearly impossible with respect to e-science computations (at least repeatability by other scientists in other labs using a different computational environment). The cloud provides a needed layer of abstraction so that scientists can think about science and not about computer science. Therefore, portability is a prerequisite to repeatability in the realm of e-science.
In almost all domains of e-science, results are disseminated by scientific publications in conferences, journals, and the like. While many journals have moved to an electronic format, the underlying paradigm is still the same: results are presented in a summarized format (e.g., plots and averages), but little information is provided on how to reproduce the computations that led up to the results. And this is understandable. It might take literally months of tweaking configurations followed by months of processor time followed by months of post-processing and analysis before the results are finally in. How could you possibly provide enough information for someone else to reproduce the same experiment? And even if you could, how do you get around the fact that everyone’s computational environment is different and your code might not even run on another platform?
The cloud computing platform sees the computational environment (e.g., operating system + compiler + processor + software + …) as a first class object that can be created, registered, shared, searched, and otherwise manipulated. For example, Amazon’s EC2 service provides a registry of “Amazon Machine Images” that anyone can access and instantiate. Custom AMIs can be added to the registry. This is a paradigmatic shift because what used to be the “infrastructure” has been ripped out and parameterized. (Imagine being able to change the foundation of a building with ease). The computational environment becomes another configuration parameter to set along with your experiment’s scientific parameters. In this sense, the cloud computing platform can be viewed as the “meta-infrastructure.” Sure, it is an infrastructure at the same time, but for the first time it is an infrastructure that we can safely ignore.
The advantage to e-science? With a parameterized infrastructure afforded by the cloud platform, we are well on the road to sharing much more than just scientific results. Instead, we will share the experiments themselves–descriptions of scientific computations that anyone can execute and examine to validate results and extend them. Admittedly, we have much work to do before this vision becomes a reality. But, maturing cloud computing services like those offered by Amazon are a big first step toward a better way of doing science.
About rsdunlapivComputer science PhD student at Georgia Tech
- From Coupling Frameworks to Domain-Specific Languages May 2, 2012
- Local and Global Performance Optimization of Coupled Models January 3, 2012
- The Costs and Benefits of Modularity in Climate Models October 18, 2011