Programowanie Równoległe i Rozproszone
III rok Informatyka WSZiB
Message Passing Interface (MPI)
- Podstawy specyfikacji MPI
- Standard komunikacji między procesami aplikacji równoległej,
Opis standardu MPI v1.1 (html o sporym rozmiarze),
Opis standardu MPI v1.1 (postscript)
- Implementacje standardu,
MPICH - Unix, Windows NT, Windows 2000/XP Professional, ... (uzywany przez nas na zajeciach)
LAM - Unix, Macintosh, Windows (Cygwin)
MP-MPICH
- (MP = Multi Platform) Unix, Windows NT, Windows 2000/XP Professional
WMPI, Windows 95/98, ME, NT, 2000
MacMPI, częściowa
implementacja dla Macintosh'a
- Kompilacja i uruchomienie programu (MPICH)
- Programowanie w MPI dla jękyka C:
- Podręcznik programisty MPI
- Włączyć nagłówek
<mpi.h>
- Zainicjalizować środowisko:
MPI_Init(&argc, &argv);
- Zakończyć operacje w środowisku:
MPI_Finalize();
- Argumenty do funkcji specyfikujące adres bufora muszą być podane
jako wskaźnik do obszaru pamięci
- Typ danych znajdujących się w buforach musi być określony
jako typ ze standardu MPI (typy MPI:
Typy danych dla "C" w MPI)
Cwiczenia:
- Skonfigurac srodowisko tak aby procesy wykonywaly sie na roznych komputerach
(wykorzystac komputer sasiada).
Na pomoca komendy ps x (z pomoca watch) zaobserwowac demona i dzialajace procesy (w tym celu nalezy
zmodyfikowac dzialanie programu, aby program wykonywal sie dluzej).
- Wykorzystujac komunikaty MPI:
Rozbudowac prosty program licytacja.c o nastepujaca funkcjonalnosc:
- w licytacji bierze udzial dowolna liczba procesow
- jeden proces startuje licytacje wysylajac stawke o wartosci 0 do nastepnego
- nastepny proces moze podbic stawke o 1 jesli wylosowana przez niego na poczatku liczba jest wieksza od tej stawki - podbicie polega na przeslaniu nastepnemu procesowi stawki powiekszonej o 1
- jesli wylosowana liczba jest mniejsza lub rowna stawce, proces przesyla dalej liczbe ktora otrzymal
- w momencie kiedy proces otrzyma stawke ktora przeslal, konczy licytacje jako zwyciezca
- komunikacja przebiega "w kolko" od pierwszego procesu do ostatniego, ostatni wysyla do pierwszego
Marcin Radecki, Tomasz Szepieniec, Joanna Kocot, Eryk Ciepiela
|