Podcast
Questions and Answers
Quels éléments sont considérés comme les composants principaux d'un calculateur massivement parallèle ?
Quels éléments sont considérés comme les composants principaux d'un calculateur massivement parallèle ?
Quelle classification décrit le système 'SIMD' ?
Quelle classification décrit le système 'SIMD' ?
Quel mode de contrôle nécessite que chaque processeur ait son propre espace d'adressage ?
Quel mode de contrôle nécessite que chaque processeur ait son propre espace d'adressage ?
Quel est le rôle des éléments de traitement dans un calculateur massivement parallèle ?
Quel est le rôle des éléments de traitement dans un calculateur massivement parallèle ?
Signup and view all the answers
Quel est un exemple du fonctionnement en pipeline dans les unités de traitement ?
Quel est un exemple du fonctionnement en pipeline dans les unités de traitement ?
Signup and view all the answers
Quelle classification remplace le flux de données par le flux d'exécution selon Kuck ?
Quelle classification remplace le flux de données par le flux d'exécution selon Kuck ?
Signup and view all the answers
Quel aspect de l'organisation de la mémoire garantit un temps d'accès presque indépendant du processeur ?
Quel aspect de l'organisation de la mémoire garantit un temps d'accès presque indépendant du processeur ?
Signup and view all the answers
Quelle architecture permet de traiter plusieurs instructions et plusieurs flux de données simultanément ?
Quelle architecture permet de traiter plusieurs instructions et plusieurs flux de données simultanément ?
Signup and view all the answers
Quel est le principal inconvénient des architectures SIMD ?
Quel est le principal inconvénient des architectures SIMD ?
Signup and view all the answers
Quelle caractéristique décrit le mieux les architectures MIMD avec mémoire partagée ?
Quelle caractéristique décrit le mieux les architectures MIMD avec mémoire partagée ?
Signup and view all the answers
Quel type de réseau est associé à une architecture de mémoire distribuée ?
Quel type de réseau est associé à une architecture de mémoire distribuée ?
Signup and view all the answers
Comment est décrite la courbe de performance SIMD typique ?
Comment est décrite la courbe de performance SIMD typique ?
Signup and view all the answers
Quel diagramme représente un réseau de communication entre éléments de traitement avec mémoire locale ?
Quel diagramme représente un réseau de communication entre éléments de traitement avec mémoire locale ?
Signup and view all the answers
Quel est un des avantages des architectures MIMD avec mémoire distribuée ?
Quel est un des avantages des architectures MIMD avec mémoire distribuée ?
Signup and view all the answers
Quelle est l'une des caractéristiques d'un réseau en grille 2D ?
Quelle est l'une des caractéristiques d'un réseau en grille 2D ?
Signup and view all the answers
Quel est un des avantages des architectures SIMD en général ?
Quel est un des avantages des architectures SIMD en général ?
Signup and view all the answers
Quel est un élément caractéristique d'une machine vectorielle ?
Quel est un élément caractéristique d'une machine vectorielle ?
Signup and view all the answers
Quelle est la définition d'un vecteur ?
Quelle est la définition d'un vecteur ?
Signup and view all the answers
Qu'est-ce qu'une opération réduction en contexte vectoriel ?
Qu'est-ce qu'une opération réduction en contexte vectoriel ?
Signup and view all the answers
Dans quel exemple les vecteurs peuvent-ils être combinés ?
Dans quel exemple les vecteurs peuvent-ils être combinés ?
Signup and view all the answers
Quelle est la notation pour un vecteur conforme à la définition ?
Quelle est la notation pour un vecteur conforme à la définition ?
Signup and view all the answers
Quelle opération est considérée comme une opération de réduction ?
Quelle opération est considérée comme une opération de réduction ?
Signup and view all the answers
Quelles units sont impliquées dans une machine vectorielle typique ?
Quelles units sont impliquées dans une machine vectorielle typique ?
Signup and view all the answers
Quel type d'opérations est effectué avec les vecteurs ?
Quel type d'opérations est effectué avec les vecteurs ?
Signup and view all the answers
Quel est le rôle du temps de démarrage ($α$) dans le calcul du temps d'exécution $T(n)$?
Quel est le rôle du temps de démarrage ($α$) dans le calcul du temps d'exécution $T(n)$?
Signup and view all the answers
Quelle est la formule correcte pour calculer la vitesse d'exécution $V(n)$?
Quelle est la formule correcte pour calculer la vitesse d'exécution $V(n)$?
Signup and view all the answers
Quel est le lien entre $r_{∞}$ et le temps de cycle ($τ$)?
Quel est le lien entre $r_{∞}$ et le temps de cycle ($τ$)?
Signup and view all the answers
Quelle est la capacité de la mémoire de l'Inmos T800 ?
Quelle est la capacité de la mémoire de l'Inmos T800 ?
Signup and view all the answers
Qu'est-ce que l'architecture SIMD permet de réaliser?
Qu'est-ce que l'architecture SIMD permet de réaliser?
Signup and view all the answers
Quel est un des inconvénients des traitements parallèles dans le Transputer ?
Quel est un des inconvénients des traitements parallèles dans le Transputer ?
Signup and view all the answers
Quelle formule représente le speedup d'un algorithme ?
Quelle formule représente le speedup d'un algorithme ?
Signup and view all the answers
Dans le contexte des machines SIMD, que sont les éléments de traitement (PE)?
Dans le contexte des machines SIMD, que sont les éléments de traitement (PE)?
Signup and view all the answers
Quel est l'effet de l'utilisation d'un bit d'inhibition dans une boucle?
Quel est l'effet de l'utilisation d'un bit d'inhibition dans une boucle?
Signup and view all the answers
Quelle est la durée maximale d'un traitement impliquant q processeurs, selon le résultat général pour une machine parallèle parfaite ?
Quelle est la durée maximale d'un traitement impliquant q processeurs, selon le résultat général pour une machine parallèle parfaite ?
Signup and view all the answers
Quel est l'impact du parallélisme sur les unités fonctionnelles?
Quel est l'impact du parallélisme sur les unités fonctionnelles?
Signup and view all the answers
Comment décrire le concept d'efficacité d'un algorithme ?
Comment décrire le concept d'efficacité d'un algorithme ?
Signup and view all the answers
Quel est le rôle de l'unité de traitement flottante dans l'Inmos T800 ?
Quel est le rôle de l'unité de traitement flottante dans l'Inmos T800 ?
Signup and view all the answers
La formule $T(n) = 1/r_{∞}(n + n_{1/2})$ sert à calculer quoi?
La formule $T(n) = 1/r_{∞}(n + n_{1/2})$ sert à calculer quoi?
Signup and view all the answers
Quel facteur n'est pas pris en compte pour les métriques de complexité des algorithmes parallèles ?
Quel facteur n'est pas pris en compte pour les métriques de complexité des algorithmes parallèles ?
Signup and view all the answers
Quel est le temps requis par un algorithme sur $p$ processeurs pour effectuer une tâche C appelée $T_{p}(A)$ ?
Quel est le temps requis par un algorithme sur $p$ processeurs pour effectuer une tâche C appelée $T_{p}(A)$ ?
Signup and view all the answers
A[1; N; 2] = B[3; N; 1] + d C[5; N; 3] se traduit par quelle équation ?
A[1; N; 2] = B[3; N; 1] + d C[5; N; 3] se traduit par quelle équation ?
Signup and view all the answers
Quel est le rôle du masque VM dans les opérations vectorielles ?
Quel est le rôle du masque VM dans les opérations vectorielles ?
Signup and view all the answers
L'instruction c = SUM(A[1; N; 2]) initialise c à quelle valeur ?
L'instruction c = SUM(A[1; N; 2]) initialise c à quelle valeur ?
Signup and view all the answers
Comment les opérations vectorielles sont-elles exécutées lorsqu'un masque est utilisé ?
Comment les opérations vectorielles sont-elles exécutées lorsqu'un masque est utilisé ?
Signup and view all the answers
Quel est l'effet du traitement des branches conditionnelles dans une boucle avec le masque ?
Quel est l'effet du traitement des branches conditionnelles dans une boucle avec le masque ?
Signup and view all the answers
Quelle est la bonne description de l'exécution des instructions vectorielles en séquence ?
Quelle est la bonne description de l'exécution des instructions vectorielles en séquence ?
Signup and view all the answers
Le comportement d'un vecteur de masque indique que si VM(i) = 1, alors que se passe-t-il ?
Le comportement d'un vecteur de masque indique que si VM(i) = 1, alors que se passe-t-il ?
Signup and view all the answers
Quel est le principal avantage d'utiliser des instructions vectorielles avec un masque ?
Quel est le principal avantage d'utiliser des instructions vectorielles avec un masque ?
Signup and view all the answers
Study Notes
Architectures de calculateurs massivément parallèles
- Différents types d'architectures sont étudiés: SIMD/MIMD
- Les calculateurs massivément parallèles ont trois composants de base : processeur, réseau d'interconnexion et mémoire.
Structure générale d'un calculateur (massivément) parallèle
- La mémoire contient des données et des instructions
- Le réseau d'interconnexion relie les processeurs et la mémoire.
- Les processeurs (PE) sont interconnectés pour le traitement parallèle des données.
Plan de l'étude
- L'introduction est incluse dans le plan
- Le principe des architectures SIMD/MIMD est abordé
- Un processeur élémentaire est expliqué
- Le rôle du réseau d'interconnexion est détaillé
- L'organisation de la mémoire est décrite
- Quelques exemples de machines sont présentés
Classification (1)
- La classification de Flynn est une approche de base pour les architectures SIMD/MIMD.
- SISD : Un seul flux d'instruction, un seul flux de données
- SIMD : Un seul flux d'instruction, multiple flux de données
- MIMD : Multiple flux d'instruction, multiple flux de données
Organisation de la mémoire
- La mémoire partagée partage un espace d'adressage unique par tous les processeurs
- La mémoire distribuée : Chaque processeur possède sa propre mémoire.
Pipelines
- Une opération dans une unité fonctionnelle est divisée en plusieurs étapes élémentaires.
- L'exemple donné est l'additionneur flottant (4 étapes).
- Le pipeline est applicable aux opérations flottantes, aux opérations de lecture/écriture mémoire, et à l'unité de contrôle.
- Des tableaux illustrent la séquence d'exécution dans un pipeline.
Pipelines (suite)
- Le temps de traversée de l'étage
i
du pipeline est notéTi
- Le temps d'exécution d'une séquence de
n
opérations notéT(n)
-
T(n)
= temps de startup (α) + nombre d'étapes (η) x temps par étape (τ)
-
- La vitesse d'exécution
V(n)
est donnée par :V(n) = n / T(n) = n / (α + ητ)
Parallélisme entre unités fonctionnelles
- Plusieurs unités fonctionnelles peuvent exécuter différentes instructions en parallèle.
- Les exemples incluent additionneur, multiplieur, unité lecture/écriture mémoire.
- Le parallélisme est applicable avec des unités de pipeline.
Machines SIMD
- Chaque instruction est diffusée à tous les processeurs.
- Chaque processeur exécute l'instruction ou reste inactif (bit d'inhibition).
- Structure mémoire en bancs indépendants
- Le réseau d'interconnexion est un permuteur synchrone.
Machines SIMD (suite)
- Les vecteurs sont divisés en tranches de P éléments au plus.
- L'algorithme
DO i = 1, n
c(i) = a(i) + b(i)
est une illustration. - Des diagrammes/exemples de l'implantation des données dans les bancs mémoire illustrent les conflits de bancs.
Machines SIMD (suite)
- Des exemples d'implantations mémoire différentes sont données.
- L'implantation des données dans les mémoires pose le problème des conflits de bancs.
- Le réseau d'interconnexion devient crucial pour réaliser le parallélisme.
Machines SIMD (suite)
- Les performances des machines SIMD sont en plateau.
Variante à mémoire locale
- Il n'y a pas de différence fondamentale avec le cas mémoire commune.
- Le nombre de processeurs est égal (ou peut être différent) au nombre de bancs mémoire.
- Se préter mieux à l'intégragion.
- Nécessité de faire transiter les données par la mémoire locale.
Premier bilan des machines SIMD
- Les avantages incluent une architecture simple, répétitive, modulaire, les processeurs élémentaires simples et le fonctionnement synchrone.
- Les inconvénients incluent les possibilités de parallélisme trop réduites et une architecture spécialisée.
Architectures MIMD mémoire commune
- Les processeurs sont autonomes et s'assurent de leur synchronisation.
- Un espace d'adressage unique est utilisé.
- Le réseau d'interconnexion fonctionne comme un commutateur téléphonique.
- Le mouvement explicite des données entre processeurs n'est pas nécessaire.
Machines MIMD à mémoire distribuée
- Les processeurs et la mémoire sont autonomes.
- L'espace d'adressage est distribué, limité au banc mémoire associé.
- Le réseau fonctionne par échanges de messages.
- Le mouvement explicite des données est nécessaire entre les processeurs.
Topologies des machines à mémoire distribuée
- Machines à mémoire distribuée peuvent avoir des topologies de grille 2D, 3D ou tore
- L'hypercube est une autre topologie possible
- Les liens de communication sont explicités pour chacune des topologies
Premier bilan : machine MIMD à mémoire partagée
- Les avantages incluent une programmation simple et l'absence de migrations inutiles des données.
- Les inconvénients incluent la difficulté de la réalisation et les performances du réseau qui impactent la performance globale.
Premier bilan : machine MIMD à mémoire distribuée
- Les avantages incluent la facilité d'extension et les bonnes performances mémoire.
- Les inconvénients incluent une programmation qui gère les communications entre processeurs, les problèmes de performances en accès mémoire non locaux.
- Une tendance est de fournir un espace d'adressage unique au programmeur.
Processeurs élémentaires (machines SIMD)
- Les processeurs spécialisés sont possibles sans séquenceur complet.
- Exemples : processeurs 1 bit (DAP, Connection Machine 1 & 2), processeurs 4 bits (Maspar), couplage avec des opérateurs flottants (CM2).
Processeurs élémentaires (machines MIMD)
- Les microprocesseurs standards peuvent être utilisés (peu de contraintes).
- Nécessité de synchronisations et de gestion des communications.
- Le processeur peut assurer le routage des données.
- Les exemples incluent le transputer (solution partielle).
Algorithmique parallèle
- L'impact du parallélisme sur les performances est variable et dépendant de l'application.
- Nouvelles mesures de complexité sont introduites : longueur de vecteurs, largeur du parallélisme et volume de communication.
Algorithmique parallèle (suite)
- Définitions des notions de
T₁
,Tp(A)
,Speedup Sp(A)
etEfficiency Ep(A)
sont données - Les propriétés
Sp(A) ≤ p
etEp(A) ≤ 1
sont présentées
Un résultat général sur la machine parallèle
Propriété des vecteurs
Machines vectorielles
- Les machines vectorielles incluent des unités scalaires et des unités vectorielles.
- Elles permettent le traitement de données scalaires et vectorielles.
- L'exemple de la machine CRAY est cité comme exemple d'unité matérielle capable d'opérer sur des scalaires et des vecteurs.
Opérations vectorielles
- Les opérations vectorielles étendent les opérations arithmétiques classiques aux opérations sur les vecteurs.
- Des exemples d'opérations vectorielles composantes à composante et de réduction sont donnés.
Exemples
- Des exemples de manipulation de vecteurs et d'instructions vectorielles sont détaillés.
Vue logicielle des opérations vectorielles
- La vue logicielle des opérations vectorielles décompose l'exécution en phases de chargement, d'opérations synchrones, de rangement et d'exécution séquentielle.
Exemple
- L'exemple montre une boucle dont la formulation vectorielle est équivalente
- L'importance du masque pour les opérations conditionnelles est soulignée.
Intérêt de la notion de masque
- Les branchements conditionnels peuvent être traités efficacement à l'aide de masques.
- Un exemple montre comment un code avec branchements
IF
peut être transformé en opérations vectorielles utilisant un masque.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Ce quiz explore les différentes architectures de calculateurs massivement parallèles, en mettant l'accent sur les types SIMD et MIMD. Vous étudierez les composants clés tels que les processeurs, le réseau d'interconnexion et la mémoire. À travers des exemples concrets, vous découvrirez comment ces architectures améliorent le traitement des données en parallèle.