Volume 9, Number 9, July 2019
QOS-Driven Job Scheduling: Multi-Tier Dependency Considerations
Authors
Husam Suleiman and Otman Basir, University of Waterloo, Canada
Abstract
For a cloud service provider, delivering optimal system performance while fulfilling Quality of Service
(QoS) obligations is critical for maintaining a viably profitable business. This goal is often hard to attain
given the irregular nature of cloud computing jobs. These jobs expect high QoS on an on-demand fashion, that is on random arrival. To optimize the response to such client demands, cloud service providers
organize the cloud computing environment as a multi-tier architecture. Each tier executes its designated
tasks and passes the job to the next tier; in a fashion similar, but not identical, to the traditional job-shop
environments. An optimization process must take place to schedule the appropriate tasks of the job on the
resources of the tier, so as to meet the QoS expectations of the job. Existing approaches employ scheduling
strategies that consider the performance optimization at the individual resource level and produce optimal single-tier driven schedules. Due to the sequential nature of the multi-tier environment, the impact of
such schedules on the performance of other resources and tiers tend to be ignored, resulting in a less than
optimal performance when measured at the multi-tier level.
In this paper, we propose a multi-tier-oriented job scheduling and allocation technique. The scheduling and
allocation process is formulated as a problem of assigning jobs to the resource queues of the cloud computing environment, where each resource of the environment employs a queue to hold the jobs assigned to
it. The scheduling problem is NP-hard, as such a biologically inspired genetic algorithm is proposed. The
computing resources across all tiers of the environment are virtualized in one resource by means of a single
queue virtualization. A chromosome that mimics the sequencing and allocation of the tasks in the proposed
virtual queue is proposed. System performance is optimized at this chromosome level. Chromosome manipulation rules are enforced to ensure task dependencies are met. The paper reports experimental results to
demonstrate the performance of the proposed technique under various conditions and in comparison with
other commonly used techniques.
Keywords
Cloud Computing, Task Scheduling and Allocation, QoS Optimization, Load Balancing, Genetic Algorithms