You are on page 1of 10

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

Premire anne Master en Informatique

Option : Systmes Distribues et Intelligence Artificielle

Module :

Algorithmique et Architectures Parallles


Rapport de recherche bibliographique
Rapport n : 10M1-AAP06

Algorithmes parallles

Etudiants : Gadi Amina Zine Dalila

_________________

Enseignant responsable : Saci MEDILEH

Anne universitaire : 2010-2011, semestre 01.

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

Sommaire

I.Introduction..2 Expression des algorithmes parallles 2 II.Algorithmes de calcule matriciel en parallle 3 1-Multiplication matrice-matrice..3 2-Algorithme4 *Programme vectoris.4 III.Algorithmes de tri en parallle 5 IV.Exemples dapplications..........6 IV.1. Exemple dapplication pour l'algorithmes de calcule matriciel en parallle...6 IV.2. Exemple dapplication pour l'algorithmes de tri en parallle..7 V.Conclusion8 Rfrences9

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

I.Introduction
Le paralllisme est utilis depuis longtemps en informatique pour rsoudre des problmes scientifiques (e.g. simulation, mtorologie, biologie, jeux vido) le plus rapidement possible. Le principe de base du paralllisme est dutiliser plusieurs ressources (e.g. processeurs) qui fonctionnent concurremment pour accrotre la puissance de calcul pour la rsolution dun mme algorithme pour un problme donn. Lobjectif du paralllisme est non seulement de rsoudre les problmes le plus rapidement, mais aussi de pouvoir rsoudre des problmes de plus grande taille. La construction dun algorithme parallle pour un problme donn est beaucoup plus complexe que la construction dun algorithme en squentiel du mme problme car elle demande la prise en compte de plusieurs facteurs qui sont par exemple : la partie du programme qui peut tre traite en parallle, la manire de distribuer les donnes, les dpendances des donnes, la rpartition de charges entre les processeurs, les synchronisations entre les processeurs. Il y a essentiellement deux mthodes pour construire un algorithme parallle, lune consiste dtecter et exploiter le paralllisme inhrent dans un algorithme squentiel dj existant, lautre consistant inventer un nouvel algorithme ddi au problme donn.

Expression des algorithmes parallles :


On utilise un langage de description algorithmique tendu pour dcrire des oprations parallles. Si plusieurs tapes doivent se faire en parallle

Faire tapes i j en parallle tape i ; tape j ; Fin Faire

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

Si plusieurs processeurs doivent excuter le mme type doprations en mme temps Pour i de j k faire en parallle { oprations excutes par le processeur Pi } Fin Pour

II.Algorithmes de calcule matriciel en parallle


1- Multiplication matrice-matrice
Produit C=A.B ou A, B, C sont des matrices n x n

Le produit de matrices peut tre vu comme n produits scalaires La somme de n produits externes N produits matrice-vecteur On peut dvelopper des algorithmes spcifiques

Forme saxpy/daxpy par bloc Le processus k a les donnes A(:,k), B(:,k) et C(:,k) On excute le produit de matrices dans lordre j, k, i Pour j=1 n

Un processus a les donnes C et B dont il a besoin, mais doit accder toute la matrice A

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

2- Algorithme
Chaque processus calcule la partie pour laquelle il a les donnes (avec m = myid) C(:,m)=C(:,m)+A(:,m)*B(m,m) Copier A(:,m) dans tampon S Pour i=1 p-1{ Envoyer S au processus (m+i) mod p Recevoir S du processus (m-i) mod p C(:,m)=C(:,m)+S*B[(mi)mod p,m] }

*. Programme vectoris :

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

III.Algorithmes de tri en parallle


Algorithme pour N donnes, P procs :L' Algorithme avec P (= 2.p) processeurs et
N(= k.P) donnes .

Charger N/P donne en local Trier les N/P donnes locales For (e= 0; e< P; e++){ if (e % 2= =0){ if( me%2 = =0){ /*Pour chaque etape :*/ /* etapes paires */ /* processeurs paires */

echange-comp-min(me+1, N/P); else /* processeurs impaires */

echange-comp-max(me-1, N/P); } else{ if( me%2 = =0) /* etapes impaires */ /* processeurs paires */

echange-comp-max(me-1, N/P); else /* processeurs impaires */

echange-comp-min(me+1, N/P); } }

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

IV.Exemples dapplications
IV.1. Exemple dapplication pour l'algorithmes de calcule matriciel en parallle
L'exemple pour produit de matrices avec nombre de processeurs = 9 :

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

IV.2. Exemple dapplication pour l'algorithmes de tri en parallle Echange-Comparaison-Manipulation des macro-lments :

Extraction de 1 liste minimale ordonne partir de 2 listes ordonnes :

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

V.Conclusion
Dans cette expos , on a prsent les algorithmes parallles pour le calcule matriciel et tri , puis Prsent exemples dapplications de deux algorithmes parallles prcdent . Malgr de perfection de programmation parallle ,mais on trouve quelque inconvnients ; est plus complexe que la programmation squentielle car elle ncessite la prise en compte dlments supplmentaires comme la gestion des synchronisations entre les ressources de lenvironnement dexcution ou les copies de donnes.

Dpartement dinformatique

Centre universitaire dEl-Oued Institut des sciences et technologie

Rfrences

Document lectronique :
- Daouda Traor, Algorithmes parallles auto-adaptatifs et applications . - Stphane Vialle ,Algorithmique distribue avance :tris parallles . - Mohamed JEMNI,Introduction aux algorithmes et architectures parallles . - esnard caroline, Algorithmique parallle pour lalgbre linaire -Etiemble Daniel, Matrices-vecteurs .

You might also like