This is an old revision of the document!
X36DSI: Zadání projektu č.1
Popis situace
10 komunikačních uzlů je pospojováno komunikačními linkami do počítačové sítě s obecnou topologií (reprezentovanou souvislým grafem). Každý uzel má své jedinečné ID. Každý uzel ví, že existuje celkem 10 uzlů (které ovšem ještě nemusí být v provozu, tj. nefunguje a neforwarduje rámce). Žádný uzel nezná způsob očíslování ostatních uzlů. Každá linka má zpoždění s rovnoměrným rozložením 80 až 120 ms a bitovou chybovost P. Síť je asynchronní, nelze tedy očekávat, že všechny uzly mohou vykonat nějakou operaci v jeden okamžik. Každý uzel se zapne během 1 sekundy po začátku simulace (rovnoměrné rozložení 0 až 1 sekunda).
Úkol
Implementujte pomocí výukového systému na SHO algoritmus Leader Election. Konkrétní algoritmus si zvolte sami. Spočítejte množství předaných zpráv, minimální, průměrné a maximální množství přenesených bitů na jednu linku. Zaměřte se na přehlednost řešení a vizuální stránku programu. Na Vašem řešení by mělo být možno demonstrovat průběh vybraného algoritmu.
Požadavky
- vybraný algoritmus musí respektovat topologii sítě a její vlastnosti (včetně simulace ztráty zpráv)
- algoritmus musí být funkční a jeho průběh musí být názorně vizualizován
- program musí umožnit výpočet nad libovolnou sítí zadanou pomocí matice sousednosti v souboru (ke stažení zde)
- využijte výukový systém SHO
- doporučené volání:
./simulace matice.txt 0.001
(kde matice.txt obsahuje matici sousednosti a 0.001 je bitová chybovost sítě) - vypracujte krátkou zprávu popisující Vámi zvolený algoritmus a způsob jeho implementace ve výukovém systému SHO
Poznámka
Výukový systém na SHO byl upraven, aby umožnil načtení parametrů příkazové řádky (30.3.2009, zatím pouze linuxová verze). Stáhněte si novou verzi.
Počet parametrů je v proměnné argc
. Jednotlivé parametry získáte pomocí proměnné argv, např. (*argv)[1]
.
Termín a způsob odevzdání
Nejzašší termín pro odevzdání projektu je 16.4.2009 23:59:59.99. Za každý týden prodlení je penalizace -5 bodů.
Způsob odevzdání: Pošlete mi mail na adresu xsmitka@fel.cvut.cz, jako přílohu přiložte:
1. dokumentaci k algoritmu (PDF,TXT,HTML,…)
2. hlavni.cc (případně Main0.cpp)
3. pokud jste měnili i ostatní soubory simulátoru, tak zazipovaný celý projekt
Dotazy ?
Dotazy směřujte na xsmitka(zavináč)fel.cvut.cz.