Evolutia retelelor de calculatoare si a protocoalelor de comunicatie

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Evolutia retelelor de calculatoare si a protocoalelor de comunicatie


1
Evaluari de performan?a în implementarile MPI
Scoica Adrian 342C3 adrian.scoica_at_gmail.com
03.01.12
1
Algoritmi paraleli si distribuiti Prezentari
Laborator
2
Introducere si terminologie
  • MPI este un acronim care vine de la message
    passing interface
  • Sistem de transmisie de mesaje standard ?i
    portabil.
  • Proiectat pentru a func?iona peste arhitecturi
    paralele (sisteme eterogene).
  • Define?te semantica unei biblioteci (nu este o
    biblioteca), adica un protocol de comunica?ie.
  • Versiuni ?i bindinguri
  • Fortran 77 ?i C sunt limbajele suportate în mod
    clasic.
  • MPI1 este prima verisune a standardului (Iunie
    1994).
  • MPI2 a adus îmbunata?iri la (Iulie 1997), cum ar
    fi One Sided Communication (Remote Memory
    Access), Managementul Dinamic al Proceselor sau
    I/O.
  • Momentan, bindinguri peste mai multe limbaje (C,
    Java, Python)

03.01.12
2
Algoritmi paraleli si distribuiti Prezentari
Laborator
3
1. Implementari
  • Fiind vorba de un standard liber, s-au realizat
    mai multe implementari
  • MPICH cea mai cunoscuta implementare (este free
    software, ?i este disponibil atât pentru
    Linux/Unix cât ?i pentru Windows)
  • LAM implementation precursorul OpenMPI (LAM
    vine de la Local Area Multicomputer)
  • Cray implementation scris pentru a rula doar în
    interiorul unui sistem Cray X1, fara suport
    pentru clustering
  • HP implementation folosit pentru întreaga gama
    de arhitecturi oferite de HP
  • GridMPI optimizat pentru grid computing
    (introduce PSPacer)
  • MicrosoftMPI inspirat din MPICH2, dar se
    integreaza cu Windows Compute Cluster Server 2003
    în domenii legate de securitate.

03.01.12
3
Algoritmi paraleli si distribuiti Prezentari
Laborator
4
2. Evaluarea performan?elor
  • Atunci când facem evaluarea performan?elor pentru
    o implementare de MPI, trebuie sa avem în vedere
    câteva probleme
  • numar suficient de mare de procesoare
  • pattern-uri de comunicare diferite (normal,
    bufferat, sincron,...)
  • acces exclusiv la resurse (de exemplu, bandwidth)
  • testarea cu apeluri nonblocante
  • testarea cu aplica?ii mixte (amestec între
    data-intensive ?i IO-intensive)
  • infrastructura peste care se comunica (eg.
    InfiniBand, Myrinet)
  • Ce masuram laten?a ?i bandwidth
  • LBW (latency badwidth test la transmiterea de
    mesaje point-to-point)
  • ATA (all to all message interchange test)
  • STS (some to some message interchange test)

Algoritmi paraleli si distribuiti Prezentari
Laborator
5
3. Rezultate pe clustere de PC-uri
  • Au fost evaluate urmatoarele modele de comunicare
    (pe MPICH, Chimp, Unify ?i LAM)
  • Ping (one-way)
  • PingPong (bidirec?ional)
  • Colectiva (broadcast, sincronizarea de bariere)
  • Comportament diferit MPICH LAM în ceea ce
    prive?te laten?a

Algoritmi paraleli si distribuiti Prezentari
Laborator
6
3. Rezultate pe clustere de PC-uri
  • Concluzii
  • Implementarea de algoritmi diferi?i func?ie de
    tipul mesajului (MPICH)
  • MPICH are cea mai rapida implementare pentru
    sincronizari de bariere (util la comunica?ii)
  • Comunicarea colectiva implementata în software
    care depinde de comunicarea point-to-point
    produce rezultate slabe.

