Les Architectures Multiprocesseurs

Les Architectures Multiprocesseursย 

Classification des architectures multiprocesseurs

Il existe deux grandes classes dโ€™architectures multiprocesseurs, suivant que les processeurs partagent ou non lโ€™espace dโ€™adressage entre les diffรฉrentes tรขches qui sโ€™exรฉcutent sur les unitรฉs de traitement.

Les architectures ร  mรฉmoire distribuรฉe

Dans une architecture multiprocesseurs ร  mรฉmoire distribuรฉe, chaque processeur possรจde son propre espace dโ€™adressage et dispose donc dโ€™une mรฉmoire privรฉe dans laquelle il est le seul ร  pouvoir lire et รฉcrire. Les tรขches sโ€™exรฉcutant sur deux processeurs distincts, communiquent entre elles par passage de message.

Les architectures ร  mรฉmoire partagรฉe

Dans les architectures ร  mรฉmoire partagรฉe, tous les processeurs accรจdent au mรชme espace dโ€™adressage. La mรฉmoire est logiquement partagรฉe, cependant elle peut รชtre physiquement distribuรฉe sur la puce : il sโ€™agit des architectures NUMA (Non Uniform Memory Access).

Dans ce cas lโ€™architecture est souvent dรฉcomposรฉe en sous systรจmes, appelรฉs clusters, oรน chaque cluster contient un petit nombre de processeurs et un contrรดleur mรฉmoire permettant dโ€™accรฉder ร  une tranche de lโ€™espace adressable. Dans le cadre de cette thรจse, nous visons particuliรจrement les architectures manycore ร  mรฉmoire partagรฉe clusterisรฉes de type NUMA pour deux principales raisons :
โ€“ Le caractรจre rรฉgulier de ces architectures facilite la modรฉlisation รฉnergรฉtique. En effet on admet que modรฉliser une architecture clusterisรฉe revient ร  modรฉliser un cluster et le rรฉseau qui relie les diffรฉrents clusters entre eux.
โ€“ La plupart des machines multiprocesseurs gรฉnรฉralistes (ordinateurs personnels, serveurs de calculs) utilisent un modรจle basรฉ sur la mรฉmoire partagรฉe. Pour comprendre comment modรฉliser la consommation รฉnergรฉtique au sein dโ€™une architecture manycore ร  mรฉmoire partagรฉe de type NUMA, il faut dโ€™abord comprendre les sources et lโ€™รฉvolution de la consommation dans de telles architectures.

Consommation รฉnergรฉtique dans les systรจmes manycore

la consommation รฉnergรฉtique a toujours รฉtรฉ un facteur important dans la conception des circuits intรฉgrรฉs aussi bien pour les systรจmes fixes que pour les systรจmes mobiles. Dans le cas des systรจmes mobiles, minimiser lโ€™รฉnergie consommรฉe permet dโ€™augmenter la durรฉe de vie des batteries et donc leur autonomie. Dans le cas des systรจmes fixes, la performance du systรจme est plus importante que son autonomie. Cependant, la performance et la consommation sont รฉtroitement liรฉes puisquโ€™augmenter la vitesse de traitement revient ร  augmenter la frรฉquence de fonctionnement et donc la puissance consommรฉe ce qui augmente le coรปt du systรจme de refroidissement. Lโ€™รฉnergie consommรฉe est la somme de deux parties : une partie dynamique et une partie statique. La consommation dynamique est due ร  lโ€™activitรฉ du circuit plus prรฉcisรฉment au changement dโ€™รฉtats des transistors tandis que la consommation statique est reliรฉe aux courants de fuites. Les courants de fuites circulent entre la grille et le substrat dรจs que le circuit est alimentรฉ indรฉpendamment du changement dโ€™รฉtat du transistor.

Contrรดle de la consommation รฉnergรฉtiqueย 

