importance du réseau dans des architectures mimd

28

Upload: ita

Post on 12-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Importance du réseau dans des architectures MIMD. Tout échange entre les processeurs nécessite un transfert de données via le réseau d’interconnections des processeurs. Le coût d ’un tel transfert :. - PowerPoint PPT Presentation

TRANSCRIPT

  • Importance du rseau dans des architectures MIMDTout change entre les processeurs ncessite un transfert de donnes via le rseau dinterconnections des processeurs. Le cot dun tel transfert :o d est le nombre de connections directes ncessaire pour passer du processeur i au processeur j.

  • Granularit des applications :Cest le rapport entre le temps pass par lapplication effectuer des oprations de calcul et le temps pass dans les communications entre les processeurs :Si ce rapport est lev lapplication se prte bien au parallle, au contraire sil est faible lapplication sera difficilement paralllisable.

  • Exemples de programmations parallles :

    - ractualisation des donnes : X=X+X

    - produit scalaire : ps=(X,Y)

    ...

  • Acclration (Speed-up) Sp =Temps dexcution (wall clock) :o N est la taille du problme traiteret p le nombre de processeurs utiliss Efficacit =La scalabilit est lvolution de lefficacit en fonction du nombre de processeurs. Critres dvaluation dapplications parallles

  • Les modles de programmation parallle - par desdonnes parallles[HPF] [Open MP] :introduction de nouveaux types de donnes (vecteur parallle) et de nouvelles instructions (FORALL). Principalement utilis sur des machines mmoire partage et adressage unique.Synchronisation importante aprs chaque instruction scalaire ou parallle mais implmentation relativement simple. - par changes de messages [pvm] [mpi] :utilisation de librairies contenant des instructions denvois, de rceptions de messages plus des instructions de synchronisation .Le programmeur doit grer le paralllisme, mais les synchronisations sont moins frquentes.

  • Exemple de programmation avec MPI :#include ...MPI_Init(...)

    int a=6,b;

    MPI_Send(1,&a,1,MPI_INT,...)MPI_Recv(1,&b,1,MPI_INT,...)

    cout

  • Principales fonctions de la librairie MPI :MPI_Init(...)MPI_Finalize()

    MPI_Comm_rank(...)MPI_Comm_size(...)double MPI_Wtime()

    MPI_Send()MPI_Recv()MPI_Allreduce(...)MPI_Bcast(..)

    MPI_Isend()MPI_Irecv(...) MPI_Waitall(..)

    MPI_Barrier(...)MPI_COMM_WORLD

  • Exemple de programmation parallle (bis) :La rsolution systme linaire