OPIS PRZEDMIOTU Nazwa przedmiotu Kod przedmiotu Przetwarzanie równoległe i rozproszone 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/niestacjonarne Rok/semestr II 3 Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i nazwisko prowadzącego/ prowadzących przedmiot dr Piotr Prokopowicz Liczba godzin dydaktycznych 15W+15LAB / 12W+ 11LAB Liczba punktów ECTS 4 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 Algorytmy i struktury danych, Programowanie obiektowe
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 Założeniem przedmiotu jest wprowadzenie studenta w problematykę i zagadnienia równoległego oraz rozproszonego przetwarzania informacji.. W trakcie zajęć student zapozna się z modelami i algorytmami stosowanymi do poprawnego zachowania programów równoległych i rozproszonych. Podczas laboratoriów student opisze i rozwiąże jeden z podstawowych problemów związanych z programowaniem równoległym i rozproszonym. Założenia i terminologia przetwarzania równoległego i rozproszonego. Własności algorytmów równoległych i rozproszonych. Metody synchronizacji procesów w modelu rozproszonym: semafory, monitory, kanały. Typowe problemy programowania równoległego: problem wzajemnego wykluczania programów, problem producenta-konsumenta, problem czytelników i pisarzy, problem pięciu filozofów. Problem uzgadniania w przetwarzaniu rozproszonym. Wykład, Laboratorium Wykład egzamin teoretyczny. Wymagania: rozumienie i umiejętność posługiwania się koncepcją przetwarzania równoległego i rozproszonego. Znajomość podstawowych problemów obejmowanych przez poznane metody. Laboratorium realizacja projektu, stopień zaawansowania projektu będzie decydował o ocenie. Wymagania: umiejętność rozwiązania jednego z podstawowych problemów programowania równoległego w odniesieniu do konkretnego przykładu. Literatura podstawowa Literatura uzupełniająca (w tym portale 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 2009. 2. Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach. Wydawnictwa Naukowo-Techniczne, Warszawa 1993. 1. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo
internetowe) - Techniczne, 2004. 2. http://osilek.mimuw.edu.pl/... podpis prowadzącego przedmiot/ koordynatora przedmiotu* PROGRAM NAUCZANIA PRZEDMIOTU Nazwa przedmiotu Opisywana forma zajęć Liczba godzin dydaktycznych Przetwarzanie równoległe i rozproszone Wykład 15 / 12 Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i dr Piotr Prokopowicz nazwisko prowadzącego Szczegółowa tematyka zajęć 1-2. Ogólna koncepcja programowania współbieżnego. Wprowadzenie podstawowych pojęć. Współbieżność jako abstrakcja równoległości. Instrukcje atomowe. Przykłady współbieżności. 3-4. Sformułowanie i analiza problemu wzajemnego wykluczania. Sposób opisu i różne metody analizy wzajemnego wykluczania. Uzasadnianie poprawności analizy przy pomocy diagramu stanów. Algorytm Dekkera. 5-6. Złożone instrukcje atomowe. Semafory. Niezmienniki semaforów. Synchronizacja kolejności wykonywania. 7-8. Semafory w problemie producenta-konsumenta. Problem pięciu filozofów. Monitory. Deklaracja i użycie monitorów. 9-10. Monitory w problemie producenta-konsumenta. Problem czytelników i pisarzy. Kanały. Modele komunikacji.
11-12. Rozwiązanie problemu pięciu filozofów przy pomocy kanałów. Algorytmy rozproszone. Model systemu rozproszonego. 13-14. Problem wzajemnego wykluczania w modelu rozproszonym. Własności globalne. Rozproszone zakończenie wykonania. Problem uzgadniania. 15. Problem uzgadniania w algorytmie bizantyjskich generałów. Forma i warunki Wykład egzamin teoretyczny. Wymagania: rozumienie i umiejętność zaliczenia przedmiotu posługiwania się koncepcją przetwarzania równoległego i rozproszonego. wymagania i system Znajomość podstawowych problemów obejmowanych przez poznane metody. oceniania 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 2009. Literatura podstawowa 2. Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach. Wydawnictwa Naukowo-Techniczne, Warszawa 1993. 1. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Literatura Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo - uzupełniająca (w tym Techniczne, 2004. portale internetowe) 2. http://osilek.mimuw.edu.pl/ podpis prowadzącego daną formę zajęć podpis koordynatora przedmiotu
PROGRAM NAUCZANIA PRZEDMIOTU Nazwa przedmiotu Opisywana forma zajęć Liczba godzin dydaktycznych Przetwarzanie równoległe i rozproszone Laboratorium 15 / 11 Tytuł i/lub stopień naukowy/tytuł zawodowy, imię i dr Piotr Prokopowicz nazwisko prowadzącego Szczegółowa tematyka zajęć 1. Przypomnienie mechanizmów języka programowania Java odpowiedzialnych za obsługę wątków. 2. Implementacja rozwiązania problemu wzajemnego wykluczania poszukiwanie właściwego rozwiązania. 3. Implementacja algorytmu Dekkera. 4. Omówienie założeń projektów dla problemu pięciu filozofów. 5. Implementacja monitorów dla problemu pięciu filozofów. 6. Kanały w problemie 5 filozofów. 7. Porównanie wyników poszczególnych implementacji.ocena projektów. Forma i warunki Laboratorium realizacja projektu, stopień zaawansowania projektu zaliczenia przedmiotu będzie decydował o ocenie. Wymagania: umiejętność rozwiązania jednego z wymagania i system podstawowych problemów programowania równoległego w odniesieniu do oceniania konkretnego przykładu. 1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa 2009. Literatura podstawowa 2. Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach. Wydawnictwa Naukowo-Techniczne, Warszawa 1993. Literatura 1. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E.
uzupełniająca (w tym portale internetowe) Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004. 2. http://osilek.mimuw.edu.pl/ podpis prowadzącego daną formę zajęć podpis koordynatora przedmiotu