Rapport: Sujet de thse

publicité
Proposition de Sujet de thèse
De Melle Mouna BAKLOUTI
Génération VHDL à base d'IP d'architectures massivement
parallèles génériques
1. Problématique et motivations
L’évolution de la technologie permet de nos jours, l’intégration de quelques milliards de
transistors sur un circuit. Dans quelques années, on estime quelques dizaines de milliards de
transistors! Cette évolution aura très certainement un impact sur la topologie, l’organisation
et le fonctionnement des machines spécialisées plus ou moins spécialisées logicielles et/ou
matérielles.
En effet, les applications et les algorithmes émergeant dans de divers domaines, tel que le
traitement d’images et la compression, s’avèrent assez complexes, présentant des
contraintes d’utilisation critiques. Pour faire face à ce défi, il a fallu penser à de nouvelles
solutions autres que celles usuelles, basées sur l’utilisation des processeurs standard,
incapables de répondre aux nouveaux besoins. Une alternative convenable et adéquate
consiste alors à l’utilisation de systèmes matériels dédiés exploitant différents moyens de
réalisation matérielle et logicielle. Cette stratégie repose sur l’avènement des nouvelles
technologies submicroniques (ASIC et FPGA) et sur le développement des techniques de
conception (méthodologies et outils de CAO). Citons à cet égard les architectures
reconfigurables (FPGA) qui sont assez flexibles et modulaires pour assurer l’implantation
matérielle d’une application tout en respectant ses exigences fonctionnelles, et avec l’apport
des techniques de conception et les différents outils de CAO, on peut ainsi garantir des
courts délais de conception et disponibilité sur le marché «time to market». L’intérêt suscité
par les FPGAs est dû essentiellement à leur grande flexibilité (grâce à leur reprogrammabilité), à la facilité qu’ils présentent dans la mise en oeuvre des applications, etc.
La tendance actuelle de la conception des applications modernes s’oriente vers l’intégration
sur une même puce (SoC) du logiciel et du matériel. Ils intègrent généralement des
fonctions matérielles dédiées (i.e. accélérateurs matériels, coprocesseurs etc.) connectées à
des processeurs programmables (DSP, RISC, etc.).
Par ailleurs, les architectures massivement parallèles tel est l’exemple des calculateurs
massivement parallèles permettent de disposer de puissances de calcul et de traitement
importantes afin de gérer une bonne quantité de données (multimédia) et effectuer des
traitements nécessitant de grandes capacités de calcul. Les volumes de données traités
peuvent provenir de capteurs ou de bases de données. Les données fournies par les capteurs
peuvent être nombreuses dans le temps (son, mesure de paramètres physiques, détection
d'événements...) et dans l'espace (images). On peut également être amené à traiter des
données issues simultanément de plusieurs capteurs. Dans les bases de données, les données
sont de plus en plus souvent grandes consommatrices de puissance (son, images).
-1-
Un important travail de conception est nécessaire pour s'assurer que ces données puissent
être lues, transférées et stockées rapidement. Dans le cas contraire la puissance de calcul
des processeurs serait sous-exploitée.
La définition d’une architecture parallèle ne peut plus être réalisée sans que sa
programmation soit prise en compte, et ce, dès sa phase de définition. A l’heure actuelle,
seule les machines SIMD (Single Instruction Multiple Data), disposent d’environnements
de programmation évolués permettant de tirer réellement parti des performances de la
machine.
Tenant compte de nouvelles technologies (SoC), une tendance s'oriente vers la conception
de MPPSoC (Massively Parallel Processor System on Chip): des systèmes sur puce
massivement parallèles. Il s'agit d’une architecture SIMD composée d'une grille de
processeurs élémentaires (les PEs: Processing Elements) et des mémoires connectés par un
réseau de voisinage régulier et un général et global réseau.
A part la conception de MPPSoC on trouve aussi que les recherches s’orientent vers
l’intégration de ce type d’architectures dans FPGA.
Par ailleurs, longtemps réduits au prototypage, aujourd’hui les FPGAs sont utilisés, pour
leur capacité de reconfiguration, dans des systèmes électroniques complexes, même pour
la fabrication à grande série. En effet, grâce aux évolutions de la technologie
microélectronique les FPGA deviennent de plus en plus performants avec des capacités
sans cesse augmentées.
C'est dans ce contexte que se situent les travaux proposés dans cette thèse. Il s'agit
d'étudier une architecture parallèle générique, d'effectuer sa validation en vue de son
intégration sur des technologies reconfigurables.
2. Objectifs : définition de modèle d’architecture massivement
parallèle générique et intégration sur FPGA
À la fin des années 80, les ordinateurs les plus rapides au monde reposaient sur le modèle des
architectures SIMD massivement parallèles. Ces machines, aussi connues sous le vocable de
"tableau de processeurs", étaient construites sur la base d'une grille d'unités de calcul à grain
fin connectées par un ou plusieurs réseaux de topologie simple. La puissance de ces machines
reposait sur le grand nombre de processeurs, jusqu'à quelques dizaines de milliers, et non de
la puissance de calcul intrinsèque ou d'un cadencement à haute fréquence de ces processeurs.
Un système SIMD se compose d'une grille de processeurs élémentaires, chaque processeur
exécutant, de manière synchrone, exactement la même instruction à chaque cycle. Cette
synchronisation est orchestrée par un processeur de contrôle responsable du chargement et
décodage des instructions. Deux types d'instructions sont distingués: les instructions parallèles
et les instructions non-parallèles. Le processeur de contrôle transfert les instructions parallèles
au tableau de processeurs élémentaires alors qu'il exécute lui-même les instructions nonparallèles et de contrôle du flot.
L'utilisation de ces systèmes a décliné, principalement en raison du coût élevé de conception
et fabrication de ces machines. Il était devenu plus intéressant d'utiliser un petit nombre de
processeurs standard et puissants plutôt que de nombreux processeurs conçus spécifiquement.
Un autre aspect, technologique cette fois, a contribué à la disparition de ces architectures:
l'accroissement de la fréquence de fonctionnement des composants électronique a rendu
impossible la diffusion d'une instruction à des milliers de processeurs de manière synchrone à
chaque cycle d'horloge.
Cependant, de nos jours, plusieurs domaines d'applications sont toujours concernés par la
conjonction d'algorithmes parallèles réguliers et d'une forte demande en puissance de calcul.
-2-
Ces domaines incluent une partie du traitement de signal, nombreuses applications de
traitement d'images telles la formation de voies, l'encodage ou le décodage d'images, etc. Ces
domaines recouvrent aussi ceux concernés par l'informatique embarquée et l'intégration d'un
système sur une unique puce est alors d'un intérêt majeur.
Une autre problématique de l'informatique embarquée recouvre la maîtrise de la
consommation électrique. Le parallélisme est à l'évidence une réponse efficace vers une
réduction de cette consommation, en particulier en opposition avec une montée de la
fréquence d'horloge: la consommation est proportionnelle à la taille des circuits, mais croît
exponentiellement avec la fréquence.
Les méthodologies actuelles de conception de systèmes promeuvent les approches à base de
composants et exploitent l'utilisation d'IP (Intellectual Properties) et d'interfaces
standardisées. Ce contexte doit permettre d'alléger les coûts de conception d'un processeur
dédié en vue de son intégration dans un système SIMD massivement parallèle.
Par ailleurs, les avancées technologiques concernant l'intégration rendent envisageables de
placer une grille SIMD complète sur une unique puce, facilitant la diffusion synchrone
d'instructions à des fréquences élevées.
Quinze ans après le déclin des systèmes massivement parallèles traditionnels, les évolutions
méthodologiques dans la conception de systèmes, les évolutions technologiques majeures de
l'intégration sur silicium conjuguées à la demande toujours croissante de performance de
nombres d'applications ont changé le contexte et il nous semble opportun de considérer et
vérifier aujourd'hui la faisabilité de machines massivement parallèles sur une puce.
Dans cette optique, des travaux de proposition d'une architecture nommée MPPSoC ont été
entrepris au sein du projet DaRT.
Comme il est traditionnel, les plateformes configurables que sont les FPGA peuvent être
utilisées pour valider les prototypes sans recourir à d'autres procédés inabordables en terme de
coût. Cependant, l'utilisation de FPGA prend aussi tout son sens pour une autre raison: la
configurabilité de cette plateforme matérielle. Le dimensionnement d'une architecture
MPPSoC est par exemple fonction de l'application elle-même, ou des volumes de données qui
seront traitées. En relation avec ces paramètres, le nombre de processeurs ou la taille mémoire
associée à chacun des processeurs peut être choisie: une application peut requérir un
relativement petit nombre de processeurs avec une grande mémoire ou un nombre plus
important de processeurs avec une petite mémoire.
L'objectif de tous ces travaux est de pouvoir explorer efficacement afin d'aboutir rapidement à
une solution efficace. Les approches d’exploration considèrent souvent un modèle
d'architecture afin de guider l'exploration. Comme nous considérons des architectures
massivement parallèles, l'objectif de ce travail consiste à définir un modèle d'architecture
générique afin de déduire une solution taillée selon les besoins. Bien entendu, nous
envisageons des techniques de validation
et d'intégrations sur des technologies
reconfigurables, FPGAs.
3. Contributions attendues
Les travaux initiaux de proposition d'une architecture massivement parallèle sur une puce ont
été menés au sein du projet DaRT de l'INRIA.
L'architecture elle-même a été définie; un simulateur SystemC de cette architecture a été
produit ; une première implantation, partielle, sur FPGA a aussi été proposée. Dans le cadre
de cette thèse, les travaux conjoints consistent à proposer et mettre en œuvre une
méthodologie ad hoc pour la production d'implantations FPGA de l'architecture MPPSoC.
-3-
L'implantation FPGA actuelle a été réalisée manuellement et souffre en quelque sorte de ce
mode de construction: les choses sont à reprendre si le modèle de l'architecture varie ou si on
désire définir une machine d'une configuration particulière pour cette architecture: par
exemple avec simple réseau de voisinage entre les processeurs et pas de réseau général ou une
version utilisant un processeur plus élémentaire ne traitant que des entiers sur quelques bits ou
à l'inverse un processeur pouvant réaliser quelques opérations sur des valeurs flottantes... La
définition des ces configurations étant pilotée par les besoins des applications envisagées sur
la machine.
La thèse consistera donc en la construction d'implantations FPGA d'une configuration donnée
de la machine MPPSoC par assemblage de blocs, d'IP, préexistants. Typiquement on trouvera
des IP processeurs, des IP contrôleur, des IP mémoire, des IP pour différents réseaux
d'interconnexion. Une configuration donnée d'un système MPPSoC décrira les composants
devant être utilisés et les paramètres de dimensionnement de la machine (nombre de
processeurs, taille mémoire associée à chaque processeur, éventuellement largeur du/des
réseaux, etc.)
Pour mener à bien ces travaux, il s'agira de définir une modélisation, compatible avec
Gaspard, pour modéliser les configurations de machines; de définir une normalisation des
interfaces des IP; de gérer la réutilisation d'IP existants sur le marché; de définir la glu
d'assemblage de ces IP; de générer le code VHDL issu de cet assemblage qui pourra être
simulé ou utilisé pour configurer un FPGA.
-4-
Téléchargement