Paralelizace pomoci MPI

Pro úlohu je použita implementace standartu MPI OpenMPI verze 1.3.2. Ukázalo se, že nejvhodnější je dostupnou verzi zkompilovat samostatně a nespoléhat se na systémový OpenMPI balíček (použil jsem balíček pro OS OpenSUSE 11.1), který nespolupracoval podle představ.

Postup přidělování úloh MASTER

  1. MASTER rozešle všem uzlům učící data nutná pro učení sítě.
    1. Bcast délka dat
    2. Bcast vlastní data
  2. MASTER se nastaví do režimu příjímání požadavků od WORKERů, vždy když příjde požadavek na blok, odešle nenaučenou síť.

Postup zpracování úloh WORKER

  1. Příjem učících dat
    1. Příjem informace o délce dat (Bcast )
    2. Příjem vlastních dat a jejich uložení do paměti uzlu
  2. WORKER pošle požadavek na MASTER, aby poslal nenaučenou síť
  3. Kontrola odpovědi MASTERu, zda neobsahuje informaci o ukončení výpočtu. Pokud ano konce WORKER procesu.
  4. WORKER příjímá nenaučenou sít
  5. WORKER učí síť
  6. WORKER odesílá síť na MASTER uzel
  7. Jdi na Krok 2