Introduction au parallélisme et aux architectures parallèles
Résumé
Jusqu’au début des années 2000, le parallélisme était réservé aux serveurs et
aux superordinateurs. Il est maintenant utilisé dans la grande majorité des architectures,
des systèmes embarqués aux superordinateurs. Les monoprocesseurs sont remplacés
par des processeurs multi-cœurs. Cet article introduit la notion de parallélisme et ses
différents types. Il présente les grandes classes d’architectures parallèles avec leurs
ressources et leurs organisations mémoire, en distinguant les architectures homogènes et
hétérogènes. Les principes des techniques de programmation sont introduits avec les
extensions parallèles des langages de programmation couramment utilisés et les modèles
de programmation qui visent à rapprocher la programmation parallèle de la
programmation séquentielle, tout en prenant en compte les spécificités des architectures.
Enfin, l’intérêt des architectures parallèles réside dans les performances qu’elles permettent d’atteindre. Il est nécessaire de modéliser d’une part le parallélisme existant dans une application et d’autre part les architectures parallèles. Nous examinons donc les métriques utilisées pour évaluer ou prévoir les performances et les grandes lois qui les gouvernent.