GIF-1001
Cours 22, p.1
Etienne Tremblay
Ordinateurs, Structure
et Applications
GIF-1001
Université Laval, Hiver 2012
Cours 22, Architectures Parallèles
GIF-1001
Cours 22, p.2
Architectures parallèles
Définition:
Ce cours présentent brièvement les architectures parallèles que l’on retrouve dans le
monde des ordinateurs
Une architecture parallèle est définie comme étant l’exécution de deux tâches
différentes en parallèle.
Historique pour ordinateurs de bureau:
Les premiers ordinateurs exécutaient les instructions d’un programme unique en
séquence. Ces ordinateurs ne faisaient pas de traitement parallèle.
Au début des années 1990, l’exécution des instructions d’un programme se fait en
parallèle. Les pipelines d’instructions deviennent un élément de base des ordinateurs
personnels.
Peu après, vers 1993, les microprocesseurs de bureau deviennent superscalaires:
des pipelines d’instructions sont exécutées en parallèle.
Entre 1993 et 2000, l’exploitation du parallélisme entre les instructions d’un
programme est maximisée.
Quand la complexité matérielle requise pour exploiter le parallélisme à l’intérieur d’un
seul programme explose, les designs de microprocesseurs changent: un
microprocesseur exécute des instructions venant de plusieurs processus (2000-2002,
multithreading)
L’exécution parallèle d’instructions provenant de plusieurs programmes conduit à
l’apparition de microprocesseur ayant plusieurs cœurs (2002-aujourd’hui).
GIF-1001
Cours 22, p.3
Architectures parallèles
Introduction:
Les architectures parallèles comprennent aussi l’utilisation de plusieurs
processeurs afin d’accomplir une tâche.
La forme la plus élémentaires de multiprocesseurs est le coprocesseur. Un
circuit intégré effectue des tâches spécialisée pour le processeur principal.
Il est possible de combiner plusieurs microprocesseurs à l’intérieur d’un
ordinateur unique afin de développer une architecture parallèle.
Il est possible de combiner plusieurs ordinateurs et de développer une
architecture parallèle afin d’accomplir une tâche.
Le parallélisme se retrouve à plusieurs niveaux dans les ordinateurs
modernes: un microprocesseur ayant plusieurs cœurs exécutent plusieurs
tâches en parallèle. Chacun des cœurs peut exécuter plusieurs instructions
d’une même tâche simultanément. Ce microprocesseur peut déléguer
certaines de ses tâches aux microprocesseurs de la carte graphique ou
requérir un transfert de donnée par les processeurs d’une carte réseaux qui
effectueront, en parallèle, divers tâches sur le paquet IP transmis. Le
parallélisme se retrouve dans plusieurs aspects de l’ordinateur moderne.
GIF-1001
Cours 22, p.4
Partage des tâches (1/2)
Le concept d’architecture parallèle sous-tend un partage des tâches.
Comme dans tous les systèmes où des tâches sont exécutés par
plusieurs entités, il faut:
Une distribution des tâches.
Dans toute architecture paralle, il existe des mécanismes afin de distribuer
les instructions à exécuter entre les processeurs du système
Un contrôle des dépendance entre les tâches
Dans toute architecture paralle, il existe des mécanismes pour que
l’exécution d’une tâche qui requiert le résultat d’une autre tâche ne
commence que lorsque l’autre tâche a produit son résultat.
Une gestion des fautes et des défaillances
Une évaluation des ressources et un partage des ressources afin
d’accomplir la tâche.
Et plus...
La supervision de l’exécution des tâches en parallèle peut se faire
au niveau matériel ou logiciel ou les deux
Par exemple, du matériel spécialisé permet d’exécuter des instructions
en parallèle dans un microprocesseur.
Par exemple, un logiciel spécialisé permet de répartir les nombreuses
requêtes envoyées à un serveur vers les unités de traitement.
GIF-1001
Cours 22, p.5
Partage des tâches (2/2)
La supervision de l’exécution des tâches en parallèle peut se faire
par un contrôleur central ou par une intelligence distribuée.
Un contrôleur central est plus facile à implémenter, mais moins robuste.
Si le contrôleur est en faute, le système en entier est en faute.
Un contrôleur distribué est plus complexe, mais la redondance est
grande.
Dans un ordinateur, il est possible de partager l’exécution d’un
programme unique ou de partagé l’exécution de plusieurs
programmes
L’exploitation du ILP (Instruction Level Parallelism) est l’exécution en
parallèle des instructions d’un thread unique.
L’exploitation du TLP (Thread Level Parallelism) est l’exécution en
parallèle des instructions de processus ou threads différents.
Habituellement, les instructions d’un thread unique sont exécutées par
un unique processeur.
Il y a des limites intrinsèques au partage de tâches:
Une tâche peut dépendre du résultat d’une autre tâche.
Une tâche contrôle l’exécution d’une autre tâche.
Les ressources disponibles sont insuffisantes pour exécuter les deux
tâches simultanément,
1 / 22 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 !