One of the important concepts behind the adoption of cloud computing is the Pay-As-You-Go model. In this model, which is currently in use by major cloud providers such as Amazon EC2 and Microsoft Azure, service providers pay only for allocated resources, and the amount of these resources can be dynamically modified. For example, paying per VM (Virtual Machine) is done only for the duration of the VM’s lifetime. For large services, centralized management is impractical and distributed methods should be employed. In such settings, no single component has full information on demand and service quality, thus elasticity becomes a real challenge. We address this challenge by proposing a novel elasticity scheme that enables fully distributed management of large cloud services. A method comprising, in a cloud computing system: receiving a new job at the cloud computing system; sampling VMs (Virtual Machines) of the cloud computing system for the load currently handled by each of the VMs; if the load currently handled by the VMs is within operational bounds, sending the new job to one of the VMs which currently handles the highest load compared to other ones of the VMs; and if the load currently handled by the VMs is beyond operational bounds, sending the new job to one of the VMs which currently handles the lowest load compared to other ones of the VMs. This is a novel technique that allows us to “pack” many VMs on the same physical machine, or many tasks on the same VM (depending on the application as described in the previous section) as long as the needed performance are meat. And the key point is that this can be done without any centralized component.
- Easy adjustment mechanism that allow easy adoptions to variable load
- No centralized component needed
Applications and Opportunities
- easily adapt to varying load, effectively minimizing the number of VMs leased from the cloud, and, consequently, the operation cost, while meeting SLA requirements. Thus it can used by Cloud user to reduce their cost
- Reduce the amount of powered servers in a data center while providing the same functionality. This can significantly reduce the power consumption of data centers and thus can be used both by Cloud operator and large cooperation running internal Clouds to reduce electricity cost