🤖 AI Summary
To address the high total cost of long-running batch jobs in cloud environments—caused by suboptimal task/instance scheduling, colocated interference, and instance startup/shutdown overhead—this paper proposes a coordinated scheduling framework grounded in an economic reservation price model. Its key contributions are: (1) leveraging reservation prices to jointly guide instance selection and task assignment; (2) explicitly modeling performance degradation induced by colocation; and (3) quantifying the trade-off between migration overhead and long-term resource savings to enable dynamic reconfiguration and rescheduling. Evaluated on AWS EC2 and via large-scale trace-driven simulation, the framework reduces total cost by 42% compared to the single-task-per-instance baseline, while increasing average job completion time by only 15%. This demonstrates substantial improvement in cloud resource cost-efficiency without compromising timeliness.
📝 Abstract
Cloud computing offers flexibility in resource provisioning, allowing an organization to host its batch processing workloads cost-efficiently by dynamically scaling the size and composition of a cloud-based cluster -- a collection of instances provisioned from the cloud. However, existing schedulers fail to minimize total cost due to suboptimal task and instance scheduling strategies, interference between co-located tasks, and instance provisioning overheads. We present Eva, a scheduler for cloud-based clusters that reduces the overall cost of hosting long-running batch jobs. Eva leverages reservation price from economics to derive the optimal set of instances to provision and task-to-instance assignments. Eva also takes into account performance degradation when co-locating tasks and quantitatively evaluates the trade-off between short-term migration overhead and long-term provision savings when considering a change in cluster configuration. Experiments on AWS EC2 and large-scale trace-driven simulations demonstrate that Eva reduces costs by 42% while incurring only a 15% increase in JCT, compared to provisioning a separate instance for each task.