Academy & Industry Research Collaboration Center (AIRCC)

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