Programowanie Równoległe i Rozproszone

III rok Informatyka WSZiB


    Message Passing Interface (MPI)

  1. Specyfikacja standardu MPI oraz jego implementacje

  2. Konfiguracja środowiska, kompilacja i uruchomienie programu (LAM)
    • narzędzia:
      lamboot - program "tworzacy srodowisko" (uruchamia demony LAM na komputerach)
      lamnodes - wypisuje informacje o dostęych komputerach w środowisku
      mpicc - skrypt do kompilacji programu,
      mpirun - program uruchamiający aplikację,
      lamhalt - program zamykajacy srodowisko (zabija demony)

    • przykłady użycia:
       lamboot -v lista.txt 
       mpicc hello.c -o hello
       mpirun -c 2 hello

      Uwaga do używania MPI we WSZIBie: Plik wykonywalny należy umieścić w katalogu pub!
      np.
      mpicc licytacja.c -o ~/../pub/licytacja
      cd ~/../pub
      mpirun -c 2 licytacja
      przykładowy plik lista.txt i program w MPI licytacja.c

  3. Funkcje do przesyłania komunikatów w MPI

  4. Ćwiczenia:

    Rozbudować program licytacja tak, aby w licytacji mogła brać udział dowolna ilość procesów i aby procesy podbijały stawkę o 1 aż do wylosowanej przez siebie maksymalnej wartości. Rozbudowę programu należy podzielić na następujące etapy:

    1. Organizacja komunikacji między wszystkimi procesami w kółko (jeden cykl) z przekazywaniem najwiekszej wartosci
    2. Wprowadzenie zwiekszania stawki o 1 i wielu obiegów licytacji
    3. Określenie końca licytacji tj. stawki i numeru zwycięzcy
    4. Zakończenie działania aplikacji



    Marcin Radecki, Tomasz Szepieniec