  The availability of Infrastructure-as-a-Service (IaaS) computing clouds gives
researchers access to a large set of new resources for running complex
scientific applications. However, exploiting cloud resources for large numbers
of jobs requires significant effort and expertise. In order to make it simple
and transparent for researchers to deploy their applications, we have developed
a virtual machine resource manager (Cloud Scheduler) for distributed compute
clouds. Cloud Scheduler boots and manages the user-customized virtual machines
in response to a user's job submission. We describe the motivation and design
of the Cloud Scheduler and present results on its use on both science and
commercial clouds.
