SlideShare a Scribd company logo
1 of 22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Kalray MPPA :
L’architecture d’un processeur massivement
multicœur
Baptiste Roux
IRISA, Enssat, 22300 Lannion, France
baptiste.roux@inria.fr
mars, 2015
B. Roux Architecture Kalray 1/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Contexte de ma th`ese
Sujet
Exploration architecturale d’une radio flexible et faible
consommation pour la communication avec les drones
Objectifs
Mesurer les performances des cibles de type massivement
multicœur pour des applications radio-logicielle
L’´etude est bas´ee sur le standard DVB-S2 utilis´e par la DGA
pour la communication avec ses drones
B. Roux Architecture Kalray 2/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
La soci´et´e kalray2
Objectifs
Cr´eer une technologie programmable haute performance appel´ee
MPPA1 destin´ee au march´e de l’informatique embarqu´ee
Cr´eation en 2008
Localis´ee `a Paris et Grenoble
Plus de 55 employ´es (sept 2012)
1
Multi-Purpose Processor Array
2
Le contenu du support est extrait des pr´esentations Kalray
B. Roux Architecture Kalray 3/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Applications vis´ees
Kalray vise les domaines d’applications suivants :
B. Roux Architecture Kalray 4/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Roadmap 2012
Kalray ´etend sa gamme de produit selon deux axes
Augmentation de la puissance de calcul
Diminution de la consommation
Figure 1: Roadmap envisag´ee par Kalray en 2012
B. Roux Architecture Kalray 5/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Roadmap 2015
Figure 2: Roadmap actualis´ee en f´evrier 2015
B. Roux Architecture Kalray 6/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
L’architecture MPPA en bref
Processeur Kalray MPPA-256
256 cœurs VLIW 3 d´edi´es au calcul + 32 cœurs VLIW d´edi´es `a la
gestion des ressources
Hautes performances de calcul
700GOPS-230GFLOPS SP4
Faible consommation
5W-10W
Mod´ele de programmation de haut
niveau
PCIe Gen3, Ethernet 10G, NoCX 53
Very Long Instruction Word
4
Giga Floating point Operations Per Second Simple Precision
5
Interface d’extension du NoC
B. Roux Architecture Kalray 7/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Vue hierarchique du MPPA-256
Coeur VLIW Cluster de calcul Processeur MPPA
Parall´elisme de
niveau instructions
Parall´elisme de
niveau threads
Parall´elisme de
niveau processus
B. Roux Architecture Kalray 8/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
D´etails sur les cœurs VLIWs
Figure 3: Architecture
VLIW 5 voies.
Chemin de donn´ees
2 Arithmetic-logic Unit
Multiply-Accumulate Unit
Floating-Point Unit
Load-Store Unit
Branch-Control Unit
D´eterminisme et consommation
Caches LRU
Pipeline d’instructions `a 7
´etages, 400MHz
Modes Idle et wake-up sur
interruptions
B. Roux Architecture Kalray 9/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
D´etails sur les clusters
Figure 4: Sch´ema d’un
cluster.
Bancs m´emoire
M´emoires multi-bancs
parall`eles
38,4GB/s de bande passante
`a 400MHz
Fiabilit´e
ECC dans la m´emoire
partag´ee
Parity check dans les caches
Extinction des ´el´ement fautifs
Faible consommation
Mode faible consommation
des bancs m´emoire
DVFS
B. Roux Architecture Kalray 10/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Architecture m´emoire
Figure 5: Sch´ema du
r´eseau sur puces
20 espaces d’adresses
16 dans les clusters de calcul
4 dans les clusters d’IO avec
acc`es direct `a la m´emoire
externe (DDR)
Double r´eseau sur puce (NoC)
R´eseau de donn´ees et r´eseau
de contrˆole
Liens full duplex 4octets/cycle
Transfert mono-point et
multi-points
Qualit´e de service
Contrˆole et routage des flots
de communication par la
source
Synchronisation automatique
B. Roux Architecture Kalray 11/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Interfaces d’entr´ee/Sortie
Figure 6: Sch´ema des
interfaces du MPPA
Interfaces m´emoire DDR3
Ports PCI express Gen3
Interfaces SPI/I2C/UART
Interfaces ethernet 1G/10G/40G
GPIOs avec acc`es direct au NoC
Extension du r´eseau sur puce
B. Roux Architecture Kalray 12/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Mod`eles de programmation
Programmation Dataflow
Mod`ele de programmation haut niveau bas´e sur le langage Σc. Les
applications sont d´ecrites par un graphe d’agents.
Destin´e aux applications statiques de types flots de donn´ees
Phase de compilation automatique ciblant la plateforme d’ex´ecution
Compilation statique de l’application permettant une meilleure
stabilit´e
Programmation POSIX
Programmation de bas niveau. Le parall´elisme de l’application est
d´ecrit par des processus/threads POSIX.
Convient `a un large spectre d’applications ”dynamiques”
N´ecessite une connaissance approfondie de l’architecture
Meilleur contrˆole des m´ecanismes de bas niveaux
B. Roux Architecture Kalray 13/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Programmation dataflow
Un agent est d´efini par des interfaces et une suite de transitions
Figure 7: Caract´eristiques d’un agent.
B. Roux Architecture Kalray 14/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Sch´ema d’ex´ecution d’une application Dataflow
B. Roux Architecture Kalray 15/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Simulation d’ex´ecution d’une application Dataflow
B. Roux Architecture Kalray 16/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Programmation POSIX
Approche bas´ee sur la norme POSIX
Un processus par cluster
Plusieurs threads dans un cluster
16+1 cœurs partagent le mˆeme espace m´emoire
Utilisation de primitives pour la cr´eation et la synchronisation
(pthread create, Sem wait, Sem post, ...)
Les communications inter-cluster s’effectuent via des appels
explicites `a des primitives syst`emes
Deux types de syst´emes d’exploitation s’ex´ecutent
Rtems : dans les clusters d’Entr´ee/Sortie
NodeOs : dans les clusters de calcul
B. Roux Architecture Kalray 17/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Sch´ema d’ex´ecution d’une application POSIX
B. Roux Architecture Kalray 18/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Comparatif
Dataflow POSIX
Graphe statique d’agents Programmation dynamique
par threads
Empreinte m´emoire calcul´ee
lors de la compilation
Allocation dynamique de
m´emoire
Pas d’interblocage, coh´erence
de cache, temps ´execution
maximum, d´eterminisme
Laiss´e `a la responsabilit´e du
d´eveloppeur
Placement des taches automa-
tique
Placement manuel
Calcul automatique de la taille
des buffers de comunications
Dimensionnement manuel des
buffers d’´echanges
B. Roux Architecture Kalray 19/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Outils propos´es
Kalray fournit une suite d’outils permettant l’instrumentation et le
debug d’applications :
k1-dtv : outils de visualisation des traces d’ex´ecution du
programme d´esassembl´e
k1-gdb : debugger gdb adapt´e au processeur kalray
k1-stv : outils de visualisation des points de trace ins´er´e par
l’utilisateur (bas´e sur lttng)
k1-power : outils de mesure de la consommation du
processeur MPPA.
B. Roux Architecture Kalray 20/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Comparatif de quelques technologies multicœur
Coeurs GFLOPS
SP
Conso Temps
r´eel
DDR Ethernet
Intel
XeonPhi
52 x86 2147 300W No GDDR5
1866
No
Tilera
TileGx
72 80 60W No 4DDR3
1600
8x10G
NVIDIA
Tegra4
4 A15
72 SC
45
75
8W No 2DDR3
1866
1G
TI key-
stonell
4 A15
8 C66x
45
154
25W Yes 2DDR3
1600
10G
Kalray
MPPA
288 K1 230 10W Yes 2DDR3
1600
8x10G
B. Roux Architecture Kalray 21/22
Introduction Architecture MPPA Mod`eles de programmation Conclusion
Prochaines ´etapes
Objectif
D´eterminer l’influence de l’expression du parall´elisme sur la
consommation de l’application
Utilisation du jeux de benchmarks PARSEC6
Proc´edure envisag´ee
Portage ”naif” des benchmarks sur le MPPA
Mise en place d’une approche de programmation streamming
Adaptation du code `a l’architecture des VLIWs
Modification du nombre de cœurs utilis´es et mise en place du
DVFS dans les clusters
Ces r´esultats pourront ˆetre r´eutilis´es avec le DVB-S2
6
Princeton Application Repository for Shared-Memory Computers
B. Roux Architecture Kalray 22/22

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Pr architecture kalray

  • 1. Introduction Architecture MPPA Mod`eles de programmation Conclusion Kalray MPPA : L’architecture d’un processeur massivement multicœur Baptiste Roux IRISA, Enssat, 22300 Lannion, France baptiste.roux@inria.fr mars, 2015 B. Roux Architecture Kalray 1/22
  • 2. Introduction Architecture MPPA Mod`eles de programmation Conclusion Contexte de ma th`ese Sujet Exploration architecturale d’une radio flexible et faible consommation pour la communication avec les drones Objectifs Mesurer les performances des cibles de type massivement multicœur pour des applications radio-logicielle L’´etude est bas´ee sur le standard DVB-S2 utilis´e par la DGA pour la communication avec ses drones B. Roux Architecture Kalray 2/22
  • 3. Introduction Architecture MPPA Mod`eles de programmation Conclusion La soci´et´e kalray2 Objectifs Cr´eer une technologie programmable haute performance appel´ee MPPA1 destin´ee au march´e de l’informatique embarqu´ee Cr´eation en 2008 Localis´ee `a Paris et Grenoble Plus de 55 employ´es (sept 2012) 1 Multi-Purpose Processor Array 2 Le contenu du support est extrait des pr´esentations Kalray B. Roux Architecture Kalray 3/22
  • 4. Introduction Architecture MPPA Mod`eles de programmation Conclusion Applications vis´ees Kalray vise les domaines d’applications suivants : B. Roux Architecture Kalray 4/22
  • 5. Introduction Architecture MPPA Mod`eles de programmation Conclusion Roadmap 2012 Kalray ´etend sa gamme de produit selon deux axes Augmentation de la puissance de calcul Diminution de la consommation Figure 1: Roadmap envisag´ee par Kalray en 2012 B. Roux Architecture Kalray 5/22
  • 6. Introduction Architecture MPPA Mod`eles de programmation Conclusion Roadmap 2015 Figure 2: Roadmap actualis´ee en f´evrier 2015 B. Roux Architecture Kalray 6/22
  • 7. Introduction Architecture MPPA Mod`eles de programmation Conclusion L’architecture MPPA en bref Processeur Kalray MPPA-256 256 cœurs VLIW 3 d´edi´es au calcul + 32 cœurs VLIW d´edi´es `a la gestion des ressources Hautes performances de calcul 700GOPS-230GFLOPS SP4 Faible consommation 5W-10W Mod´ele de programmation de haut niveau PCIe Gen3, Ethernet 10G, NoCX 53 Very Long Instruction Word 4 Giga Floating point Operations Per Second Simple Precision 5 Interface d’extension du NoC B. Roux Architecture Kalray 7/22
  • 8. Introduction Architecture MPPA Mod`eles de programmation Conclusion Vue hierarchique du MPPA-256 Coeur VLIW Cluster de calcul Processeur MPPA Parall´elisme de niveau instructions Parall´elisme de niveau threads Parall´elisme de niveau processus B. Roux Architecture Kalray 8/22
  • 9. Introduction Architecture MPPA Mod`eles de programmation Conclusion D´etails sur les cœurs VLIWs Figure 3: Architecture VLIW 5 voies. Chemin de donn´ees 2 Arithmetic-logic Unit Multiply-Accumulate Unit Floating-Point Unit Load-Store Unit Branch-Control Unit D´eterminisme et consommation Caches LRU Pipeline d’instructions `a 7 ´etages, 400MHz Modes Idle et wake-up sur interruptions B. Roux Architecture Kalray 9/22
  • 10. Introduction Architecture MPPA Mod`eles de programmation Conclusion D´etails sur les clusters Figure 4: Sch´ema d’un cluster. Bancs m´emoire M´emoires multi-bancs parall`eles 38,4GB/s de bande passante `a 400MHz Fiabilit´e ECC dans la m´emoire partag´ee Parity check dans les caches Extinction des ´el´ement fautifs Faible consommation Mode faible consommation des bancs m´emoire DVFS B. Roux Architecture Kalray 10/22
  • 11. Introduction Architecture MPPA Mod`eles de programmation Conclusion Architecture m´emoire Figure 5: Sch´ema du r´eseau sur puces 20 espaces d’adresses 16 dans les clusters de calcul 4 dans les clusters d’IO avec acc`es direct `a la m´emoire externe (DDR) Double r´eseau sur puce (NoC) R´eseau de donn´ees et r´eseau de contrˆole Liens full duplex 4octets/cycle Transfert mono-point et multi-points Qualit´e de service Contrˆole et routage des flots de communication par la source Synchronisation automatique B. Roux Architecture Kalray 11/22
  • 12. Introduction Architecture MPPA Mod`eles de programmation Conclusion Interfaces d’entr´ee/Sortie Figure 6: Sch´ema des interfaces du MPPA Interfaces m´emoire DDR3 Ports PCI express Gen3 Interfaces SPI/I2C/UART Interfaces ethernet 1G/10G/40G GPIOs avec acc`es direct au NoC Extension du r´eseau sur puce B. Roux Architecture Kalray 12/22
  • 13. Introduction Architecture MPPA Mod`eles de programmation Conclusion Mod`eles de programmation Programmation Dataflow Mod`ele de programmation haut niveau bas´e sur le langage Σc. Les applications sont d´ecrites par un graphe d’agents. Destin´e aux applications statiques de types flots de donn´ees Phase de compilation automatique ciblant la plateforme d’ex´ecution Compilation statique de l’application permettant une meilleure stabilit´e Programmation POSIX Programmation de bas niveau. Le parall´elisme de l’application est d´ecrit par des processus/threads POSIX. Convient `a un large spectre d’applications ”dynamiques” N´ecessite une connaissance approfondie de l’architecture Meilleur contrˆole des m´ecanismes de bas niveaux B. Roux Architecture Kalray 13/22
  • 14. Introduction Architecture MPPA Mod`eles de programmation Conclusion Programmation dataflow Un agent est d´efini par des interfaces et une suite de transitions Figure 7: Caract´eristiques d’un agent. B. Roux Architecture Kalray 14/22
  • 15. Introduction Architecture MPPA Mod`eles de programmation Conclusion Sch´ema d’ex´ecution d’une application Dataflow B. Roux Architecture Kalray 15/22
  • 16. Introduction Architecture MPPA Mod`eles de programmation Conclusion Simulation d’ex´ecution d’une application Dataflow B. Roux Architecture Kalray 16/22
  • 17. Introduction Architecture MPPA Mod`eles de programmation Conclusion Programmation POSIX Approche bas´ee sur la norme POSIX Un processus par cluster Plusieurs threads dans un cluster 16+1 cœurs partagent le mˆeme espace m´emoire Utilisation de primitives pour la cr´eation et la synchronisation (pthread create, Sem wait, Sem post, ...) Les communications inter-cluster s’effectuent via des appels explicites `a des primitives syst`emes Deux types de syst´emes d’exploitation s’ex´ecutent Rtems : dans les clusters d’Entr´ee/Sortie NodeOs : dans les clusters de calcul B. Roux Architecture Kalray 17/22
  • 18. Introduction Architecture MPPA Mod`eles de programmation Conclusion Sch´ema d’ex´ecution d’une application POSIX B. Roux Architecture Kalray 18/22
  • 19. Introduction Architecture MPPA Mod`eles de programmation Conclusion Comparatif Dataflow POSIX Graphe statique d’agents Programmation dynamique par threads Empreinte m´emoire calcul´ee lors de la compilation Allocation dynamique de m´emoire Pas d’interblocage, coh´erence de cache, temps ´execution maximum, d´eterminisme Laiss´e `a la responsabilit´e du d´eveloppeur Placement des taches automa- tique Placement manuel Calcul automatique de la taille des buffers de comunications Dimensionnement manuel des buffers d’´echanges B. Roux Architecture Kalray 19/22
  • 20. Introduction Architecture MPPA Mod`eles de programmation Conclusion Outils propos´es Kalray fournit une suite d’outils permettant l’instrumentation et le debug d’applications : k1-dtv : outils de visualisation des traces d’ex´ecution du programme d´esassembl´e k1-gdb : debugger gdb adapt´e au processeur kalray k1-stv : outils de visualisation des points de trace ins´er´e par l’utilisateur (bas´e sur lttng) k1-power : outils de mesure de la consommation du processeur MPPA. B. Roux Architecture Kalray 20/22
  • 21. Introduction Architecture MPPA Mod`eles de programmation Conclusion Comparatif de quelques technologies multicœur Coeurs GFLOPS SP Conso Temps r´eel DDR Ethernet Intel XeonPhi 52 x86 2147 300W No GDDR5 1866 No Tilera TileGx 72 80 60W No 4DDR3 1600 8x10G NVIDIA Tegra4 4 A15 72 SC 45 75 8W No 2DDR3 1866 1G TI key- stonell 4 A15 8 C66x 45 154 25W Yes 2DDR3 1600 10G Kalray MPPA 288 K1 230 10W Yes 2DDR3 1600 8x10G B. Roux Architecture Kalray 21/22
  • 22. Introduction Architecture MPPA Mod`eles de programmation Conclusion Prochaines ´etapes Objectif D´eterminer l’influence de l’expression du parall´elisme sur la consommation de l’application Utilisation du jeux de benchmarks PARSEC6 Proc´edure envisag´ee Portage ”naif” des benchmarks sur le MPPA Mise en place d’une approche de programmation streamming Adaptation du code `a l’architecture des VLIWs Modification du nombre de cœurs utilis´es et mise en place du DVFS dans les clusters Ces r´esultats pourront ˆetre r´eutilis´es avec le DVB-S2 6 Princeton Application Repository for Shared-Memory Computers B. Roux Architecture Kalray 22/22