I. Introduction
The virtualization of resources in the cloud provides scalability and flexibility. The scalability comes from the uniformity in the cloud infrastructure where servers can be easily added to the cloud cluster to increase the available computing power. Flexibility is achieved from the virtualized environment where jobs are scattered all over the clouds and the tasks can be moved as needed even during the execution.