Teoria współbieżności

RSS

Cel przedmiotu

Przybliżenie idei programowania współbieżnego i analizy systemów współbieżnych poprzez ich formalne modelowanie. Poruszane będą także problemy zarządzania pracą aplikacji współbieżnych w różnych środowiskach komputerowych.

Program wykładu

Model Lamporta, definicje programowania seryjnego i współbieżnego, warunek stopu i częściowa poprawność, żywotność, bezpieczeństwo i sprawiedliwość, kontekst implementacyjny przetwarzania współbieżnego, narzędzia systemu operacyjnego, środowiska wieloprocesorowe, środowiska message-passing, środowiska wirtualne, systemy wieloagentowe, ślady Dekerta-Mazurkiewicza, postać normalna Foaty, graf zależności, systemy rozproszone modelowane przez ślady, komunikacja FIFO i CO, twierdzenie Charon o jedyności reprezentacji, szeregowania sub-optymalne dla śladów, czas wektorowy, elementy CSP współbieżne wykonanie procesów, alternatywa dozorowana, tablice dozorów, konstrukcja pętli, równoległe wykonanie instrukcji, komunikacja blokująca, spotkania, przykłady, sieci Petri – wiadomości podstawowe, sieci miejsc i tranzycji, reprezentacja algebraiczna, niezmienniki miejsc i tranzycji, grafy osiągalności, interpretacja warunku żywotności, algorytmy znajdowania blokad i pułapek, elementy analizy systemów z ograniczeniami czasowymi

Charakterystyka pozostałych zajęć

Ćwiczenia laboratoryjne została podzielone na trzy grupy tematyczne: A - Mechanizmy synchronizacji i komunikacji procesów i wątków, B - Własności klasycznych problemów współbieżności, oraz C - Modele systemów współbieżnych. W pierwszej grupie ćwiczone są mechanizmy dostarczane przez JVM (semaforów, monitorów, zamków, współbieżnych struktur danych), Erlang (komunikacja asynchroniczna). W drugiej grupie ćwiczone jest wykorzystanie wzorców Reaktor i Proactor. W trzeciej grupie ćwiczone jest tworzenie i weryfikacja modeli bazujących na CSP, sieciach Petri oraz śladach Dikerta-Mazurkiewicza. Modele i ćwiczenia bazują na klasycznych problemach współbieżnosci oraz ważnych instancjach numerycznych obliczeń współbieżnych.

Bibliografia

1. Roscoe A., W.; The Theory and Practice of Concurrency. Prentice Hall 1998.
2. Weiss Z., Gruźlewicz T.; Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT 1994.
3. Starke P., H.; Sieci Petri, podstawy, zastosowania, teoria. PWN 1987.
4. Iszkowski W., Maniecki M.; Programowanie współbieżne. WNT 1982.
5. Charron B, Delporte-Gallet C, Fauconnier H; How to model a distributed computation, Instute Blaise Press, Paris, 1993.

Wszelkie prawa zastrzeżone © 2010 Katedra Informatyki   |   Akademia Górniczno-Hutnicza   |   Realizacja Creative Bastards