Systemy rozproszone
Informacje ogólne
Kod przedmiotu: | 1000-217bSR |
Kod Erasmus / ISCED: |
11.3
|
Nazwa przedmiotu: | Systemy rozproszone |
Jednostka: | Wydział Matematyki, Informatyki i Mechaniki |
Grupy: |
Przedmioty obieralne dla informatyki Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka Przedmioty obieralne z grupy programowania współbieżnego i rozproszonego |
Punkty ECTS i inne: |
6.00
|
Język prowadzenia: | angielski |
Rodzaj przedmiotu: | obowiązkowe |
Skrócony opis: |
Niniejszy przedmiot składa się zestawu – wykłady plus laboratoria. W ramach wykładów omówione zostaną podstawowe zagadnienia, fundamantalne zasady oraz technologie budowy systemów rozproszonych. Przykładowe zagadnienia to komunikacja, replikacja, odporność na błędy i bezpieczeństwo. W ramach laboratoriów natomiast studenci będą mieli okazję przećwiczyć te zagadnienia w praktyce – idywidualnie bądź w parach budując od podstaw system rozproszony w tematyce obliczeń w chmurze. Zarówno wykłady jak i laboratoria będą prowadzone w języku angielskim. Niniejszy przedmiot jest polecany studentom uczęszczającym lub chcącym uczęszczać na seminarium „Systemy Rozproszone”. Laboratoria wymagają od studentów dużego zaangażowania oraz systematyczności. |
Pełny opis: |
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. |
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. |
Efekty uczenia się: |
Wiedza 1. Zna techniki synchronizacji procesów i komunikacji międzyprocesowej w scentralizowanym i rozproszonym modelu programu współbieżnego [K_W04]. 2. Zna algorytmy wzajemnego wykluczania i uzgadniania w systemach rozproszonych [K_W05]. 3. Zdaje sobie sprawę z celów budowania systemów rozproszonych. 4. Zna różne zastosowania systemów rozproszonych. 5. Orientuje się w różnych modelach programistycznych używanych w budowie systemów rozproszonych. 6. Rozróżnia rolę organizacji fizycznej systemu od organizacji logicznej. 7. Zna pojęcie warstwy pośredniczącej. 8. Zna mechanizmy samoorganizacji systemów rozproszonych. 9. Wie jaką rolę w systemach rozproszonych odgrywają procesy, wątki, mechanizmy wirtualizacji oraz migracja kodu. 10. Zna podstawowe paradygmaty komunikacji w systemach rozproszonych (RPC, komunikaty, strumienie). 11. Wie jaką rolę odgrywają nazwy w systemach rozproszonych i jakich algorytmów używać do wyszukiwania nazw (np. rozproszone tablice mieszające). 12. Zna problemy związane z synchronizacją procesów w systemach rozproszonych, w szczególności synchronizację zegarów fizycznych oraz zegary logiczne. 13. Zna algorytmy synchronizacji. 14. Zna algorytmy rozgłaszania gwarantujące kolejność komunikatów (porządek zupełny, przyczynowo-skutkowy, itd.). 15. Zna problemy związane z zachowaniem spójności w systemach rozproszonych. 16. Zna różne modele spójności: zorientowane na dane, zorientowane na klienta, jednostki spójności. 17. Rozumie konieczność tworzenia systemów odpornych na błędy. 18. Zna różne modele błędów. 19. Orientuje się w algorytmach zapewniających odporność na te błędy. 20. Jest świadomy zagrożeń bezpieczeństwa systemów rozproszonych. 21. Zna różne techniki zapobiegania tym zagrożeniom. Umiejętności 1. Potrafi zastosować mechanizmy synchronizacji procesów i wątków w wybranych technologiach w zależności od architektury i możliwości konkretnego komputera [K_U06]. 2. Posługuje się nowoczesnymi technologiami rozpraszania i zrównoleglania obliczeń [K_U08]. 3. Ma umiejętności językowe w zakresie informatyki zgodne z wymaganiami określonymi dla poziomu B2+ Europejskiego Systemu Opisu Kształcenia Językowego, w szczególności: identyfikuje główne i poboczne tematy wykładów, pogadanek, debat akademickich, dyskusji, czyta ze zrozumieniem i krytycznie analizuje teksty akademickie, zabiera głos w dyskusji lub debacie naukowej, streszcza ustnie informacje, wyniki badań, opinie i argumenty autora zawarte w tekście naukowym [K_U14]. 4. Potrafi zaprojektować i zaimplementować komponenty systemu rozproszonego. 5. Potrafi testować elementy systemu rozproszonego. |
Metody i kryteria oceniania: |
Ocena końcowa na podstawie punktów z egzaminu pisemnego i zadań laboratoryjnych w stosunku 50:50. 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. Zaliczenie przedmiotu w terminie zerowym wymaga zdobycia co najmniej 38 punktów z laboratorium. Liczba punktów uzyskanych w terminie zerowym wyraża się wzorem min(50, L) x 1,6, gdzie L to liczba uzyskanych punktów z laboratorium. Więcej informacji na stronie przedmiotu: https://www.mimuw.edu.pl/~iwanicki/courses/ds/ |
Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)
Okres: | 2023-10-01 - 2024-01-28 |
Przejdź do planu
PN WT ŚR WYK
LAB
LAB
CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Konrad Iwanicki | |
Prowadzący grup: | Wojciech Ciszewski, Konrad Iwanicki | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Zajęcia w cyklu "Semestr zimowy 2024/25" (w trakcie)
Okres: | 2024-10-01 - 2025-01-26 |
Przejdź do planu
PN WT ŚR WYK
LAB
LAB
CZ PT |
Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 30 godzin
|
|
Koordynatorzy: | Konrad Iwanicki | |
Prowadzący grup: | Wojciech Ciszewski, Konrad Iwanicki, Maciej Matraszek | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: | Egzamin |
Właścicielem praw autorskich jest Uniwersytet Warszawski.