Architecture and Programming Model Support For Reconfigurable Accelerators in Multi-Core Embedded Systems
Architecture et modèle de programmation pour accélérateurs reconfigurables dans les systèmes embarqués multi-cœurs.
Résumé
Emerging trends in embedded systems and
applications need high throughput and low power
consumption. Due to the increasing demand for low
power computing and diminishing returns from
technology scaling, industry and academia are turning
with renewed interest toward energy efficient
hardware accelerators. The main drawback of
hardware accelerators is that they are not
programmable. Therefore, their utilization can be low
as they perform one specific function and increasing
the number of the accelerators in a system on chip
(SoC) causes scalability issues. Programmable
accelerators provide flexibility and solve the scalability
issues. Coarse-Grained Reconfigurable Array (CGRA)
architecture consisting of several processing
elements with word level granularity is a promising
choice for programmable accelerator.
Inspired by the promising characteristics of
programmable accelerators, potentials of CGRAs in
near threshold computing platforms are studied and
an end-to-end CGRA research framework is
developed in this thesis. The major contributions of
this framework are: CGRA design, implementation,
integration in a computing system, and compilation
for CGRA. First, the design and implementation of a
CGRA named Integrated Programmable Array (IPA)
is presented. Next, the problem of mapping
applications with control and data flow onto CGRA is
formulated. From this formulation, several efficient
algorithms are developed using internal resources of
a CGRA, with a vision for low power acceleration.
The algorithms are integrated into an automated
compilation flow. Finally, the IPA accelerator is
augmented in PULP - a Parallel Ultra-Low-Power
Processing-Platform to explore heterogeneous
computing.
La complexité des systèmes embarqués et
des applications impose des besoins croissants en
puissance de calcul et de consommation énergétique.
Couplé au rendement en baisse de la technologie, le
monde académique et industriel est toujours en quête
d'accélérateurs matériels efficaces en énergie.
L'inconvénient d'un accélérateur matériel est qu'il est
non programmable, le rendant ainsi dédié à une
fonction particulière. La multiplication des
accélérateurs dédiés dans les systèmes sur puce
conduit à une faible efficacité en surface et pose des
problèmes de passage à l'échelle et d'interconnexion.
Les accélérateurs programmables fournissent le bon
compromis efficacité et flexibilité. Les architectures
reconfigurables à gros grains (CGRA) sont
composées d'éléments de calcul au niveau mot et
constituent un choix prometteur d'accélérateurs
programmables.
Cette thèse propose d'exploiter le potentiel des
architectures reconfigurables à gros grains et de
pousser le matériel aux limites énergétiques dans un
flot de conception complet.
Les contributions de cette thèse sont une
architecture de type CGRA, appelé IPA pour
Integrated Programmable Array, sa mise en œuvre
et son intégration dans un système sur puce, avec le
flot de compilation associé qui permet d'exploiter les
caractéristiques uniques du nouveau composant,
notamment sa capacité à supporter du flot de
contrôle. L'efficacité de l'approche est éprouvée à
travers le déploiement de plusieurs applications de
traitement intensif. L'accélérateur proposé est enfin
intégré à PULP, a Parallel Ultra-Low-Power
Processing-Platform, pour explorer le bénéfice de ce
genre de plate-forme hétérogène ultra basse
consommation.
Origine | Fichiers produits par l'(les) auteur(s) |
---|