Zajęcia odbywają się od 13:15 w tej samej sali.
Zestaw 1
Termin: 3 listopada, godzina 23:59 (omówienie z prowadzącym na kolejnych zajęciach), sposób oddawania do uzgodnienia z prowadzącym pracownię
Oprogramuj komunikacje za pomocą protokołu TCP
Oprogramuj komunikacje za pomocą protokołu UDP
Użyj powyższych protokołów do oprogramowania prostego komunikatora tekstowego
Użyj powyższych protokołów do oprogramowania prostej gry zręcznościowej
Zilustruj złe zachowanie zastosowań przy złym dobraniu protokołu (może być konieczne równoległe przesyłanie dużych plików pomiędzy komputerami lub korzystanie przez inny program z tego samego portu, żeby utrudnić komunikację).
Zestaw 2
Termin: 1 grudnia, godzina 23:59 (omówienie z prowadzącym na kolejnych zajęciach), sposób oddawania do uzgodnienia z prowadzącym pracownię
Oprogramuj którąś z omówionych na wykładzie rozproszonych tablic hashujących (Chord, CAN lub Kademlia)
Lepiej symulator (bo nie uruchomimy tego na kilku tysiącach komputerów)
w takim przypadku należy wypisywać jakiś debug - jaką funkcję wykonujemy i jak przebiega routing
Zakładamy dla uproszczenia że wierzchołki w sieci nie psują się
Funkcjonalności (wszystkie z hashem jako parametrem):
join - dołączanie
insert - wstaw dane do sieci
find - znajdź dane w sieci
leave - opuść sieć
new o drugim zadaniu opowiem na laboratoriach 25go i 26go listopada
Na podstawie laboratorium, ścisłe terminy. Będą 2 zestawy zadań - mniej więcej na 10 godzin laboratoriów na pierwszy i 20 na drugi. System i język programowania dowolny, do uzgodnienia z prowadzącym
będą tylko dwa zadania na laboratorium
Za kazdy zestaw zadań można dostać 1 punkt (dopuszczalne są ułamki)
tydzień spóźnienia powoduje obniżenie wyniku o 0.25, dwa tygodnie spóźnienia o 0.5, dłuższe spóźnienie dyskwalifikuje
na zaliczenie new wystarczy oddać jeden zestaw
50% - dst
60% - dst+
70% - db
80% - db+
90% - bdb
George Coulouris et al, "Distributed Systems Concepts and design"
Nancy Lynch, "Distributed Algorithms"
Gerard Tel, "Introduction to Distributed Algorithms"