Au sein dโ€™une puce, la puissance thermique dissipรฉe par un transistor, lorsquโ€™il change dโ€™รฉtat, se propage vers tous les transistors voisins. De ce fait, la tempรฉrature dโ€™une unitรฉ ne dรฉpend pas seulement de la puissance dissipรฉe par cette unitรฉ, mais รฉgalement de celle dissipรฉe par les unitรฉs voisines. Quand la tempรฉrature de la puce augmente, ceci favorise la circulation des courants de fuites. On se retrouve ainsi dans un cercle vicieux qui lie la tempรฉrature aux courants de fuites. De plus le phรฉnomรจne de dissipation thermique ne se produit pas de la mรชme faรงon au centre et sur les bords de la puce. En effet il est plus facile de dissiper la chaleur des unitรฉs qui se trouvent en pรฉriphรฉrie. Au regard de toutes ces complications liรฉes ร  la consommation des circuits intรฉgrรฉs, comment les architectures manycore peuventelles nous offrir ร  la fois de meilleures performances et une basse consommation ? Lโ€™avantage des architectures manycore est quโ€™elles prรฉsentent gรฉnรฉralement une rรฉgularitรฉ dans leur structure (exemple : dรฉcoupage en clusters identiques). Elles offrent la possibilitรฉ de gรฉrer le voltage et la frรฉquence de fonctionnement de chaque processeur ou de chaque cluster indรฉpendamment des autres. Ainsi, il est possible dโ€™รฉteindre les processeurs qui ne sont pas utilisรฉs ou baisser leur frรฉquence de fonctionnement. Une telle technique sโ€™appelle DVFS (Dynamic Voltage Frequency Scaling). Elle permet de diminuer la consommation des circuits intรฉgrรฉs pendant leur exรฉcution. Une autre faรงon de diminuer la consommation consiste ร  inhiber le signal dโ€™horloge de certains composants lorsquโ€™ils ne sont pas utilisรฉs : il sโ€™agit du ยซclock gatingยป. Les deux mรฉthodes DVFS et ยซclock gatingยป agissent sur la consommation du circuit pendant son fonctionnement ยซon lineยป.

ร‰valuation prรฉcoce de la consommation รฉnergรฉtique

Lโ€™estimation de la consommation dโ€™un systรจme embarquรฉ peut รชtre rรฉalisรฉe ร  plusieurs niveaux dโ€™abstraction. La prรฉcision de cette estimation est meilleure quand elle est rรฉalisรฉe sur une description du circuit proche de la rรฉalisation physique telle que le niveau porte logique et le niveau RTL. Au niveau porte logique, la puissance dynamique est dissipรฉe suite ร  un changement de valeur dโ€™un signal cโ€™est ร  dire dโ€™un fil physique entre deux portes. Il suffit donc de dรฉtecter tous les รฉvรฉnements de ce type pour รฉvaluer la valeur totale de lโ€™รฉnergie consommรฉe. Lโ€™estimation obtenue est trรจs prรฉcise puisque lโ€™on utilise une description du circuit fidรจle ร  lโ€™implรฉmentation finale. Cette proximitรฉ du systรจme final constitue ร  la fois un avantage et un inconvรฉnient puisque elle permet dโ€™avoir une bonne prรฉcision en contre partie dโ€™un temps de simulation trรจs long. Pour gagner en vitesse dโ€™estimation, on peut utiliser une description plus gros grain du systรจme tel que la description RTL (Resgister Transfer Level). Au niveau RTL le systรจme est composรฉ de registres. Pour modรฉliser la consommation ร  ce niveau il suffit de considรฉrer le changement de lโ€™รฉtat dโ€™un registre comme source de dissipation dโ€™รฉnergie. Ce second type dโ€™รฉvรจnement รฉtant
plus abstrait, on perd cependant de prรฉcision. De plus, au niveau RTL, les temps de simulation et les efforts de codage restent importants. Avec lโ€™arrivรฉe des MPSoC, la nรฉcessitรฉ dโ€™une รฉtude ร  des niveaux dโ€™abstraction plus hauts de la puissance dissipรฉe est devenue une รฉvidence. La figure 2.5 montre que le plus tรดt on intervient dans le cycle de fabrication des circuits intรฉgrรฉs pour minimiser la consommation, meilleurs sont les rรฉsultats. En effet, selon Lโ€™ITRS (International Technology Roadmap for Semiconductors), intervenir au niveau comportemental permet de rรฉduire la consommation totale du systรจme final de 40% contre 20% au niveau physique. Lโ€™รฉtude de la consommation รฉlectrique au niveau comportemental relรจve du prototypage virtuel. Il existe plusieurs niveaux dโ€™abstraction pour le prototypage virtuel suivant la prรฉcision avec laquelle on dรฉcrit les diffรฉrents types de contention dans le matรฉriel qui affectent les temps dโ€™exรฉcution : MISS sur les mรฉmoires caches, bande passante limitรฉe des bus, etc. A ce niveau les รฉvรจnements significatifs du point de vue รฉnergรฉtique sont encore plus abstraits. Il sโ€™agit par exemple de lโ€™exรฉcution dโ€™une instruction par un processeur ou dโ€™un MISS sur le cache processeur. Les descriptions comportementales les plus prรฉcises dites ยซ Cycle Accurate ยป modรฉlisent prรฉcisรฉment les caches et diffรฉrents bus du systรจme. Il est possible de simplifier encore plus la description comportementale du systรจme considรฉrรฉ en se passant de la dimension temporelle. Il sโ€™agit du niveau comportemental qui ne dรฉcrit pas les contentions.

SoCLib

