Le parallélisme
Du superordinateur au processeur graphique
Concept de base :
La simultanéité d’exécution :
Le parallélisme en informatique réfère au concept de diviser un problème à résoudre en
plusieurs morceaux plus petits qu’on peut faire en même temps. Le parallélisme existe à
presque tous les niveaux en informatique : de « bit-level » jusqu’au parallélisme de tâche
dans une fonction. De plus, nous pouvons distinguer les différents types de parallélisme qui
est supporté baser sur le nombre de machines sur lequel on effectue des calculs en
simultanée. D’une machine de bureau bien ordinaire, nous pouvons ensuite passer aux
superordinateurs qui prennent souvent l’espace d’un étage au complet pour ensuite nous
retrouver avec des grilles informatiques ou même un programme massivement parallèle, qui
compte sur des milliers d’ordinateurs à travers la planète pour effectuer des calculs
extrêmement complexes.
Efficience et Limites :
Dans un monde idéal, l’accélération du programme due à la parallélisation devrait être de
façon linéaire c.-à-d. 2 fois plus de processeurs pour une tâche coupent le temps d’exécution
de moitié. Mais malheureusement, peu de programmes peuvent espérer d’être proches
d’atteindre ce niveau de performance. La loi suivante explique en partie ce qui empêche un
programme d’être résolu en 0 seconde s’il avait accès à un nombre infini de processeurs.
Loi d’Amdahl :
La loi d’Amdahl, nommé après l’architecte informatique Gene Amdahl, est un modèle
mathématique servant à décrire l’augmentation de vitesse qui est attendue lorsqu’on essaye
de paralléliser un programme. Cette loi fonctionne sous la supposition que la taille du
problème à résoudre reste pareille même après la parallélisation du programme cible. La loi
stipule que l’accélération d’un programme informatique est limitée par le temps nécessaire à
l’exécution de la partie séquentielle (donc non parallélisable) du programme. Par exemple, si
un programme nécessite 20 heures pour être exécuté avec un processeur à simple cœur et
que la partie séquentielle du programme prend 1 heure à exécuter, et que les 19 heures
restantes sont divisibles pour être ensuite traité en parallèle, alors le temps d’exécution du
programme est de minimum 1 heure et ce, peu importe le nombre de processeurs que l’on
ajoute pour le programme. L’accélération est donc de 20 fois, comme l’indique l’image ci-
dessous :
Cette loi n’est pas une référence absolue pour prévoir l’efficacité de la parallélisation d’un
programme, car elle ne tient pas en compte les autres systèmes complémentaires qui
peuvent contribuer à accélérer les calculs des processeurs existants tels que la RAM ou les
disques durs.
Parallélisme :
De processeur à multiples modules à des processeurs multiples cœurs :
Dans le marché des microprocesseurs, l’amélioration de la performance est arrivée à une
limite vers les années 2000. Les 2 plus grandes corporations de ce domaine, Intel et AMD,
ont alors passé à la prochaine étape logique, qui consiste à introduire des microprocesseurs
à cœur multiples sur le marché des PCs. La route favorisée par les 2 entreprises pour en
arriver là s’est séparée à ce stade.
Pour Intel, avec ses énormes capacités de manufactures, les changements drastiques comme
ceux-ci doivent être échelonnés dans le temps et bien planifier. Ils ont donc commencé par
adapter un produit qui était déjà en production. Le microprocesseur Pentium D est le
premier résultat de cette approche. Il s’agit d’un processeur composé de puces séparées,
joint par la suite pour en faire un processeur à double cœur. En même temps, Intel annule la
microarchitecture qui allait remplacer celle du Pentium 4 puisqu’elle suivait encore l’ancienne
philosophie d’augmentation des performances avec la montée de la fréquence du CPU.
Avec l’introduction de la série Intel Core, le géant américain a mis le premier pas vers le futur
que nous connaissons aujourd’hui.
En ce qui concerne AMD, ils ont pris un chemin différent pour avoir un processeur à 4 cœurs.
Au lieu de livrer un processeur composé de modules séparés, ils ont préféré attendre et
retarder le lancement du nouveau produit. La stratégie n’a pas était très profitable pour
l’entreprise, car le produit final n’a pas était aussi rapide que ceux d’Intel.
Motivations technologiques :
La limite de l’augmentation de la fréquence des CPUs :
Avec la montée graduelle de la quanti d’information à traiter, les processeurs avaient
besoin d’être de plus en plus rapides avec le temps. Mais la physique des matériaux nous
empêche de continuellement faire croitre la fréquence d’exécution d’un processeur, car en
augmentant la fréquence, la consommation électrique augmente aussi, souvent au détriment
de la génération de chaleur qu’il faut alors évacuer. Intel avait avec eux un exemple gênant
de ce phénomène avec le processeur Pentium 4 des années 2000. Les fréquences de cette
série de processeurs, certes élevés, ne servaient pas vraiment à l’accélération des calculs due
à l’architecture de ce processeur. De plus, la technologie de Hyper-Threading avait été
nouvellement introduite comme étant une caractéristique qui révolutionnera le marché des
processeurs en utilisant les cycles inutilisés du processeur. Elle n’a pas eu l’effet escompté et
est même reprochée pour ralentir les logiciels de l’époque puisqu’elles n’étaient pas
optimisées pour profiter de cette nouvelle technologie.
Applications diverses :
Processeur multicoeur/ Technologie Hyper-Threading :
« die shot » d’un CPU moderne (Intel Haswell)
Dans la plupart des ordinateurs personnels récents, le processeur central est composé de
plusieurs cœurs, de 2 à 6, permettant au système d’exploitation d’effectuer les multiples
tâches qui lui seront demandées en simultané. De plus, avec le système de Hyper-Threading
d’Intel, le système d’exploitation reconnait le processeur comme s’il contenait 2 fois le
nombre de cœurs, puisqu’il est capable de communiquer avec 2 cœurs logiques à la fois.
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !