Grids or Clouds for HPC?
Time and again, people ask questions like “Will HPC move to the cloud?” or “Now that cloud computing is accepted, are grids dead?” or even “Should I now build my grid in the cloud?” Despite all the promising developments in the grid and cloud computing space, and the avalanche of publications and talks on this subject, many people still seem to be confused and hesitant to take the next step. I think there a number of issues driving this uncertainty.
Grids didn’t keep all their promises
Grids did not evolve (as some of us originally thought) into the next fundamental IT infrastructure for everything and for everybody. Because of the diversity of computing environments we had to develop different middleware stacks (department, enterprise, global, compute, data, sensors, instruments, etc.), and had to face different usage models with different benefits. Enterprise grids were (and are) providing better resource utilization and business flexibility, while global grids are best suited for complex R&D application collaboration with resource sharing. For enterprise usage, setting up and operating grids was often complicated. For researchers this characteristic was seen to be a necessary evil. Implementing complex applications on HPC systems has never been easy. So what.
Grid: the way station to the cloud
After 40 years of dealing with HPC, grid computing was indeed the next big thing for the grand challenge, big-science researcher, while for the enterprise CIO, the grid was a way station on its way to the cloud model. For the enterprise today, clouds are providing all the missing pieces: easy to use, economies of scale, business elasticity up and down, and pay-as you go (thus getting rid of some CapEx). And in cases where security matters, there is always the private cloud. In more complex enterprise environments, with applications running under different policies, private clouds can easily connect to public clouds — and vice versa — into a hybrid cloud infrastructure, to balance security with efficiency.
Different policies, what does that mean?
No application job is alike. Jobs differ by priority, strategic importance, deadline, budget, IP and licenses. In addition, the nature of the code often necessitates a specific computer architecture, operating system, memory, and other resources. These important differentiating factors strongly influence where and when a job is running. For any new type of job, a set of specific requirements decide on the set of specific policies that have to be defined and programmed, such that any of these jobs will run just according to these policies. Ideally, this is guaranteed by a dynamic resource broker that controls submission to grid or cloud resources, be they local or global, private or public.
Grids or clouds?
One important question is still open: how do I find out, and then tell the resource broker, whether my application should run on the grid or in the cloud? The answer, among others, depends on the algorithmic structure of the compute-intensive part of the program, which might be intolerant of high latency and low bandwidth. This has been observed with benchmark results. The performance limitations are exhibited mainly by parallel applications with tightly-coupled, data-intensive inter-process communication, running on hundreds or even thousands of processors or cores.
The good news is, however, that many HPC applications do not require high bandwidth and low latency. Examples are parameter studies often seen in science and engineering, with one and the same application executed for many parameters, resulting in many independent jobs, such as analyzing the data from a particle physics collider, identifying the solution parameter in optimization, ensemble runs to quantify climate model uncertainties, identifying potential drug targets via screening a database of ligand structures, studying economic model sensitivity to parameters, and analyzing different materials and their resistance in crash tests, to name just a few.
A Grid in the cloud
One great example of a project that has built a grid in the cloud is Gaia, a European Space Agency funded mission which aims to monitor one billion stars. Amazon Machine Images (AMIs) were configured for the Oracle database grid and processing software (AGIS). The result is an Oracle grid running inside the Amazon Elastic Compute Cloud (EC2). To process five years of data for 2 million stars, 24 iterations of 100 minutes each translates into 40 hours of 20 EC2 CPU instances. Benefits include reduced costs (50 percent compared to the in-house solution) and massive scalability on demand without having to invest in new
infrastructure or train new personnel. And only a single line of source code was changed in order to get it to run in the cloud.
HPC needs grids and clouds
According to the DEISA Extreme Computing Initiative (DECI), there are still plenty of grand challenge science and engineering applications that can only run effectively on the largest and most expensive supercomputers. In DEISA, a European HPC grid, also called the HPC Ecosystem, is made up of 11-teraflops nodes.
Today, nobody would build an HPC cloud for these particular applications. It simply wouldn’t be a profitable business, the “market” (i.e., the HPC users) is far too small and thus lacks economy of scale. In some specific science application scenarios, with complex workflows of different tasks (nodes), a hybrid infrastructure might make sense: cloud capacity resources and HPC capability nodes, providing the best of both worlds.
About the Author
Wolfgang Gentzsch is Dissemination Advisor for the DEISA Distributed European Initiative for Supercomputing Applications. He is an adjunct professor of computer science at Duke University in Durham, and a visiting scientist at RENCI Renaissance Computing Institute at UNC Chapel Hill, both in North Carolina. From 2005 to 2007, he was the Chairman of the German D-Grid Initiative. Recently, he was Vice Chair of the e-Infrastructure Reflection Group e-IRG; Area Director of Major Grid Projects of the OGF Open Grid Forum Steering Group; and he is a member of the US President’s Council of Advisors for Science and Technology (PCAST-NIT).