Systemy rozproszone 1000-2M10SR
Tematy obowiązkowe:
1. Wprowadzenie: definicje, typy systemów rozproszonych. (1 wykład)
2. Architektury: architektury systemów rozproszonych, warstwa pośrednicząca, samo-organizacja w systemach rozproszonych. (1-2 wykłady)
3. Procesy: wątki, wirtualizacja, klienci, serwery, migracja kodu. (1-2 wykłady)
4. Komunikacja: RPC, komunikacja zorientowana na wiadomości, komunikacja strumieniowa, rozgłaszanie. (1-2 wykłady)
5. Identyfikacja: płaska identyfikacja, identyfikacja ustrukturalizowana, identyfikacja w oparciu o atrybuty. (1-2 wykłady)
6. Synchronizacja: synchronizacja zegarów, zegary logiczne, problem wykluczania, pozycjonowanie węzłów, algorytmy elekcji. (1-2 wykłady)
7. Spójność i replikacja: modele spójności zorientowane na dane, modele spójności zorientowane na klienta, zarządzanie replikami, protokoły spójności. (1-2 wykłady)
8. Odporność na błędy: odporność procesów, niezawodna komunikacja klient-serwer, rozproszone zatwierdzanie, rekonstrukcja. (1-2 wykłady)
9. Bezpieczeństwo: bezpieczne kanały komunikacyjne, kontrola dostępu, zarządzanie bezpieczeństwem. (1-2 wykłady)
Tematy opcjonalne (w zależności od dostępnego czasu):
1. Rozproszone systemy oparte na obiektach.
2. Rozproszone systemy plików.
3. Rozproszone systemy web’owe.
4. Systemy do rozproszonej koordynacji.
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (lista przedmiotów)
Efekty kształcenia
Wiedza
- zdaje sobie sprawę z celów budowania systemów rozproszonych
- zna różne zastosowania systemów rozproszonych
- orientuje się w różnych modelach programistycznych używanych w budowie systemów rozproszonych
- rozróżnia rolę organizacji fizycznej systemu od organizacji logicznej
- zna pojęcie warstwy pośredniczącej
- zna mechanizmy samoorganizacji systemów rozproszonych
- wie jaką rolę w systemach rozproszonych odgrywają procesy, wątki, mechanizmy wirtualizacji oraz migracja kodu
- zna podstawowe paradygmaty komunikacji w systemach rozproszonych (RPC, komunikaty, strumienie)
- wie jaką rolę odgrywają nazwy w systemach rozproszonych i jakich algorytmów używać do wyszukiwania nazw (np. rozproszone tablice mieszające)
- zna problemy związane z synchronizacją procesów w systemach rozproszonych, w szczególności synchronizację zegarów fizycznych oraz zegary logiczne
- zna algorytmy synchronizacji
- zna algorytmy rozgłaszania gwarantujące kolejność komunikatów (porządek zupełny, przyczynowo-skutkowy, itd.)
- zna problemy związane z zachowaniem spójności w systemach rozproszonych
- zna różne modele spójności: zorientowane na dane, zorientowane na klienta, jednostki spójności
- rozumie konieczność tworzenia systemów odpornych na błędy
- zna różne modele błędów
- orientuje się w algorytmach zapewniających odporność na te błędy
- jest świadomy zagrożeń bezpieczeństwa systemów rozproszonych
- zna różne techniki zapobiegania tym zagrożeniom
Umiejętności
- potrafi zaprojektować i zaimplementować komponenty systemu rozproszonego
- potrafi testować elementy systemu rozproszonego
Kryteria oceniania
Ocena końcowa na podstawie punktów z egzaminu pisemnego i zadań laboratoryjnych. Otrzymanie oceny pozytywnej jest uwarunkowane przez zaliczenie obu tych komponentów.
Dla zaliczenia laboratorium trzeba oddać wszystkie zadania w terminie i uzyskać z nich min 50% punktów. Jednym z zadań laboratoryjnych może być (wg uznania prowadzącego) mini-kolokwium. Punkty uzyskane za laboratorium są wliczane do oceny końcowej.
Literatura
1. A. S. Tanenbaum and M. van Steen, “Distributed Systems: Principles and Paradigms,” Second Edition, Prentice Hall, 2007.
2. Wybrane artykuły z czołowych konferencji i czasopism naukowych dotyczących systemów rozproszonych, między innymi SOSP, OSDI, NSDI i SIGCOMM.
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: