Liczba godzin: |
15
|
Limit miejsc: |
(brak limitu) |
Zaliczenie: |
Zaliczenie na ocenę |
Rygory zaliczenia zajęć: |
zaliczenie na ocenę
|
Literatura uzupelniająca: |
1. Wprowadzenie do algorytmów, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, Wydawnictwa Naukowo - Techniczne, 2004.
2. M. Herlihy, N. Shavit, Sztuka programowania wieloprocesorowego, PWN 2010
3. http://osilek.mimuw.edu.pl/
|
Metody dydaktyczne: |
wykład konwersatoryjny wykład kursowy
|
Metody dydaktyczne - inne: |
wykład, dyskusja, prezentacja multimedialna
|
Literatura: |
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.
|
Efekty uczenia się: |
W1.
|
Metody i kryteria oceniania: |
Zaliczenie pisemne podzielone na dwie części: teoretyczną i implementacyjną. Zaliczenie jest wspólne dla wykładów i laboratoriów.
|
Zakres tematów: |
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.
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. Złożone instrukcje atomowe. Semafory. Niezmienniki semaforów. Synchronizacja kolejności wykonywania.
Semafory w problemie producenta-konsumenta. Problem pięciu filozofów. Monitory. Deklaracja i użycie monitorów. Monitory w problemie producenta-konsumenta. Problem czytelników i pisarzy. Kanały. Modele komunikacji.
Rozwiązanie problemu pięciu filozofów przy pomocy kanałów. Algorytmy rozproszone. Model systemu rozproszonego. Problem wzajemnego wykluczania w modelu rozproszonym. Własności globalne. Rozproszone zakończenie wykonania. Problem uzgadniania. Problem uzgadniania w „algorytmie bizantyjskich generałów”.
|