Methodology and Tools for Energy-aware Task Mapping on Heterogeneous Multiprocessor Architectures
Outils et méthodologies pour le placement de taches guidé par l'énergie sur des architectures multiprocesseurs hétérogènes
Résumé
During the last decade, the design of embedded systems was pushed to increase
computational power while maintaining low energy consumption. As an example,
autonomous vehicles such as drones are a representative application domain which
combines vision, wireless communications and other computation intensive kernels
constrained with a limited energy budget. With the advent of Multiprocessor
System-on-Chip (MpSoC) architectures, simplification of processor cores
decreased power consumption per operation, while the multiplication of cores
brought performance improvement. However, the dark silicon issue led to
the benefit of augmenting programmable processors with specialized hardware
accelerators and to the rise of Heterogeneous MpSoC (HMpSoC) combining both
software (SW) and hardware (HW) computational resources. For these heterogeneous
architectures, performance and energy consumption depend on a large set of
parameters such as the HW/SW partitioning, the type of HW implementation or the
communication cost between HW and SW cores therefore leading to a huge design
space.
In this thesis, we study how to reduce the development and implementation
complexity of energy-efficient applications on HMpSoC. Multiple contributions
are proposed to enhance Design Space Exploration (DSE) tools with energy
objectives. First, a formal definition of HMpSoC structure is introduced
alongside with a generic representation focused on the memory hierarchy. Then, a
fast power modelling tool is proposed and validated on several applications.
This power model separates the power sources in three families (static, dynamic
computation and dynamic communication) and computes their contributions on
global consumption independently. With a fine grain communications study, this
approach rapidly computes energy consumption for a given application mapping on
a HMpSoC. In a second time, we propose a methodology for energy-driven
accelerator exploration on HMpSoC. This method builds upon the previous power
model coupled with an Mixed Integer Linear Programming (MILP) formulation and
enables to efficiently select HW accelerators and HW/SW partitioning which
achieve energy efficient-mapping of a tiled application.
The experiments involved in these contributions show the complexity of DSE
validation process on a wide range of applications and architectures. To address
these issues, we introduce a HMpSoC simulator embedding a power model to monitor
application execution. Properties of targeted architectures are described, at
run-time with the previous generic representation model. Furthermore, this
simulator is coupled with an application generator framework that could build an
infinite set of representative applications following predefined computation
models. The obtained applications could then be enriched with mapping directive
and executed on the simulator. This combination enables to ease the research and
validation of new DSE algorithms targeting energy-aware application mapping on a
wide range of HMpSoC architectures.
Au cours de la dernière décennie, la conception des systèmes embarqués a évolué
dans l'optique d'augmenter la puissance de calcul tout en conservant une faible
consommation d'énergie. À titre d'exemple, les véhicules autonomes tels que les
drones sont un domaine d'application représentatif qui combine de la vision, des
communications sans fil avec d'autres noyaux de calculs intensifs, le tout avec
un budget énergétique limité. Avec l'avènement des systèmes multicoeurs sur puce
(MpSoC), la simplification des processeurs a diminué la consommation d'énergie
par opération, alors que leur multiplication a amélioré les performances.
Cependant, l'apparition du phénomène de dark silicon a conduit à
l'intégration d'accélérateurs matériels spécialisés au sein des systèmes
multicoeurs. C'est ainsi que sont nées les architectures massivement multicoeurs
hétérogènes (HMpSoC) combinant des processeurs généralistes (SW) et des
accélérateurs matériels (HW). Pour ces architectures hétérogènes, les performances et la
consommation d'énergie dépendent d'un large ensemble de paramètres tels que le
partitionnement HW/SW, le type d'implémentation HW et le coût de communication
entre les organes de calcul HW et SW conduisant ainsi à un immense espace de
conception.
Dans cette thèse, nous étudions des méthodes permettant la réduction de la
complexité de développement et de mise en oeuvre d'applications efficaces en
énergie sur HMpSoC. De nombreuses contributions sont proposées pour améliorer
les outils d'exploration de l'espace de conception (DSE) avec des objectifs
énergétiques. Tout d'abord, une définition formelle de la structure HMpSoC est
introduite ainsi qu'une méthode de représentation générique axée sur la
hiérarchie mémoire. Ensuite, un outil de modélisation rapide de l'énergie est
proposé et validé sur plusieurs applications. Ce modèle énergétique sépare les
sources d'énergie en trois catégories (calcul statique, dynamique et
communications) et calcule leurs contributions sur la consommation globale de
manière indépendante. Basée sur une étude précise des communications, cette
approche calcule rapidement la consommation d'énergie pour une répartition
donnée d'application sur un HMpSoC. Dans un deuxième temps, nous proposons une
méthodologie permettant l'exploration énergétique d'accélérateurs sur HMpSoC.
Cette méthode s'appuie sur le modèle de consommation précédent couplé à une
formulation de programmation linéaire en nombre entier mixte (MILP). Cela permet
de sélectionner efficacement les accélérateurs HW et le partitionnement HW/SW et
ainsi d'obtenir une implémentation efficace en énergie pour une application
tuilée. Les expériences réalisées ont montré la complexité du processus de
validation d'outils/algorithmes de DSE sur une large gamme d'applications et
d'architectures. Afin de résoudre ce problème, nous proposons un simulateur
d'architectures HMpSoC intégrant un modèle de consommation permettant d'observer
l'exécution d'applications. La structure de l'architecture cible est décrite à
l'aide d'un fichier de configuration basé sur le modèle de représentation générique
précédent. Ce fichier est chargé dynamiquement lors du démarrage du simulateur. De plus,
ce simulateur est associé à un générateur d'applications permettant la création
d'un large ensemble d'applications représentatives du domaine. Ce générateur se
base sur un ensemble de schémas de calcul et de communication élémentaire qu'il
combine pour obtenir une application complète. Les applications ainsi obtenues
peuvent être enrichies par des informations de placement et automatiquement
exécutées sur le simulateur. Cet ensemble d'outils a pour objectif de
faciliter la validation de nouveaux algorithmes ciblant le placement efficace en
énergie d'application sur une large gamme d'architectures HMpSoC.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...