Cloud Resource Scheduling for Online and Batch Applications
Cloud Resource Scheduling for Online and Batch Applications Kick-off meeting
Project Goal �Develop a resource management system that ◦ Deploy different types of jobs to servers. ◦ Dynamically adjust the resource allocation according to job workloads. ◦ Meet the Service Level Agreement(SLA) of latency-sensitive jobs. ◦ Minimize the cost. �Penalty of violating SLA
Type of Job �Interactive job ◦ Latency-sensitive ◦ State-less ◦ Strict SLA �Batch job ◦ Consists of many (independent) tasks. ◦ Soft deadline.
Example �You. Tube ◦ Interactive: video streaming ◦ Batch: flow analysis �Phone billing system ◦ Interactive: rate querying/changing ◦ Batch: calculating the phone bill per user.
Cost �“Penalty” ◦ The price we have to pay for violating the SLA. �Each job has different penalty rate. ◦ P( Ja ) = penalty rate( Ja ) * max(0, v), Ja ∈ I �v: percentage of SLA violation within a time window ◦ P( Jb ) = penalty rate ( Jb ) * max(0, d), Jb ∈B �d: difference between job completion time and deadline.
Problem Definition �Given a set of batch job B, a set of interactive job I, the number of processors m, and a penalty C. Is there a schedule to run all jobs with the total penalty no more than C? ◦ NP-complete ◦ Design heuristics to obtain schedule with reasonable quality.
Processor Allocation �Estimate the penalty of interactive jobs on different number of processors. �Estimate the penalty of batch jobs on different number of processors. �Determine the number of processors for each job. ◦ With limit number of processors, find the assignment that minimize the total penalty.
System Architecture
To Do �Implement the scheduling algorithm and evaluate the result. �Build the system on Docker / implement the scheduler in Kubernetes. �Consider other resources. ◦ Memory, network…etc.
- Slides: 9