Algoritmi paraleli si distribuiti Prezentari
Laborator
7
4. Rezultate dupa tipul re?elelor
  • Au fost evaluate metode de comunicare peste
  • InfiniBand (generic, folosit în High Performance
    Computing)
  • Myrinet (proiectat special pentru clustere,
    overhead de protocol mic)
  • Quadrics (proiectat pentru arhitecturi massively
    paralel)
  • Se observa diferen?e de laten?a atât la
    comunicarea One-Way cât ?i Bidirec?ional

Algoritmi paraleli si distribuiti Prezentari
Laborator
8
4. Rezultate dupa tipul re?elelor
  • Concluzii
  • Implementarile de MPI peste InfiniBand au
    performan?a de laten?a ridicata ?i la?ime de
    banda foarte buna
  • MPI over Quadrics ofera poten?ial de overlap
    foarte bun între codul de IO ?i cel de calcul, în
    timp ce MPI over InfiniBand sau Myrinet sufera
    arhitectural din acest punct de vedere.

Algoritmi paraleli si distribuiti Prezentari
Laborator
9
5. Eficien?a paralelizarii folosind theraduri
  • A fost evaluata eficien?a folosirii
    MPI_THREAD_MULTIPLE pentru urmatoarele
    implementari ale MPI
  • MPICH2
  • OpenMPI
  • IBM MPI
  • SunMPI
  • Se poate folosi multithreading în MPI acolo unde
    este asigurat thread safety-ul logicii
    implementate, dar de obicei exista costuri. MPI
    prevede patru nivele de thread-safety
  • MPI_THREAD_SINGLE (un singur thread per proces)
  • MPI_THREAD_FUNNELED (un singur thread folose?te
    MPI)
  • MPI_THREAD_SERIALIZED (un singur thread folose?te
    MPI la un moment dat)
  • MPI_THREAD_MULTIPLE

Algoritmi paraleli si distribuiti Prezentari
Laborator
10
5. Eficien?a paralelizarii folosind threaduri

Printre factorii care influen?eaza forma
graficelor pentru overheadul implementarii cu
threaduri, cel mai important este costul
locking-ului ?i numarul de threaduri/procesor din
sistem.
Algoritmi paraleli si distribuiti Prezentari
Laborator
11
5. Eficien?a paralelizarii folosind threaduri

Implementarile de la Sun ?i IBM au laten?a de 10
ori mai mare atunci când vorbim de implementarea
cu threaduri versus o implementare cu procese
fa?a de MPICH. Concluzie OpenMPI si MPICH ofera
performan?e mult mai bune pe clustere Linux decat
implementarile oferite de Sun ?i de IBM.
Algoritmi paraleli si distribuiti Prezentari
Laborator
12
Bibliogafie
  • 0 MPI _at_ LLNL
  • https//computing.llnl.gov/mpi/mpi_benchmarks.html
  • 1 Performance Evaluation of Some MPI
    Implementations on MPI Clusters, Natawut Nupairoj
    Lionel M. Ni.
  • www.mcs.anl.gov/thakur/papers/thread-tests.pdf
  • 2 Test Suite for Evaluating Performance of MPI
    Implementations,
  • Rajeev Thakur William Gropp
  • http//citeseerx.ist.psu.edu/viewdoc/download?doi
    10.1.1.40.9089reprep1typeps
  • 3 Wikipedia
  • http//en.wikipedia.org
  • 4 Performance Comparison of MPI Implementations
    over InfiniBand,
  • Myrinet and Quadrics, Jiuxing Liu, Jiesheng Wu,
    et. al.

Algoritmi paraleli si distribuiti Prezentari
Laborator
13
Va multumesc!
Întrebari?
03.01.12
Algoritmi paraleli si distribuiti Prezentari
Laborator
13
Write a Comment
User Comments (0)
About PowerShow.com