Vous êtes sur la page 1sur 6

28/11/2010

Introduction aux architectures parallèles

• Les applications traditionnelles (calcul intensif):


– Prévision météo, Simulation scientifique, …
Bases de données parallèles • Nouvelles applications (données intensives):
– Traitement d’image, multimédia, infographie

• Les applications futures:


– CAO, Réalité Virtuelle, ...

• Historiquement, un logiciel était écrit pour un Besoin de performance


traitement séquentiel :
• Puissance de traitement et/ou la disponibilité
• Pour être exécuté sur une machine avec une
seule unité de calcul • Puissance de traitement recouvre 2 notions: la latence de
traitement et le débit de traitement
• Un calcul était découpé en une série discrète
d’instructions – La latence: le temps nécessaire pour l’exécution d’un
traitement.
• Les instructions étaient exécutées les unes
– Le débit : le nombre de traitement exécutable par unité de
après les autres
temps
• Une seule instruction pouvait s’exécuter à un
instant donné • Disponibilité: résistance aux pannes, maintien de la
performance

1
28/11/2010

Exécution parallèle • Les ressources de calcul peuvent être:


• Un calcul parallèle est – Une seule machine avec un ou plusieurs
exécuté sur plusieurs unités processeurs
de calcul – Plusieurs machines avec un ou plusieurs
• Le calcul est découpé en processeurs interconnectées par un réseau rapide
plusieurs parties pouvant – Une grille de calcul : plusieurs ensembles de
s’exécuter simultanément plusieurs machines
• Chaque partie est découpée
en séquences d’instructions
• Des instructions de chaque
partie s’exécutent
simultanément sur # CPU

Classification des architectures


SISD (Single Instruction, Single Data)
parallèles
• C'est l'ordinateur séquentiel standard.
• Taxonomie de Flynn (1972): Une unité centrale unique reçoit un flot d'instructions
– Flux de données unique qui opère sur un flot de données unique.
– Flux d’instruction
• Variations:
– SISD (Single Instruction, Single Data)
– SIMD (Single Instruction, Multiple Data)
– MISD (Multiple Instruction, Single Data)
– MIMD (Multiple Instruction, Multiple Data)

• les algorithmes pour les calculateurs SISD ne


contiennent aucun parallélisme.

2
28/11/2010

MISD (Multiple Instruction, Single Data) • un seul flot de données alimente plusieurs
• N processeurs, chacun avec sa propre unité de contrôle, se unités de traitement,
partagent une mémoire commune.
• chaque unité de traitement opère
indépendamment des autres, sur des flots
d’instructions indépendants
• exécution en // dPeu implémenté, Ex :
• e plusieurs
algos de cryptographie pour le
décodage d’1 même message
• Il y a N flots d'instructions (algorithmes / programmes) et un flot de données.
Chaque processeur effectue une opération différente, au même moment sur la
même donnée.

SIMD (Single Instruction, Multiple Data)


• Il y a N flots de données, un
• Plusieurs unités arithmétiques par processeur, et des
• Même instruction à la fois données différentes peuvent
• S’adapte aux problèmes à forte régularité: ainsi être utilisées dans
 Équation de chaleur chaque processeur.
Traitement d’image


 Infographie
Fonctionnellement, on peut
avoir les deux schémas
suivants (mémoire partagée
ou distribuée) :

3
28/11/2010

• Rares sont les machines SIMD à mémoire MIMD (Multiple Instruction, Multiple Data)
commune. • L’architecture parallèle la plus utilisée
• Il s'agit souvent de processeurs très • Plusieurs instructions, plusieurs données
élémentaires en très grand nombre (plusieurs • Chaque processeur exécute son flux d’instruction
centaines). indépendamment des autres
• 2 variantes:
Mémoire partagée
Mémoire distribuée

• C'est la classe la plus générale et la plus puissante de


toute cette classification. • Donc chaque processeur opère de façon
• Il y a N processeurs, N flots d'instructions et N flots de
asynchrone (peut faire des opérations différentes sur des
données. données différentes au même instant).

• Chaque processeur exécute un flot d'instructions • La communication de données ou de résultats


généré par sa propre unité de contrôle. entre les processeurs peut se faire à travers
une mémoire commune ou un réseau
d'interconnexion.

4
28/11/2010

MIMD à mémoire partagée MIMD à mémoire distribuée


• Chaque CPU a sa propre mémoire
• Accès à la mémoire comme un et système d’exploitation
espace d’adressage global • Communication inter-CPU via le
réseau rapide
• Tout changement dans une • Peut contenir des architectures
case mémoire est vu par les hétérogènes
autres CPU • Nécessité d’un middleware pour la
synchronisation et la
• La communication inter-CPU communication
est faite via la mémoire • Les calculateurs MIMD avec un

globale réseau d'interconnexion sont


appelés multicomputers ou
• Les calculateurs MIMD à machines faiblement couplées.
• Dans cette classe de calculateurs,
mémoire commune sont les processeurs sont souvent
appelés multiprocessors ou appelé "noeuds" et ne partagent
machines fortement rien d'autre que le réseau
couplées.

Que permet le parallélisme ?


• Gain de performances (vitesse)
• Flexibilité et extensibilité
• Adéquation au traitement temps réel
• Tolérance aux pannes (même si un composant;
matériel ou logiciel; tombe en panne les autres sont
intacts)
• Disponibilité du matériel et logiciel

5
28/11/2010

• Système de BD Parallèle
– SGBD implémenté sur une machine parallèle
• Mémoire partagée, Disque partagé, Mémoire
distribuée, Hybride, ...
– Objectif principal : Les performances
• Système de BD Réparti (distribué)
– Un ensemble de SGBD reliés entre eux
• Homogènes/Hétérogènes – Degré d'autonomie
– Objectif principal : La disponibilité