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
- MASTER rozešle všem uzlům učící data nutná pro učení sítě.
- Bcast délka dat
- Bcast vlastní data
- 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
- Příjem učících dat
- Příjem informace o délce dat (Bcast )
- Příjem vlastních dat a jejich uložení do paměti uzlu
- WORKER pošle požadavek na MASTER, aby poslal nenaučenou síť
- Kontrola odpovědi MASTERu, zda neobsahuje informaci o ukončení výpočtu. Pokud ano konce WORKER procesu.
- WORKER příjímá nenaučenou sít
- WORKER učí síť
- WORKER odesílá síť na MASTER uzel
- Jdi na Krok 2