Bridging the Gap between Desktop and the Cloud for eScience Applications

  • Yogesh Simmhan ,
  • Catharine van Ingen ,
  • Girish Subramanian ,
  • Jie Li

IEEE Cloud |

Published by IEEE

The Generic Worker tool can be downloaded from: http://research.microsoft.com/en-us/downloads/76537edf-9b77-4664-b76b-cf51be506a0d/

Publication

The widely discussed scientific data deluge creates a need to computationally scale out eScience applications beyond the local desktop and cope with variable loads over time. Cloud computing offers a scalable, economic, on-demand model well matched to these needs. Yet cloud computing creates gaps that must be crossed to move existing science applications to the cloud. In this article, we propose a Generic Worker framework to deploy and invoke science applications in the cloud with minimal user effort and predictable cost-effective performance. Our framework addresses three distinct challenges posed by the cloud: the complexity of application deployment, invocation of cloud applications from desktop clients, and efficient transparent data transfers across desktop and the cloud. We present an implementation of the Generic Worker for the Microsoft Azure Cloud and evaluate its use for a genomics application. Our evaluation shows that the user complexity to port and scale the application is substantially reduced while introducing a negligible performance overhead of < 5% for the genomics application when scaling to 20 VM instances.

Publication Downloads

Generic Worker

August 4, 2010

The Generic Worker is a worker-role implementation for Windows Azure that eases deployment, instantiation, and remote invocation of existing .NET applications within Azure without changing their source code. The Generic Worker framework enables multiple .NET methods and dependency libraries to be registered as applications and dynamically downloaded into a virtual machine on demand when a request to run an application is received. The Generic Worker framework provides a command-line client, .NET APIs, and a Trident workflow activity to invoke any registered application, with support for automatic transfer of simple parameters and files between desktop and the virtual machine.