G1Stack: A Learning-Assisted Scheduler Framework for Interactive and Batch Workload Co-Location With High Resource Efficiency
Abstract
Interactive services typically over-provision CPU resources to meet Service Level Objectives (SLOs) for tail latency amidst workload fluctuations. This inefficiency motivates emerging research into workload co-location, where batch jobs are hosted alongside interactive services to harvest underutilized resources. However, the Linux Completely Fair Scheduler (CFS) limits potential resource efficiency gains. CFS’s fairness-oriented design lacks support for workload-specific scheduling policies and is unable to simultaneously enforce performance isolation while facilitating fine-grained resource sharing across co-located workloads. Therefore, we present G1Stack, a scheduler framework designed for workload co-location. Specifically, G1Stack incorporates: (1) A parallel dual-policy architecture that schedules latency-critical (LC) tasks from interactive services and best-effort (BE) tasks from batch jobs separately, guaranteeing responsiveness for the former while enhancing computational throughput for the latter; (2) A learning-assisted load-balancing approach that dynamically interleaves LC and BE tasks across cores with fine-grained temporal and spatial distribution to optimize resource efficiency; (3) Integrated workload-aware auto-scaling and load-shedding mechanisms to minimize latency during up-scaling under load spikes, ensuring system responsiveness under dynamic workloads. Stress-testing results demonstrate that G1Stack reduces the non-productive resource ratio to at most 7.55% and shortens the average completion time of co-located batch jobs by up to 62.45% compared to baselines.