Compiler-Guided Throughput Scheduling for Many-core Machines
Girish Mururu, Sharjeel Khan, Bodhisatwa Chatterjee, Chao Chen, Chris, Porter, Ada Gavrilovska, Santosh Pande

TL;DR
This paper introduces a compiler-guided, predictive scheduling framework for many-core systems that improves throughput by forecasting application behavior and proactively managing resources, outperforming traditional reactive schedulers.
Contribution
It presents a novel compiler-based approach that classifies loops, inserts beacons, and enables proactive scheduling to enhance throughput in multi-core environments.
Findings
Achieves an average throughput improvement of 76.78% over CFS.
Demonstrates up to 3.2x throughput increase on Amazon Graviton2.
Effectively predicts application behavior for better resource management.
Abstract
Typical schedulers in multi-tenancy environments make use of reactive, feedback-oriented mechanisms based on performance counters to avoid resource contention but suffer from detection lag and loss of performance. In this paper, we address these limitations by exploring the utility of predictive analysis through dynamic forecasting of applications' resource-heavy regions during its execution. Our compiler framework classifies loops in programs and leverages traditional compiler analysis along with learning mechanisms to quantify their behaviour. Based on the predictability of their execution time, it then inserts different types of beacons at their entry/exit points. The information produced by beacons in multiple processes is aggregated and analyzed by the proactive scheduler to respond to the anticipated workload requirements. For throughput environments, we develop a framework that…
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Cloud Computing and Resource Management · Distributed and Parallel Computing Systems
