Tasks and Resources Allocation Approach with Priority Constraints in Cloud Computing

Tasks and Resources Allocation Approach with Priority Constraints in Cloud Computing

Nouf Ahmad Almojel, Alaa E. S. Ahmed
Copyright: © 2022 |Pages: 17
DOI: 10.4018/ijghpc.301584
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Cloud computing is the most developing technology, which allow users to access data, software and IT services. Cloud systems are characterized by the uncertainty of the resources availability. For that reason, its performance is greatly affected by the applied scheduling and allocation algorithm used to map submitted tasks to resources. This paper introduces a heuristic approach that combine Ant Colony and priority-aware schema to achieve task scheduling and resource allocation in cloud computing environments. The algorithm provides three prioritized levels of quality of services to be employed by users per their demand. A level’s priorities dynamically affect the way tasks are distributed in the system. The resources are allocated using a modified version of Ant Colony Optimization. Results show that the proposed algorithm improves the performance of the system by minimizing makespan, decreasing the degree of imbalance between virtual machines, and enhancing the Cloud’s quality of service by achieving user-priority goals.
Article Preview
Top

Introduction

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.;

Complete Article List

Search this Journal:
Reset
Volume 16: 1 Issue (2024)
Volume 15: 2 Issues (2023)
Volume 14: 6 Issues (2022): 1 Released, 5 Forthcoming
Volume 13: 4 Issues (2021)
Volume 12: 4 Issues (2020)
Volume 11: 4 Issues (2019)
Volume 10: 4 Issues (2018)
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing