Semestrální úloha
Zadání zápočtových prací
Společné požadavky
- Programy musí podporovat interaktivní i dávkové řízení (např. přidání a odebrání procesu).
- Kromě správnosti algoritmu se zaměřte na prezentaci výsledků.
- Srozumitelné výpisy logujte na konzoli i do souboru/ů. Výpisy budou opatřeny časovým razítkem logického času.
- Pro implementaci programu si zvolte libovolnou vhodnou middlewarovou technologii.
- Po konzultaci se cvičícím si můžete navrhnout vlastní zadání.
Jednotlivá zadání
- Leader election
Implementujte program zasílající zprávy mezi procesy. Zprávy se budou posílat přes centrální proces. Tento proces se vybere pomocí algoritmu leader election. Procesy budou obsahovat metody: pošli/přijmi zprávu, odhlaš se ze systému, skonči bez odhlášení, přihlaš se do systému, výběr centralního procesu. Procesy budou jednoznacně identifikovány IP adresou a čislem procesu.
- Leader election
Implementujte program realizující výlučný přístup k proměnné. Přístup bude realizován přes centrální proces. Tento proces se vybere pomocí algoritmu leader election. Procesy budou obsahovat metody: zapiš hodnotu, přečti hodnotu, odhlaš se ze systému, skonči bez odhlášení, výběr centrálního procesu. Procesy budou jednoznačně identifikovány IP adresou a číslem procesu.
- Sdílená paměť
Implementujte program realizující sdílenou paměť. Použijte algoritmus s úplnou replikací.
- Plně distribuovaný výlučný přístup
Implementujte program realizující výlučný přístup k proměnné. Výlučný přístup bude realizován pomocí plně distribuovaného algoritmu s výjimkou předávání pověření.
- Výlučný přístup
Implementujte program realizující výlučný přístup k proměnné. Výlučný přístup bude realizován pomocí algoritmu předávání pověření. Realizace bude obsahovat přidání procesu, odebrání procesu s/bez odhlášení, regeneraci pověření.
- Zablokování při sdílení prostředku
Implementujte program řešící zablokování při sdílení prostředku apriorní metodou.
- Zablokování při sdílení prostředku
Implementujte program řešící zablokování při sdílení prostředku aposteriorní metodou.
- Zablokování při komunikaci
Implementujte program řešící zablokování při komunikaci.
- Ukončení výpočtu
Implementujte program detekující ukončení výpočtu.