Machine Learning for Run-Time Energy Optimisation in Many-Core Systems

Dwaipayan Biswas1,a, Vibishna Balagopal1,b, Rishad Shafik2, Bashir M. Al-Hashimi1,c and Geoff V. Merrett1,d
1Department of Electronics and Computer Science, University of Southampton, United Kingdom, SO17 1BJ.
2School of Electrical and Electronic Engineering, Newcastle University, United Kingdom, NE1 7RU.


In recent years, the focus of computing has moved away from performance-centric serial computation to energyefficient parallel computation. This necessitates run-time optimisation techniques to address the dynamic resource requirements of different applications on many-core architectures. In this paper, we report on intelligent run-time algorithms which have been experimentally validated for managing energy and application performance in many-core embedded system. The algorithms are underpinned by a crosslayer system approach where the hardware, system software and application layers work together to optimise the energyperformance trade-off. Algorithm development is motivated by the biological process of how a human brain (acting as an agent) interacts with the external environment (system) changing their respective states over time. This leads to a pay-off for the action taken, and the agent eventually learns to take the optimal/best decisions in future. In particular, our online approach uses a model-free reinforcement learning algorithm that suitably selects the appropriate voltage-frequency scaling based on workload prediction to meet the applications' performance requirements and achieve energy savings of up to 16% in comparison to state-of-the-art-techniques, when tested on four ARM A15 cores of an ODROID-XU3 platform.

Keywords: Energy management, Dynamic voltage/frequency scaling, Reinforcement learning, Multi-core systems.

Full Text (PDF)