# Compiler-assisted Adaptive Program Scheduling in big.LITTLE Systems

**Authors:** Marcelo Novaes, Vin\'icius Petrucci, Abdoulaye Gamati\'e, Fernando, Quint\~ao

arXiv: 1903.07038 · 2019-03-19

## TL;DR

This paper introduces Astro, a compiler-assisted adaptive scheduling system for big.LITTLE architectures that leverages program structure and reinforcement learning to optimize hardware configuration, outperforming existing schedulers.

## Contribution

It presents a novel approach combining compiler analysis and reinforcement learning to improve program scheduling in heterogeneous architectures.

## Key findings

- Astro outperforms GTS on Rodinia and Parsec benchmarks.
- Using program phases improves scheduling decisions.
- Reinforcement learning effectively maps program features to hardware configs.

## Abstract

Energy-aware architectures provide applications with a mix of low (LITTLE) and high (big) frequency cores. Choosing the best hardware configuration for a program running on such an architecture is difficult, because program parts benefit differently from the same hardware configuration. State-of-the-art techniques to solve this problem adapt the program's execution to dynamic characteristics of the runtime environment, such as energy consumption and throughput. We claim that these purely dynamic techniques can be improved if they are aware of the program's syntactic structure. To support this claim, we show how to use the compiler to partition source code into program phases: regions whose syntactic characteristics lead to similar runtime behavior. We use reinforcement learning to map pairs formed by a program phase and a hardware state to the configuration that best fit this setup. To demonstrate the effectiveness of our ideas, we have implemented the Astro system. Astro uses Q-learning to associate syntactic features of programs with hardware configurations. As a proof of concept, we provide evidence that Astro outperforms GTS, the ARM-based Linux scheduler tailored for heterogeneous architectures, on the parallel benchmarks from Rodinia and Parsec.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1903.07038/full.md

## Figures

11 figures with captions in the complete paper: https://tomesphere.com/paper/1903.07038/full.md

## References

35 references — full list in the complete paper: https://tomesphere.com/paper/1903.07038/full.md

---
Source: https://tomesphere.com/paper/1903.07038