Algorithmes parallèles

publicité
Algorithmes parallèles
COURS POUR LA 2EME ANNÉE MASTER
INFORMATIQUE FONDAMENTALE
2012/2013
Objectif du cours
 dans la plus parts des cas Le calcule parallèle est un
moyen de réduire le temps d’exécution des
applications qui nécessitent une grande quantité de
calcul.
 La conception et l’implémentation d’un algorithme
parallèle est plus difficiles que celle d'un algorithme
séquentiel.
 L'objectif du cours est de donner à l'étudiant le
savoir et les techniques pour concevoir un
algorithme parallèle sur une architecture parallèle
cible.
Plan du cours
 Introduction
 motivations
 Définitions
 Notions sur les architectures parallèles
 classification
 Modèles de programmation parallèle
 Applications
 Exemple
introduction
Motivations
 Limites théoriques et réels des architectures
traditionnelles.
 Minimisation
du
temps
d'exécution
des
nouveaux
problèmes,
des
applications.
 Résoudre
des
nouvelles instances des problèmes.
 Exploitation des plateformes déjà existant
 Accroitre la cohérences des systèmes
Définitions
 le calcul parallèle est l'utilisation simultanée des
ressources multiples de calcul (processeurs) pour
résoudre un problème informatique.
 Un calculateur parallèle est un ensemble des
processeurs qui peuvent travailler d’une façon
coopérative
pour
résoudre
un
problème
informatique. Cette définition est assez large pour
inclure les :


supers calculateurs machines avec unité centrale
multiprocesseurs
réseaux des postes de travail, ensemble des ordinateurs
relies avec un lien spécialisé ou avec un simple réseau.
 Un programme parallèle est un programme qui
s’exécute sur un calculateur parallèle, Un ensemble
des parties discrètes qui peuvent être exécutées
concurremment. Chaque partie est une série
d'instructions.
Expression des algorithmes parallèles
 Si plusieurs étapes doivent se faire en parallèle
Faire étapes i à j en parallèle
étape i ;
…
étape j ;
Fin Faire
 Si plusieurs processeurs doivent exécuter le même
type d’opérations en même temps
Pour i de j à k faire en parallèle
{ opérations exécutées par le processeur Pi }
Fin Pour
L’accélération et L’efficacité
 Considérons un algorithme qui s’exécute sur un
ordinateur parallèle comportant p processeurs
(identiques) dans un temps Tp, et soit Ts son temps
d’exécution séquentiel.
 L’accélération est définie par le rapport: Sp = Ts/Tp
 Généralement on a : 1 ≤ Sp ≤ p
 L’efficacité d’un algorithme parallèle est le rapport
Ep = Sp/p
Exemple I
 On a un maçon qui peut construire un mûre dans un
temps Ts.
 Si n maçons veulent construire le même mûre dans
un temps Tp, donc :
 Tp = ..?
 Sp=..?
Expmple II
 Supposant qu'on a une chaine de réassemblage ou la





production de chaque unité nécessite 04 taches.
T est le temps nécessaire accomplir une tache par un
employé.
Si on veut produire 10 unîtes.
Tw =..? (pour 01 employé).
TL= ..? (pour 04 employés).
Sp=….?
Exemple II suite
 Si on a K unîtes, donc
 Tw=….?
 Tl=……?
 Sp=….?
 Si le nombre des unités est grand le Sp 04
 On peut conclure que sur une chaine de construction
de n postes le Sp est pratiquememt n
Téléchargement