SoCLib [2] est une plate-forme de prototypage virtuel permettant la modรฉlisation et la simulation efficace de plate-formes multiprocesseurs ร  espace mรฉmoire partagรฉ. Le coeur de la plate-forme SoCLib est une bibliothรจque de modรจles de simulation pour les composants matรฉriels (IP cores) constituant les briques de base de ces systรจmes. Les modรจles de simulation sont รฉcrits en utilisant le langage SystemC. La plate-forme SoCLib fournit deux types de modรจles de simulation
โ€“ Les modรจles de niveau CABA (Cycle-Accurate and Bit-Accurate) [3], qui permettent une รฉvaluation prรฉcise des performances.
โ€“ Les modรจles de niveau TLM-T (Transaction Level Model with Timing) [4] qui permettent une rรฉduction des temps de simulation au prix dโ€™une lรฉgรจre perte de prรฉcision temporelle.

En plus de cette bibliothรจque, la plate-forme SoCLib fournit des outils logiciels aux concepteurs dโ€™applications embarquรฉes : accรฉlรฉrateurs de simulation, systรจmes dโ€™exploitation embarquรฉs temps rรฉel, outils de configuration, outils de dรฉverminage et outils de qualification des modรจles. Tous les composants matรฉriels disponibles dans SoCLib respectent le protocole de communication VCI [5]. La plate-forme SoCLib possรจde deux caractรฉristiques qui nous intรฉressent particuliรจrement :
โ€“ La plupart des modรจles sont gรฉnรฉriques et il est donc possible dโ€™ajuster diffรฉrents paramรจtres matรฉriels tels que la taille des caches, la capacitรฉ des bancs mรฉmoires, ou bien la latence et le dรฉbit de lโ€™infrastructure de communication. Tous ces paramรจtres jouent ร  la fois sur la performance et la consommation รฉnergรฉtique.
โ€“ Tous les composants matรฉriels disponibles possรจdent un modรจle RTL synthรฉtisable, ce qui permet donc la synthรจse physique sur FPGA, ou sur ASIC.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

1 Introduction
2 Problรฉmatique
2.1 Les Architectures Multiprocesseurs
2.2 Classification des architectures multiprocesseurs
2.2.1 Les architectures ร  mรฉmoire distribuรฉe
2.2.2 Les architectures ร  mรฉmoire partagรฉe
2.3 Consommation รฉnergรฉtique dans les systรจmes manycore
2.4 Contrรดle de la consommation รฉnergรฉtique
2.5 ร‰valuation prรฉcoce de la consommation รฉnergรฉtique
2.6 SoCLib
2.7 Le projet TSAR
2.8 Conclusion
3 ร‰tat de lโ€™art
3.1 Les diffรฉrentes approches dโ€™estimation de la consommation des systรจmes embarquรฉs
3.2 Estimation de la consommation bas niveau
3.2.1 Estimation de la consommation au niveau transistor
3.2.2 Estimation de la consommation au niveau portes logiques
3.2.3 Estimation de la consommation au niveau RTL (Register Transfer Level)
3.2.4 Conclusion
3.3 Estimation haut niveau
3.3.1 WATTCH
3.3.2 AVALANCHE
3.3.3 PowerViP
3.3.4 MCPAT
3.3.5 HSL (Hybrid System Level Power Consumption Estimation)
3.4 Conclusion
4 EDPE : Mรฉthode dโ€™estimation prรฉcoce de la consommation des architectures MPSoCs
4.1 EDPE : Principe
4.2 Plate-forme dโ€™รฉtude
4.2.1 Le processeur : MIPS32
4.2.2 Le cache : XCache
4.2.3 Lโ€™Interconnect : Ring
4.2.4 La mรฉmoire : VCI-Simple-RAM
4.3 Les modรจles de consommation
4.3.1 Le modรจle du processeur
4.3.2 Le modรจle du Cache
4.3.3 Le modรจle du Bus
4.3.4 Le modรจle des mรฉmoires : RAM/ROM
4.3.5 Le modรจle รฉnergรฉtique de la plate-forme
4.4 Instrumentation de la plate-forme
4.5 Mesure de la puissance consommรฉe
4.5.1 Mesures physiques sur FPGA
4.5.2 Mesure de la consommation avec PowerPlay
4.5.3 Comparaison entre les deux mรฉthodes
4.6 Les Modes de fonctionnement
4.6.1 Mode 0 : STATIC
4.6.2 Mode 1 : DCACHE-RING-RAM
4.6.3 Mode 2 : PROC-ICACHE
4.6.4 Mode 3 : RING-ROM
4.6.5 Mode 4 : ICACHE-RAM
4.6.6 Mode 6 : DCACHE
4.6.7 Mode 7 : RAM-READ
4.6.8 Mode 8 : DCACHE-RAM-WRITE
4.6.9 Mode 9 : RAM-WRITE
4.6.10 Mode 10 : DCACHE-RAM-READ-AND-WRITE
4.6.11 Mode 11 : PROC-STUTTER
4.7 Conclusion
5 Conclusion

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *