Académique Documents
Professionnel Documents
Culture Documents
Systèmes parallèles
Cours du Système Embarqué et Temps Réel
UAE – ENSAH
22 novembre 2021
7- Systèmes parallèles
Plan
2 Organisation de la mémoire
3 Parallélisation d’applications
4 Métriques de performance
7- Systèmes parallèles
7.1- Notions de systèmes parallèles
Systèmes parallèles
Systèmes parallèles
Concepts de base
Concepts de base
Concepts de base
Architectures parallèles
Parallélisme au niveau des bits
. Taille de mot passée de 4 bits à 64 bits jusqu’aux années 1990
. Arrêt à 64 bits, suffisant pour nombres à virgule flottante et adressage de la mémoire
7- Systèmes parallèles
7.1- Notions de systèmes parallèles
Architectures parallèles
Parallélisme au niveau des bits
. Taille de mot passée de 4 bits à 64 bits jusqu’aux années 1990
. Arrêt à 64 bits, suffisant pour nombres à virgule flottante et adressage de la mémoire
Parallélisme par mise en pipeline
. Idée : diviser instruction-machine en plusieurs étapes, traitées en parallèle
. Partition typique : lecture, décodage, exécution et écriture
. Exécution d’instructions une à la suite de l’autre
Architectures parallèles
Parallélisme au niveau des bits
. Taille de mot passée de 4 bits à 64 bits jusqu’aux années 1990
. Arrêt à 64 bits, suffisant pour nombres à virgule flottante et adressage de la mémoire
Parallélisme par mise en pipeline
. Idée : diviser instruction-machine en plusieurs étapes, traitées en parallèle
. Partition typique : lecture, décodage, exécution et écriture
. Exécution d’instructions une à la suite de l’autre
Architectures parallèles
Architectures parallèles
Taxonomie de Flynn
Taxonomie de Flynn : caractériser architecture d’ordinateur selon parallélisme de contrôle
et de données
. Single-Instruction, Single-Data (SISD)
? Une unité de traitement a accès à un programme et un espace mémoire
? Ordinateur séquentiel classique
7- Systèmes parallèles
7.1- Notions de systèmes parallèles
Taxonomie de Flynn
Taxonomie de Flynn : caractériser architecture d’ordinateur selon parallélisme de contrôle
et de données
. Single-Instruction, Single-Data (SISD)
? Une unité de traitement a accès à un programme et un espace mémoire
? Ordinateur séquentiel classique
. Multiple-Instruction, Single-Date (MISD)
? Plusieurs programmes traitent les mêmes données
? Aucun ordinateur commercial n’a implémenté ce modèle
7- Systèmes parallèles
7.1- Notions de systèmes parallèles
Taxonomie de Flynn
Taxonomie de Flynn : caractériser architecture d’ordinateur selon parallélisme de contrôle
et de données
. Single-Instruction, Single-Data (SISD)
? Une unité de traitement a accès à un programme et un espace mémoire
? Ordinateur séquentiel classique
. Multiple-Instruction, Single-Date (MISD)
? Plusieurs programmes traitent les mêmes données
? Aucun ordinateur commercial n’a implémenté ce modèle
. Single-Instruction, Multiple-Data (SIMD)
? Plusieurs unités de traitement ont accès chacun à données distinctes
? Un seul programme avec instruction spéciale pour lecture et assignation
? Exécution parallèle des mêmes instructions à des données différentes
? Plusieurs applications pratiques (instructions multimédias, GPU), avec degré significatif de
parallélisme de données
7- Systèmes parallèles
7.1- Notions de systèmes parallèles
Taxonomie de Flynn
Taxonomie de Flynn : caractériser architecture d’ordinateur selon parallélisme de contrôle
et de données
. Single-Instruction, Single-Data (SISD)
? Une unité de traitement a accès à un programme et un espace mémoire
? Ordinateur séquentiel classique
. Multiple-Instruction, Single-Date (MISD)
? Plusieurs programmes traitent les mêmes données
? Aucun ordinateur commercial n’a implémenté ce modèle
. Single-Instruction, Multiple-Data (SIMD)
? Plusieurs unités de traitement ont accès chacun à données distinctes
? Un seul programme avec instruction spéciale pour lecture et assignation
? Exécution parallèle des mêmes instructions à des données différentes
? Plusieurs applications pratiques (instructions multimédias, GPU), avec degré significatif de
parallélisme de données
. Multiple-Instruction, Multiple-Data (MIMD)
? Plusieurs unités de traitement ayant chacune données distinctes
? Unités de traitement fonctionnent de façon asynchrone
? Exemple courant : système multicoeur et multiprocesseur, supercalculateur
7- Systèmes parallèles
7.2- Organisation de la mémoire
Organisation de la mémoire
Plupart des ordinateurs parallèles d’usage général basés sur modèle MIMD
7- Systèmes parallèles
7.2- Organisation de la mémoire
Organisation de la mémoire
Plupart des ordinateurs parallèles d’usage général basés sur modèle MIMD
Classification d’ordinateurs MIMD selon organisation de la mémoire
. Système multi-ordinateur
? Mémoire physiquement distribuée entre processeurs
. Système multiprocesseur
? Mémoire physiquement partagée entre processeurs
. Système hybrides
? Mémoire physiquement distribuée, mais apparaît dans un espace d’adressage partagé
pour le programmeur
7- Systèmes parallèles
7.2- Organisation de la mémoire
Organisation de la mémoire
Plupart des ordinateurs parallèles d’usage général basés sur modèle MIMD
Classification d’ordinateurs MIMD selon organisation de la mémoire
. Système multi-ordinateur
? Mémoire physiquement distribuée entre processeurs
. Système multiprocesseur
? Mémoire physiquement partagée entre processeurs
. Système hybrides
? Mémoire physiquement distribuée, mais apparaît dans un espace d’adressage partagé
pour le programmeur
Distinction pour le programmeur : espace d’adresses mémoires distribué ou partagé
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
. Temps de propagation
? Temps du premier bit pour traverser le canal de communication
? Généralement proportionnel à la distance physique entre émetteur et récepteur
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
. Temps de propagation
? Temps du premier bit pour traverser le canal de communication
? Généralement proportionnel à la distance physique entre émetteur et récepteur
. Temps de transmission
? Temps nécessaire pour transmettre un message sur un lien réseau
? Taille du message divisée par bande passante du lien
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
. Temps de propagation
? Temps du premier bit pour traverser le canal de communication
? Généralement proportionnel à la distance physique entre émetteur et récepteur
. Temps de transmission
? Temps nécessaire pour transmettre un message sur un lien réseau
? Taille du message divisée par bande passante du lien
. Latence de transport
? Temps total pour transmettre message sur un lien réseau
? Temps de transmission + temps de propagation
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
. Temps de propagation
? Temps du premier bit pour traverser le canal de communication
? Généralement proportionnel à la distance physique entre émetteur et récepteur
. Temps de transmission
? Temps nécessaire pour transmettre un message sur un lien réseau
? Taille du message divisée par bande passante du lien
. Latence de transport
? Temps total pour transmettre message sur un lien réseau
? Temps de transmission + temps de propagation
. Surcoût de l’émetteur
? Temps pour préparer le message
? Calcul de checksum, ajout d’entête, algorithme de routage
7- Systèmes parallèles
7.2- Organisation de la mémoire
Temps de transmission
Dans système à mémoire distribué, temps de transmission des messages est important
. Bande passante
? Débit maximum des données envoyées dans un lien de communication
? Mesuré en bits/seconde (ou octets/seconde)
. Temps de propagation
? Temps du premier bit pour traverser le canal de communication
? Généralement proportionnel à la distance physique entre émetteur et récepteur
. Temps de transmission
? Temps nécessaire pour transmettre un message sur un lien réseau
? Taille du message divisée par bande passante du lien
. Latence de transport
? Temps total pour transmettre message sur un lien réseau
? Temps de transmission + temps de propagation
. Surcoût de l’émetteur
? Temps pour préparer le message
? Calcul de checksum, ajout d’entête, algorithme de routage
. Débit
? Bande passante effective observée par une application
7- Systèmes parallèles
7.2- Organisation de la mémoire
Mesures de performance
Latence totale :
. Osend et Orecv : surcoûts d’expédition/réception
. Tdelay : temps de propagation
. B : bande passante
. Toverhead = Tsend + Trecv : temps des surcoûts
. tB = 1/B : temps de transfert
7- Systèmes parallèles
7.2- Organisation de la mémoire
Mémoire partagée : permet un espace mémoire global accessible par tous les pro-
cesseurs
Parallélisme de données
Parallélisme de données
Parallélisme de boucles
Parallélisme de boucles
Loi d’Amdahl
Loi d’Amdahl : accélération possible selon partie parallélisable d’un programme
T ∗ (n) 1 1
Sp (n) = ∗ 1−f ∗
= 1−f
≤
f .T (n) + p T (n) f + p f
Loi d’Amdahl
Loi d’Amdahl : accélération possible selon partie parallélisable d’un programme
T ∗ (n) 1 1
Sp (n) = ∗ 1−f ∗
= 1−f
≤
f .T (n) + p T (n) f + p f
Loi de Gustafson
τf + τv (n, 1)
Sp (n) =
τf + τv (n, p)
Loi de Gustafson
τf + τv (n, 1)
Sp (n) =
τf + τv (n, p)
Calcul matriciel
Produit d’une matrice avec
(a ,un vecteur
b) 1
.
. Orienté lignes :A.b = .
.
(an , b)
? (a, b) : produit scalaire des deux vecteurs
? Algorithme équivalent en C
2n2 α
∂Tp (n) ∂ 2n2
= α + p.β + n.γ =− +β
∂p ∂p p p2
p
. Donc p ∗ = n 2α/β
2
. Comme ∂ ∂p Tp (n)
2 > 0, p ∗ est un minimum de Tp (n)
. Nombre optimal de processeurs augmente linéairement avec taille du problème n
7- Systèmes parallèles
7.4- Métriques de performance
Conclusion
Conclusion
Fin de Séance
Vos Questions ?