Machine Learning Techniques to Support Many-Core Resource Management: Challenges and Opportunities
Martin Rapp, Hussam Amrouch, Marilyn C. Wolf, Jörg Henkel · 2019
Resource management in many-core processors, housing tens to hundreds of cores on a single die, becomes more and more challenging due to the ever-increasing number of possible management decisions (e.g., task mapping). Machine learning (ML) techniques emerge as promising solutions to support resource management algorithms in taking the best decisions due to their adaptability. However, there are several challenges with ML-based solutions. We discuss two key challenges in detail. Firstly, ML-based techniques often suffer from high computational complexity for the inference at run-time - which is especially critical when it comes to the embedded system domain. Secondly, employing ML techniques as a “black box” may result in deriving models that fail in reflecting the reality.We take a task migration technique that maximizes the performance of a thermally-constrained many-core as a case study. This technique selects the migration to execute next with the support of a neural network (NN) that predicts the performance impact of a migration. We demonstrate the abovementioned challenges in this case study and discuss potential remedies. To lower the run-time overhead, we discuss overhead-aware design of the NN and using already existing accelerators in smartphone SoCs. Finally we also demonstrate how existing domain knowledge can be introduced into the models to ensure that models are consistent with the reality and experimentally show the potential.