Architectures SIMD/MIMD pour calculateurs parallèles
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quels éléments sont considérés comme les composants principaux d'un calculateur massivement parallèle ?

  • Processeur, mémoire, carte graphique
  • Disque dur, mémoire, éléments de traitement
  • Unité de contrôle, mémoire, réseau d'interconnexion
  • Mémoire, réseau d'interconnexion, éléments de traitement (correct)
  • Quelle classification décrit le système 'SIMD' ?

  • Flux d'instructions multiples et flux de données uniques
  • Flux d'instructions et flux de données uniques
  • Flux d'instructions uniques et flux de données multiples (correct)
  • Flux d'instructions multiples et flux de données multiples
  • Quel mode de contrôle nécessite que chaque processeur ait son propre espace d'adressage ?

  • Mémoire partagée
  • Mémoire distribuée (correct)
  • Contrôle centralisé
  • Réseau circulaire
  • Quel est le rôle des éléments de traitement dans un calculateur massivement parallèle ?

    <p>Exécuter des instructions sur des données</p> Signup and view all the answers

    Quel est un exemple du fonctionnement en pipeline dans les unités de traitement ?

    <p>Alignement de mantisse</p> Signup and view all the answers

    Quelle classification remplace le flux de données par le flux d'exécution selon Kuck ?

    <p>Flux d'exécution</p> 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 ?

    <p>Mémoire partagée</p> Signup and view all the answers

    Quelle architecture permet de traiter plusieurs instructions et plusieurs flux de données simultanément ?

    <p>MIMD</p> Signup and view all the answers

    Quel est le principal inconvénient des architectures SIMD ?

    <p>Parallélisme limité et rigide</p> Signup and view all the answers

    Quelle caractéristique décrit le mieux les architectures MIMD avec mémoire partagée ?

    <p>Les processeurs partagent un espace d'adresse uniforme</p> Signup and view all the answers

    Quel type de réseau est associé à une architecture de mémoire distribuée ?

    <p>Réseau en hypercube 3D</p> Signup and view all the answers

    Comment est décrite la courbe de performance SIMD typique ?

    <p>Une augmentation avec un plateau final</p> Signup and view all the answers

    Quel diagramme représente un réseau de communication entre éléments de traitement avec mémoire locale ?

    <p>Réseau d'interconnexion entre PE et mémoire locale</p> Signup and view all the answers

    Quel est un des avantages des architectures MIMD avec mémoire distribuée ?

    <p>Espace d'adresse distribué lié à chaque banque de mémoire</p> Signup and view all the answers

    Quelle est l'une des caractéristiques d'un réseau en grille 2D ?

    <p>Capacité d'extension en grille 3D ou torus</p> Signup and view all the answers

    Quel est un des avantages des architectures SIMD en général ?

    <p>Modèle de programmation simple basé sur la manipulation de vecteurs</p> Signup and view all the answers

    Quel est un élément caractéristique d'une machine vectorielle ?

    <p>Possède un ensemble d'instructions pouvant opérer sur des scalaires et des vecteurs.</p> Signup and view all the answers

    Quelle est la définition d'un vecteur ?

    <p>Une série d'adresses avec un pas et une longueur définis.</p> Signup and view all the answers

    Qu'est-ce qu'une opération réduction en contexte vectoriel ?

    <p>Une opération qui exécute une combinaison d'éléments de deux vecteurs.</p> Signup and view all the answers

    Dans quel exemple les vecteurs peuvent-ils être combinés ?

    <p>Lorsque les vecteurs sont de la même longueur.</p> Signup and view all the answers

    Quelle est la notation pour un vecteur conforme à la définition ?

    <p>A[i; N; R]</p> Signup and view all the answers

    Quelle opération est considérée comme une opération de réduction ?

    <p>VECM1 op VECM2 = scal.</p> Signup and view all the answers

    Quelles units sont impliquées dans une machine vectorielle typique ?

    <p>Unités scalaires et vectorielles.</p> Signup and view all the answers

    Quel type d'opérations est effectué avec les vecteurs ?

    <p>Des opérations arithmétiques et logiques avec au moins un vecteur.</p> 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)$?

    <p>Il s'ajoute au temps d'exécution total.</p> Signup and view all the answers

    Quelle est la formule correcte pour calculer la vitesse d'exécution $V(n)$?

    <p>$V(n) = n/(α + ητ)$</p> Signup and view all the answers

    Quel est le lien entre $r_{∞}$ et le temps de cycle ($τ$)?

    <p>$r_{∞} = 1/τ$</p> Signup and view all the answers

    Quelle est la capacité de la mémoire de l'Inmos T800 ?

    <p>4 KB</p> Signup and view all the answers

    Qu'est-ce que l'architecture SIMD permet de réaliser?

    <p>Éxécuter des instructions à la fois sur des processeurs différents.</p> Signup and view all the answers

    Quel est un des inconvénients des traitements parallèles dans le Transputer ?

    <p>Routage effectué par le Transputer</p> Signup and view all the answers

    Quelle formule représente le speedup d'un algorithme ?

    <p>$S_{p}(A) = T_{1} / T_{p}(A)$</p> Signup and view all the answers

    Dans le contexte des machines SIMD, que sont les éléments de traitement (PE)?

    <p>Des unités capables d'exécuter des instructions en parallèle.</p> Signup and view all the answers

    Quel est l'effet de l'utilisation d'un bit d'inhibition dans une boucle?

    <p>Il permet d'éviter des opérations inutiles.</p> 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 ?

    <p>$N_{p}/q + T_{p}$</p> Signup and view all the answers

    Quel est l'impact du parallélisme sur les unités fonctionnelles?

    <p>Il augmente le nombre d'instructions pouvant être exécutées simultanément.</p> Signup and view all the answers

    Comment décrire le concept d'efficacité d'un algorithme ?

    <p>$E_{p}(A) = S_{p}(A) / p$</p> Signup and view all the answers

    Quel est le rôle de l'unité de traitement flottante dans l'Inmos T800 ?

    <p>Améliorer la vitesse de traitement</p> Signup and view all the answers

    La formule $T(n) = 1/r_{∞}(n + n_{1/2})$ sert à calculer quoi?

    <p>Le temps d'exécution d'une séquence d'opérations.</p> Signup and view all the answers

    Quel facteur n'est pas pris en compte pour les métriques de complexité des algorithmes parallèles ?

    <p>Coût de la mémoire</p> 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)$ ?

    <p>Un temps qui varie selon le nombre de processeurs</p> Signup and view all the answers

    A[1; N; 2] = B[3; N; 1] + d C[5; N; 3] se traduit par quelle équation ?

    <p><em>A</em>(2 * <em>i</em> - 1) = <em>B</em>(2 + <em>i</em>) + <em>d</em> <em>C</em>(3 * <em>i</em> + 2)</p> Signup and view all the answers

    Quel est le rôle du masque VM dans les opérations vectorielles ?

    <p>Il détermine si une opération doit être effectuée pour chaque élément.</p> Signup and view all the answers

    L'instruction c = SUM(A[1; N; 2]) initialise c à quelle valeur ?

    <p>0</p> Signup and view all the answers

    Comment les opérations vectorielles sont-elles exécutées lorsqu'un masque est utilisé ?

    <p>Toutes les opérations sont effectuées comme si le masque n'était pas présent.</p> Signup and view all the answers

    Quel est l'effet du traitement des branches conditionnelles dans une boucle avec le masque ?

    <p>Il permet d'exclure rapidement des opérations non nécessaires.</p> Signup and view all the answers

    Quelle est la bonne description de l'exécution des instructions vectorielles en séquence ?

    <p>Chaque instruction est stockée et exécutée étroitement l'une après l'autre.</p> 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 ?

    <p><em>C</em>(<em>i</em>) reçoit la valeur résultante de <em>A</em>(<em>i</em>) + <em>B</em>(<em>i</em>).</p> Signup and view all the answers

    Quel est le principal avantage d'utiliser des instructions vectorielles avec un masque ?

    <p>Cela permet de réduire les besoins en temps de calcul.</p> 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) et Efficiency Ep(A) sont données
    • Les propriétés Sp(A) ≤ p et Ep(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.

    Quiz Team

    Related Documents

    Parallel Architectures PDF

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser