Abstract
Cloud computing offers a pool of virtual resources to users on demand. Among the main challenge facing cloud computing is job scheduling which is an NP-hard problem. Usually, scheduling should consider job priority, where high-priority jobs should be immediately allocated required resources, whereas low-priority jobs can wait. In this paper, we propose a scheduling algorithm that imitates the parasitic behaviour of the cuckoo bird. Cuckoos reproduce by exploiting the nests of other birds with eggs similar to their own. We have evaluated the proposed cuckoo scheduling algorithm under varying number of nodes and percentage of high priority jobs. The experimental results demonstrate the superiority of our proposed algorithm over the benchmarks in terms of average CPU utilization and average turnaround time for each type of job.
1. Introduction
Cloud Computing is emerging as an infrastructure that decreases the need for physical hardware. It offers advantages over traditional Information Technology (IT) infrastructure in scalability, elasticity, and utilization. Data centres enable cloud consumers to access distributed resources, through virtualization, as much as they want and wherever they need them [1]. One cloud computing deployment model that is recognizable to consumers is the public cloud. Its services are provided in a virtualized environment using shared infrastructure for open use by the public over the internet, such as Amazon Elastic Compute Cloud (EC2) and Windows Azure [6][7].