GB-PANDAS: Throughput and heavy-traffic optimality analysis for affinity scheduling
Ali Yekkehkhany, Avesta Hojjati, Mohammad H Hajiesmaili

TL;DR
This paper introduces GB-PANDAS, a new affinity scheduling algorithm that is throughput and heavy-traffic optimal, handling multiple data locality levels with arbitrary service time distributions, significantly improving delay performance in data center workloads.
Contribution
The paper proposes GB-PANDAS, a novel affinity scheduling algorithm that is proven to be throughput and heavy-traffic optimal for systems with multiple data locality levels and arbitrary service time distributions.
Findings
GB-PANDAS achieves throughput and heavy-traffic optimality.
It significantly reduces mean delay compared to existing algorithms.
Simulation shows it outperforms JSQ-MaxWeight by twofold in delay performance.
Abstract
Dynamic affinity scheduling has been an open problem for nearly three decades. The problem is to dynamically schedule multi-type tasks to multi-skilled servers such that the resulting queueing system is both stable in the capacity region (throughput optimality) and the mean delay of tasks is minimized at high loads near the boundary of the capacity region (heavy-traffic optimality). As for applications, data-intensive analytics like MapReduce, Hadoop, and Dryad fit into this setting, where the set of servers is heterogeneous for different task types, so the pair of task type and server determines the processing rate of the task. The load balancing algorithm used in such frameworks is an example of affinity scheduling which is desired to be both robust and delay optimal at high loads when hot-spots occur. Fluid model planning, the MaxWeight algorithm, and the generalized -rule are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
