Two-tier project and job scheduling for SaaS cloud service providers
This study addresses a two-tier job scheduling problem for SaaS cloud service providers which rely on resources leased from IaaS cloud providers to achieve elasticity to computational power. In our model, a project represents a user request which consists of multiple jobs; the SaaS is obligated to complete projects using multiple resources leased from IaaS or PaaS providers. The goals are to reduce the project turn-around time and to support priority scheduling by employing suitable scheduling algorithms. We propose a set of two-tier backfilling algorithms which extend the well-known conservative backfilling algorithm with project slack-time and priority concepts. Among the proposed algorithms, Two-Tier Strict Backfilling (2TSB) does not allow preemption in job waiting queues. On the other hand, preemption is allowable in Two-tier Flexible Backfilling which has two versions: 2TFB and 2TFB-SF (slack factor). In 2TFB, a new incoming project can preempt waiting jobs but not waiting projects, while 2TFB-SF permits preemption in both job and project waiting queues. Two-Tier Priority Backfilling (2TPB) algorithm takes priority into account such that only high-priority projects can preempt the low-priority ones. The experimental results indicate that, compared with 2TSB, 2TPB could reduce the mean turn-around time of high-priority projects by more than 25%.
backfilling slack factor two-tier scheduling saas scheduling