Priority Scheduling for Heterogeneous Workloads: Tradeoff Between Evictions and Response Time
Nowadays, large computing clusters are executing highly heterogeneous bursty workloads with different priorities, resource demands, and performance objectives. As the schedulers control the class-specific performance by evictions, a noteworthy amount of the computing resources are wasted by the lost executions of the evicted tasks. This paper presents a system model with a slot-based priority scheduler that captures the execution progress, evictions, and response times when executing complex workloads on heterogeneous systems. To better understand the impact of evictions, we first analyze simple eviction policies and wasted resources associated with evictions by using trace-driven simulation of Google cluster trace. Our key finding is that evictions severely increase system load, which leads to a significant increase in response times, particularly of low-priority classes, due to repetitive evictions. Furthermore, by exploiting the heterogeneity of the workload, we propose a workload-aware slot configuration and task assignment methodology incorporated with slot-based priority scheduling to improve class-based response time and resource efficiency. Our experimental results show that we are able to achieve up to 29% improvement in response times by choosing the right eviction policy, namely, MRS (most recently started), and integrating workload awareness to the slot configuration and task assignment.