OPIS PRZEDMIOTU Nazwa przedmiotu Systemy rozproszone Kod przedmiotu Wydział Wydział Matematyki, Fizyki i Techniki Instytut/Katedra Instytut Mechaniki i Informatyki Stosowanej Kierunek Informatyka Specjalizacja/specjalność Sieci i systemy rozproszone Poziom organizacyjny studiów studia pierwszego stopnia System studiów stacjonarne Rok/semestr 3 6 Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i nazwisko prowadzącego/ prowadzących przedmiot dr Tomasz Bednarek Liczba godzin dydaktycznych 15 wykład, 15 laboratorium Liczba punktów ECTS 3 Opisywana forma zajęć wykład / laboratorium Rygor zaliczenie z oceną Typ przedmiotu specjalnościowy Język wykładowy polski Przedmioty wprowadzające i wymagania wstępne Zaliczenie przedmiotów: Systemy operacyjne, Podstawy programowania, Sieci komputerowe, Przetwarzanie rozproszone
Założenia i cele przedmiotu (w formie efektów kształcenia) Treści programowe przedmiotu Metody dydaktyczne Forma i warunki zaliczenia przedmiotu wymagania i system oceniania Student, który zaliczył przedmiot Systemy rozproszone będzie znał podstawowe sposoby wykonywania obliczeń rozproszonych. Przedstawione zostaną korzyści oraz wady obliczeń równoległych. Student będzie potrafił obsłużyć potencjalne błędy i zagrożenia wynikające z rozproszonego przeprowadzania obliczeń. Wykład wprowadza podstawowe pojęcia i modele przetwarzania rozproszonego: formalny model środowiska i procesu (algorytmu) rozproszonego, analizę aktywności i warunki uaktywnienia procesów, klasyczne modele żądań, relację poprzedzania, diagramy przestrzennoczasowe, grafy stanów osiągalnych, niedeterminizm przetwarzania, spójność obrazu stanu globalnego, predykaty globalne i ich własności, skalarne i wektorowe zegary logiczne, warunki poprawności algorytmów, złożoność czasową i komunikacyjną. Omawiane są następnie zagadnienia komunikacji zachowującej uporządkowanie wiadomości, konstrukcji spójnego obrazu stanu globalnego, detekcji zakleszczenia rozproszonego oraz detekcji zakończenia przetwarzania rozproszonego. Wreszcie przedstawiona jest problematyka związana z niezawodnością przetwarzania w zawodnym środowisku rozproszonym, w tym zagadnienia: modelowania i klasyfikacji awarii, konstrukcji niezawodnych kanałów komunikacyjnych, realizacji detektorów awarii, niezawodnej komunikacji grupowej oraz konsensusu rozproszonego i jego zastosowań. wykład / ćwiczenia laboratoryjne zaliczenie z oceną treści prezentowanych na wykładzie zaleczenie ćwiczeń laboratoryjnych Literatura podstawowa 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1990 2. Brzeziński J. Ocena stanu globalnego w systemach rozproszonych, OWN 2001 Literatura uzupełniająca (w tym portale internetowe) 3. Guerraoui R., Rodrigues L. Introduction to Reliable Distributed Programming, Springer-Verlag, 2006 4. Lynch N. A. Distributed algorithms, Morgan Kaufmann Publishers, 1996
5. Müllender S., ed. Distributed Systems, Addison-Wesley, 1993 6. Tel G. Introduction to Distributed Algorithms, Cambridge University Press, 1994...... podpis prowadzącego przedmiot/ koordynatora przedmiotu*
PROGRAM NAUCZANIA PRZEDMIOTU Nazwa przedmiotu Opisywana forma zajęć Liczba godzin dydaktycznych wykład 15h Systemy rozproszone Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i nazwisko prowadzącego dr Tomasz Bednarek Szczegółowa tematyka zajęć 1. Zajęcia organizacyjne, Wprowadzenie Wprowadzenie do przetwarzania rozproszonego: podstawowe definicje (węzły, łącza komunikacyjne i ich właściwości, topologia przetwarzania), charakterystyka środowiska przetwarzania rozproszonego, przykłady środowisk rozproszonych (Internet, GRID, projekty..@home, takie jak Seti@Home). 2. Przetwarzanie rozproszone oraz proces rozproszony Prezentowane będą następujące zagadnienia: podstawowe definicje (proces sekwencyjny, komunikaty, kanały komunikacyjne, stan kanału, indywidualne i grupowe operacje komunikacyjne, komunikacja synchroniczna i asynchroniczna), model formalny procesu sekwencyjnego (stan procesu, zdarzenia, funkcja tranzycji), klasy zdarzeń (zdarzenia wysłania i odbioru, zdarzenia wewnętrzne), warunki uaktywnienia (zbiór warunkujący, gotowość zdarzeń), modele żądań (model jednostkowy, model AND, model OR, podstawowy model k spośród r, model OR- AND). Procesu rozproszy charakteryzowany będzie następującymi tematami: model formalny procesu rozproszonego (stan globalny, zdarzenia, globalna funkcja tranzycji), wykonanie procesu, historia procesu, stany osiągalne, relacja poprzedzania zdarzeń (zdarzenia przyczynowo-zależne i niezależne), diagramy przestrzenno-czasowe, niedeterminizm przetwarzania (przetwarzanie deterministyczne, niedeterministyczne, quasideterministyczne), graf stanów osiągalnych, mechanizm monitora procesu, konwencja zapisu algorytmów. 3. Detekcja zakleszczenia W ramach pierwszego modułu dotyczącego detekcji zakleszczenia prezentowane są następujące zagadnienia: pojęcia procesu aktywnego i pasywnego, nieformalna definicja zakleszczenia, klasyfikacja problemów detekcji zakleszczenia (detekcja wystąpienia zakleszczenia, detekcja zakleszczenia procesu, detekcja zakleszczenia zbioru procesów, detekcja maksymalnego zbioru procesów zakleszczonych), algorytmy detekcji zakleszczenia dla różnych modeli żądań (modelu OR, modelu AND, modelu k
spośród r w środowisku synchronicznym). 4. Konstrukcja spójnego obrazu stanu globalnego - wprowadzenie Wprowadzona zostanie problematyka konstrukcji spójnego obrazu stanu globalnego, prezentowane będą następujące zagadnienia: pojęcia podstawowe (konfiguracja, konfiguracja spójna, odcięcie, odcięcie spójne, linia odcięcia), wybrane predykaty globalne stanu globalnego (possibly, definitely), modele stanów globalnych, koncepcja konstrukcji spójnego obrazu stanu globalnego. 5. Konstrukcja spójnego obrazu stanu globalnego - algorytmy Prezentowane będą następujące algorytmy: algorytm Chandy-Lamporta, algorytm Matterna, algorytm Lai-Yang, algorytm z kolorowaniem procesów i wiadomości, algorytmy dla kanałów FC (algorytm Chandy- Lamporta ze znacznikami typu TF oraz ze znacznikami typu BF i FF). 6. Detekcja zakończenia Detekcja zakończenia procesu wymaga zaprezentowania: przykłady problemów zakończenia (sortowanie rozproszone, algorytm Matterna konstrukcji spójnego obrazu stanu globalnego), definicje formalne zakończenia (zakończenie dynamiczne i statyczne, klasyczna definicja zakończenia), detekcja zakończenia dla synchronicznego modelu przetwarzania oraz dla dyfuzyjnego modelu przetwarzania. 7. Mechanizmy rozgłaszania niezawodnego Prezentowane będą następujące zagadnienia: mechanizm podstawowego rozgłaszania niezawodnego, mechanizm zgodnego rozgłaszania niezawodnego (algorytm pasywny, algorytm aktywny), mechanizm jednolitego rozgłaszania niezawodnego (algorytm z potwierdzeniami od wszystkich, algorytm z potwierdzeniami od większości), mechanizm zgodnego rozgłaszania niezawodnego z globalnym uporządkowaniem wiadomości. Forma i warunki zaliczenia przedmiotu wymagania i system oceniania zaliczenie z oceną Literatura podstawowa 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1990 2. Brzeziński J. Ocena stanu globalnego w systemach rozproszonych, OWN 2001 Literatura uzupełniająca (w tym portale internetowe) 3. Guerraoui R., Rodrigues L. Introduction to Reliable Distributed Programming, Springer-Verlag, 2006 4. Lynch N. A. Distributed algorithms, Morgan Kaufmann Publishers, 1996 5. Müllender S., ed. Distributed Systems, Addison-Wesley, 1993 6. Tel G. Introduction to Distributed Algorithms, Cambridge
University Press, 1994...... podpis prowadzącego daną formę zajęć...... podpis koordynatora przedmiotu
PROGRAM NAUCZANIA PRZEDMIOTU Nazwa przedmiotu Opisywana forma zajęć Liczba godzin dydaktycznych laboratorium 15h Systemy rozproszone Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i nazwisko prowadzącego dr Tomasz Bednarek Szczegółowa tematyka zajęć 8. Zajęcia organizacyjne, Wprowadzenie Wprowadzenie do przetwarzania rozproszonego: podstawowe definicje (węzły, łącza komunikacyjne i ich właściwości, topologia przetwarzania), charakterystyka środowiska przetwarzania rozproszonego, przykłady środowisk rozproszonych (Internet, GRID, projekty..@home, takie jak Seti@Home). 9. Przetwarzanie rozproszone oraz proces rozproszony Prezentowane będą następujące zagadnienia: podstawowe definicje (proces sekwencyjny, komunikaty, kanały komunikacyjne, stan kanału, indywidualne i grupowe operacje komunikacyjne, komunikacja synchroniczna i asynchroniczna), model formalny procesu sekwencyjnego (stan procesu, zdarzenia, funkcja tranzycji), klasy zdarzeń (zdarzenia wysłania i odbioru, zdarzenia wewnętrzne), warunki uaktywnienia (zbiór warunkujący, gotowość zdarzeń), modele żądań (model jednostkowy, model AND, model OR, podstawowy model k spośród r, model OR- AND). Procesu rozproszy charakteryzowany będzie następującymi tematami: model formalny procesu rozproszonego (stan globalny, zdarzenia, globalna funkcja tranzycji), wykonanie procesu, historia procesu, stany osiągalne, relacja poprzedzania zdarzeń (zdarzenia przyczynowo-zależne i niezależne), diagramy przestrzenno-czasowe, niedeterminizm przetwarzania (przetwarzanie deterministyczne, niedeterministyczne, quasideterministyczne), graf stanów osiągalnych, mechanizm monitora procesu, konwencja zapisu algorytmów. 10. Detekcja zakleszczenia W ramach pierwszego modułu dotyczącego detekcji zakleszczenia prezentowane są następujące zagadnienia: pojęcia procesu aktywnego i pasywnego, nieformalna definicja zakleszczenia, klasyfikacja problemów detekcji zakleszczenia (detekcja wystąpienia zakleszczenia, detekcja zakleszczenia procesu, detekcja zakleszczenia zbioru procesów, detekcja maksymalnego zbioru procesów zakleszczonych), algorytmy detekcji zakleszczenia dla różnych modeli żądań (modelu OR, modelu AND, modelu k
spośród r w środowisku synchronicznym). 11. Konstrukcja spójnego obrazu stanu globalnego - wprowadzenie Wprowadzona zostanie problematyka konstrukcji spójnego obrazu stanu globalnego, prezentowane będą następujące zagadnienia: pojęcia podstawowe (konfiguracja, konfiguracja spójna, odcięcie, odcięcie spójne, linia odcięcia), wybrane predykaty globalne stanu globalnego (possibly, definitely), modele stanów globalnych, koncepcja konstrukcji spójnego obrazu stanu globalnego. 12. Konstrukcja spójnego obrazu stanu globalnego - algorytmy Prezentowane będą następujące algorytmy: algorytm Chandy-Lamporta, algorytm Matterna, algorytm Lai-Yang, algorytm z kolorowaniem procesów i wiadomości, algorytmy dla kanałów FC (algorytm Chandy- Lamporta ze znacznikami typu TF oraz ze znacznikami typu BF i FF). 13. Detekcja zakończenia Detekcja zakończenia procesu wymaga zaprezentowania: przykłady problemów zakończenia (sortowanie rozproszone, algorytm Matterna konstrukcji spójnego obrazu stanu globalnego), definicje formalne zakończenia (zakończenie dynamiczne i statyczne, klasyczna definicja zakończenia), detekcja zakończenia dla synchronicznego modelu przetwarzania oraz dla dyfuzyjnego modelu przetwarzania. 14. Mechanizmy rozgłaszania niezawodnego Prezentowane będą następujące zagadnienia: mechanizm podstawowego rozgłaszania niezawodnego, mechanizm zgodnego rozgłaszania niezawodnego (algorytm pasywny, algorytm aktywny), mechanizm jednolitego rozgłaszania niezawodnego (algorytm z potwierdzeniami od wszystkich, algorytm z potwierdzeniami od większości), mechanizm zgodnego rozgłaszania niezawodnego z globalnym uporządkowaniem wiadomości. Forma i warunki zaliczenia przedmiotu wymagania i system oceniania zaliczenie ćwiczeń laboratoryjnych Literatura podstawowa Literatura uzupełniająca (w tym portale internetowe) 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1990 2. Brzeziński J. Ocena stanu globalnego w systemach rozproszonych, OWN 2001 3. Guerraoui R., Rodrigues L. Introduction to Reliable Distributed Programming, Springer-Verlag, 2006 4. Lynch N. A. Distributed algorithms, Morgan Kaufmann Publishers, 1996 5. Müllender S., ed. Distributed Systems, Addison-Wesley, 1993 6. Tel G. Introduction to Distributed Algorithms, Cambridge University Press, 1994
...... podpis prowadzącego daną formę zajęć...... podpis koordynatora przedmiotu