4 research outputs found
Enhancing Resource Management through Prediction-based Policies
Task-based programming models are emerging as a promising alternative to make
the most of multi-/many-core systems. These programming models rely on runtime
systems, and their goal is to improve application performance by properly
scheduling application tasks to cores. Additionally, these runtime systems
offer policies to cope with application phases that lack in parallelism to fill
all cores. However, these policies are usually static and favor either
performance or energy efficiency. In this paper, we have extended a task-based
runtime system with a lightweight monitoring and prediction infrastructure that
dynamically predicts the optimal number of cores required for each application
phase, thus improving both performance and energy efficiency. Through the
execution of several benchmarks in multi-/many-core systems, we show that our
prediction-based policies have competitive performance while improving energy
efficiency when compared to state of the art policies.Comment: Postprint submitted and published at Euro-Par2020: International
European Conference on Parallel and Distributed Computing (Springer)
(https://link.springer.com/chapter/10.1007%2F978-3-030-57675-2_31
Machine Learning in Compiler Optimization
In the last decade, machine learning based compilation has moved from an an obscure research niche to a mainstream activity. In this article, we describe the relationship between machine learning and compiler optimisation and introduce the main concepts of features, models, training and deployment. We then provide a comprehensive survey and provide a road map for the wide variety of different research areas. We conclude with a discussion on open issues in the area and potential research directions. This paper provides both an accessible introduction to the fast moving area of machine learning based compilation and a detailed bibliography of its main achievements