Article Preview
TopIntroduction
Cloud computing is a parallel and distributed computing model for provisioning various computing resources that can be offered with the least management effort and service provider interaction. It works on the pay-per-use model (Mathew et al., 2014). The cloud system has the capability to positively participate in the IT industry since it can handle both software and IT hardware as a service (Armbrust et al., 2010). These services are categorized into three models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) (Weiss., 2007). IaaS provides access to the physical resources of data centres, which are the main suppliers of the computing power. These resources are storage and application servers managed by virtual layer. PaaS provides the service of hosting developer’s applications by availing the suitable runtime environment. SaaS allows users to access software as he or she chooses (Awan & Ali Shah, 2015) . With the assistance of virtualization technology, cloud systems can avail computing power to users in the form of VMs (Dave et al., 2014) . These VMs are used for handling and processing the user’s tasks (Singh et al., 2014). The process of scheduling tasks upon VMs is a crucial problem that directly affects the performance of the whole cloud system. Task scheduling is the optimal mapping of tasks over the available resources in a cloud network to minimize costs under various circumstances. These scheduling algorithms can be static or dynamic. In static algorithms, the information of cloud resources and submitted tasks are previously known. This kind of task-based scheduling is mostly applied to periodic tasks. On the other hand, in dynamic algorithms, this information is not known in advance. Thus, allocating tasks is done at runtime. Further dynamic scheduling is categorized into either batch mode or online mode (Kanniga et al., 2016) . Since task scheduling is a non-deterministic polynomial-time (NP) hardness problem, heuristic and meta-heuristic methods are used in problem-solving. These methods are based on finding a near optimal solution in a reasonable amount of time, by excluding other less efficient solutions existing in the solutions’ space. The ACO algorithm is a dynamic, meta-heuristic algorithm that used to solve NP hardness optimization problems, such as scheduling. It is appropriate for clouds due to its dynamic and adaptable nature that can deal with both the various tasks and the changeable cloud environment to make efficient scheduling decisions (Blum et al., 2003) (Pedemonte et al., 2011) . Each cloud provider seeks to provide high quality of service to satisfy the consumers as well as increase its profits. Accordingly, an efficient task scheduling strategy must aim to achieve the QoS requirements for the users. A priority is one of the QoS items that the Cloud service provider offers. It can be applied on different ways for enhancing the QoS in various aspects. This work provides three levels of services based on user-priority property. It seeks to minimize the response time for users' tasks at each level, and at the same time achieving precedence of the service for the high priority tasks. In this paper, an ACO-based scheduling algorithm is introduced. The algorithm is adopted to categorize users’ demands under three levels of priorities. The ACO objective function is modified to dynamically find an efficient resource allocation for the submitted tasks, which reduce makespan and the cost of tasks as well as improve the balance of the overall system. In short, the main contributions of this work can be listed as follows:
Formalizing the problem of scheduling tasks in the cloud computing environment;
Introducing a scheduling strategy which adopts the use of user priorities and ant colony-based scheme for scheduling the tasks.
Extensive simulation in order to evaluate the proposed algorithm efficiency;
Comparing the proposed algorithm performance with respect to other solutions to prove that it can deliver reduced makespan and more balanced system.;