IV112 Projekt z programování paralelních aplikací
Projekt číslo 2: Volba vedoucího ve sdílené a distribuované paměti
Termín odevzdání:
Odevzdávarna: 12. 10. 2016 20:00 Zadání: Napište paralelní aplikaci, která spustí vícero vláken nebo procesů tak, že každé vlákno/proces vygeneruje náhodné číslo v rozmezí 1--100. Poté aplikace spočítá, které vlákno/proces vygenerovalo největší číslo a ustanoví toto vláno/proces jako vedoucí vlákno/proces. Aplikace musí řešit problém volby shodného čísla různými vlákny/procesy. Aplikace o volbě vedoucího informuje participující vlákna/procesy a volbu vypíše na výstup. Tuto aplikaci realizujte pomocí standardů POSIX Threads, a MPI.
Dobrovolně je též možné vypracovat tutéž aplikaci s využitím rozhraní UNIX SYS V a OpenMP.
Projekt můžete řešit na strojích nymfe50-nymfe55. V takovém případě je možné přidat si modul gcc-4.8.2 abyste získali překladač s podporou C++11. Navíc pro účely distribuovaného počítání, doporučuji zařídit si přihlašování mezi stanicemi bez nutnosti zadávání hesla, a stejně tak si i zařídit přidání modulu s gcc-4.8.2 automaticky po přihlášení.
Projekt:
Odevzdávarna: 12. 10. 2016 20:00 Zadání: Napište paralelní aplikaci, která spustí vícero vláken nebo procesů tak, že každé vlákno/proces vygeneruje náhodné číslo v rozmezí 1--100. Poté aplikace spočítá, které vlákno/proces vygenerovalo největší číslo a ustanoví toto vláno/proces jako vedoucí vlákno/proces. Aplikace musí řešit problém volby shodného čísla různými vlákny/procesy. Aplikace o volbě vedoucího informuje participující vlákna/procesy a volbu vypíše na výstup. Tuto aplikaci realizujte pomocí standardů POSIX Threads, a MPI.
Dobrovolně je též možné vypracovat tutéž aplikaci s využitím rozhraní UNIX SYS V a OpenMP.
Projekt můžete řešit na strojích nymfe50-nymfe55. V takovém případě je možné přidat si modul gcc-4.8.2 abyste získali překladač s podporou C++11. Navíc pro účely distribuovaného počítání, doporučuji zařídit si přihlašování mezi stanicemi bez nutnosti zadávání hesla, a stejně tak si i zařídit přidání modulu s gcc-4.8.2 automaticky po přihlášení.
Projekt: