SGER: IMR: Development of Scientific Computing in the Cloud for Research and Education
University Of Washington, Seattle WA
Investigators
Abstract
Non-technical Abstract "Cloud Computing" is a term that has gained prominence recently to describe the use of a large body of compute resources located at many different locations. These resources are typically owned by third-party organizations and are made available to consumers in terms of the capabilities of each computer rather than the underlying hardware in use. This model proved its success almost immediately in the web services hosting domain, the principle target for most cloud service providers. Our aim here is to determine whether these same resources can be adapted for scientific purposes. Thus we propose to develop applications of cloud computing for scientific calculations and making such calculations feasible for working scientists lacking sufficient compute resources at the present. Modern scientific applications require high-performance computing facilities which are beyond the reach of many practitioners who lack both the experience and funding to complete serious scientific calculations, even though their work might be enhanced by currently feasible calculations. Technical Abstract The goal of resource virtualization is to divorce workflow from locality constraints, thereby allowing it to migrate freely amongst available physical resources. This flexibility yields tremendous scheduling advantages, as jobs can be placed and often migrated in order to make the most efficient use of available hardware. Resource virtualization is certainly nothing new. For example, Condor allows a user to access a large pool of compute resources, each one of which may be a completely unique hardware configuration. Condor's virtualization strategy is to "trick" the application into thinking that it is on the home machine. The drawback is that Condor must replace system libraries, which are architecture- and OS-specific. Hence, this strategy can be very time consuming to support. Another virtualization strategy uses ?grid computing.? Writing an application that is "grid-enabled" means writing an application with the appropriate protocols in place so that it can be moved around by the grid middleware. The disadvantage here is that most scientists do not have the background or the time to write grid-enabled programs. We argue that within administrative differences between Cloud and Grid computing can be found the potential for CC's most intriguing and useful advantages. For instance, Amazon?s EC2 ("Elastic Compute Cloud") provides not just another web services platform, but a fully virtual computer. An EC2 "compute instance" gives you a comprehensive set of virtual hardware, complete with disk space, RAM, and IP address. On this virtual platform, you then install your own operating system. The compelling aspect of this strategy is that it virtualizes exactly what needs to be and no more: the hardware. Doing so provides the utmost extreme in generality: if I can run an application on the desktop sitting in front of me then I can run it in the Amazon Cloud. The goal of this work is to test this idea and compare the performance and economy of this Amazon Cloud approach with a traditional computing cluster.
View original record on NSF Award Search →