Proces rozproszony. Plan wykładu. Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński. Proces rozproszony. Zbiór stanów globalnych (1)

Podobne dokumenty
Proces rozproszony 1

Przetwarzanie rozproszone

Czas wirtualny, złożoność algorytmów

Konstrukcja spójnego obrazu stanu globalnego

Przetwarzanie rozproszone

Przetwarzanie rozproszone

Konstrukcja spójnego obrazu stanu globalnego - wprowadzenie

Detekcja zakleszczenia (1)

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU

Algorytmy Równoległe i Rozproszone Część VI - Systemy rozproszone, podstawowe pojęcia

Problem detekcji zakończenia

Rozproszone systemy operacyjne

Problem detekcji zakończenia (I)

Problem detekcji zakończenia (I)

Czas wirtualny, złożoność algorytmów

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

miejsca przejścia, łuki i żetony

Język UML w modelowaniu systemów informatycznych

1 Automaty niedeterministyczne

Sieci Petriego. Sieć Petriego

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Czas wirtualny, złożoność algorytmów

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Czas wirtualny, złożoność algorytmów

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

domykanie relacji, relacja równoważności, rozkłady zbiorów

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Metoda CPM/PERT. dr inż. Mariusz Makuchowski

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Algorytmy Równoległe i Rozproszone Część VII - Systemy rozproszone, wstęp

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Inżynieria oprogramowania

Sterowniki Programowalne (SP) Wykład 11

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

ANALIZA SIECIOWA PROJEKTÓW REALIZACJI

Projektowanie interakcji. Jarosław Kuchta

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Konstrukcja spójnego obrazu stanu globalnego algorytmy

Konstrukcja spójnego obrazu stanu globalnego algorytmy

Mechanizmy rozgłaszania niezawodnego

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Treść zadań 1 8 odnosi się do poniższego diagramu przestrzenno-czasowego.

Teoria grafów - Teoria rewersali - Teoria śladów

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

Indukowane Reguły Decyzyjne I. Wykład 3

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Technika Cyfrowa 1 wykład 12: sekwencyjne układy przełączające

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

W przestrzeni liniowej funkcji ciągłych na przedziale [a, b] można określić iloczyn skalarny jako następującą całkę:

Wprowadzenie i pojęcia wstępne.

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Teoretyczne podstawy informatyki

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Algorytmiczna teoria grafów Przepływy w sieciach.

Teoretyczne podstawy informatyki

Matematyka dyskretna

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

Wstęp do sieci neuronowych, wykład 10 Sieci rekurencyjne. Autoasocjator Hopfielda

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Matematyka stosowana i metody numeryczne

2. P (E) = 1. β B. TSIM W3: Sygnały stochastyczne 1/27

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

Digraf. 13 maja 2017

Programowanie dynamiczne i algorytmy zachłanne

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstęp do sieci neuronowych, wykład 9 Sieci rekurencyjne. Autoasocjator Hopfielda

Planowanie przedsięwzięć

Bazy danych Algebra relacji Wykład dla studentów matematyki

Języki formalne i automaty Ćwiczenia 7

zdarzenie losowe - zdarzenie którego przebiegu czy wyniku nie da się przewidzieć na pewno.

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Detekcja zakleszczenia (2)

PROGRAMOWANIE SIECIOWE. METODY CPM i PERT

A i. i=1. i=1. i=1. i=1. W dalszej części skryptu będziemy mieli najczęściej do czynienia z miarami określonymi na rodzinach, które są σ - algebrami.

Sortowanie topologiczne skierowanych grafów acyklicznych

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Problemy Decyzyjne dla Systemów Nieskończonych

Matematyka dyskretna. 1. Relacje

Komunikacja asynchroniczna... 23

1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.

Algorytmiczna teoria grafów

Rekurencyjna przeliczalność

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

Wyrażenia regularne.

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Konstrukcja spójnego obrazu stanu globalnego algorytmy

G. Wybrane elementy teorii grafów

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Transkrypt:

Proces rozproszony Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Pan wykładu Proces rozproszony Wykonanie procesu, historia procesu Stan osiągany Reacja poprzedzania zdarzeń Diagramy przestrzenno-czasowe Niedeterminizm przetwarzania Graf stanów osiąganych Monitory Konwencja zapisu agorytmów Proces rozproszony () Proces rozproszony Zbiór stanów gobanych () Proces rozproszony Π, będący współbieżnym wykonaniem zbiorup={p, P,..., P n } procesów sekwencyjnych P i, opisuje uporządkowana czwórka Π = Σ,Σ 0,Λ,Φ, (.) gdzie: Σ jest zbiorem stanów gobanych procesu rozproszonego, Σ S S... S n, Σ 0 jest zbiorem stanów początkowych,σ 0 S 0 S 0... S n 0, Λ jest zbiorem zdarzeń,λ = E... E n ; Φ jest funkcją tranzycji, takążeφ Σ Λ Σ. Zbiór stanów gobanych Σ jest podzbiorem ioczynu kartezjańskiego S S... S n, zbiorów stanów okanych procesów składowych przetwarzania rozproszonego. Stan gobany procesu rozproszonego Π w chwii τ czasu gobanego oznaczony przez Σ(τ), jest więc uporządkowanym zbiorem stanów okanych wszystkich procesów składowych w chwii τ: Σ(τ) = S (τ),s (τ),...,s n (τ) (.) Proces rozproszony () Proces rozproszony ()

Zbiór stanów gobanych () Gobana funkcja tranzycji Zbiór gobanych stanów początkowych Σ 0 jest podzbiorem ioczynu kartezjańskiego S 0 S 0... S n 0 zbiorów stanów początkowych procesów składowych. Zbiór zdarzeń gobanych Λ jest sumą mnogościową E... E n zbiorów zdarzeń procesów składowych. Gobana funkcja tranzycji Φ jest złożeniem funkcji tranzycji procesów składowych, a więc jest zbiorem trójek Σ, E, Σ', da których istnieje takie k, k n, że Σ = S, S,..., S k,..., S n, (.) Σ' = S, S,..., S k ',..., S n, (.) oraz S k, E, S k ' F k. (.5) Proces rozproszony (5) Proces rozproszony (6) Wykonanie częściowe procesu Wykonanie procesu Częściowe wykonanie procesu rozproszonego Π = Σ,Σ 0,Λ,Φ utożsamia się z ciągiemσ 0,,Σ, E,,Σ s, E s+,σ s+, składającym się naprzemiennie ze stanów i zdarzeń, takim że da każdego u, 0 u s, Przez wykonanie (reaizację) ϒ procesu Π rozumieć będziemy natomiast częściowe wykonanie rozpoczynające się stanem początkowym Σ 0 Σ 0. Σ u, E u+,σ u+ Φ. (.6) Proces rozproszony (7) Proces rozproszony (8)

Stan osiągany Gobany stan osiągany Powiemy,że stanσ procesu Π jest osiągany ze stanuσ, co oznaczymy przez Σ Σ, (.7) jeżei istnieje częściowe wykonanieσ 0,,Σ, E,...,Σ s, E s+, Σ s+ procesuπ, takieżeσ=σ 0 a Σ =Σ s+. Oznaczmy przez ϒ zbiór wszystkich możiwych wykonań (reaizacji) procesu Π. Jeżei istnieje wykonanie procesu Π, takie że Σ jest stanem końcowym, to stan ten nazwiemy gobanym stanem osiąganym (spójnym) procesu rozproszonego Π (ang. reachabe, consistent). Proces rozproszony (9) Proces rozproszony (0) Historia wykonania Proces rozproszony jako graf Każdemu wykonaniu ϒ ϒ procesu Π, odpowiada pewien ciąg stanów Σ 0, Σ, Σ,..., Σ s, Σ s+, nazywany śadem wykonania (reaizacji) procesuπ, oraz ciąg zdarzeń E 0,, E,..., E s, E s+, nazywany historią wykonania (reaizacji) procesu. Historię E 0,, E,..., E s, oznaczamy przez Ξ s, a zbiór historii przezξ. Proces rozproszony jest często przedstawiana jako graf: G = V,A (.8) w którym : wierzchołki grafu V i V reprezentują procesy składowe P i P przetwarzania rozproszonego, krawędzie (V i, V j ) A,A V V, grafu niezorientowanego ub łuki V i, V j A grafu zorientowanego, reprezentują kanały C i,j odpowiednio dwu ub jednokierunkowe. Proces rozproszony () Proces rozproszony ()

Topoogia przetwarzania rozproszonego Reacja poprzedzania zdarzeń () Graf G = V, A nazywany jest grafem procesu rozproszonego ub topoogią przetwarzania (topoogią procesu rozproszonego). Oznaczmy przez a reację poprzedzania (ang. happen before, causa precedence, happened before) zdefiniowaną na zbiorzeλwnastępujący sposób: E ik a E j ) i= j k<, ub ) i j oraz E ik jest zdarzeniem e_send(p i, P j, M) wysłania wiadomości M, a zdarzenie E j jest zdarzeniem e_receive(p i, P j, M) odbioru tej samej wiadomości, ub ) istnieje sekwencja zdarzeń E 0,, E,..., E s, takaże E 0 = E ik, E s = E j i da każdej pary E u, E u+ gdzie 0 u s-, zachodzi ) abo ). Proces rozproszony () Proces rozproszony () Reacja poprzedzania okanego Zdarzenia przyczynowo-zaeżne Przez a i oznaczamy reację poprzedzania okanego zdarzeń procesu, taką że: E ik a i E j wtedy i tyko wtedy, gdy i=j oraz k< (ub gdy i=j oraz E ik a E j ). Zdarzenia E k i i E j nazywamy przyczynowo-zaeżnymi, jeżei: E ik a E j abo E j a E i k (.9) W przeciwnym razie zdarzenie te nazwiemy przyczynowoniezaeżnymi ub współbieżnymi (ang. concurrent, causay independent), co będziemy oznaczać przez E ik E j. Proces rozproszony (5) Proces rozproszony (6)

Diagramy przestrzenno-czasowe Przykładowy diagram P 5 Reaizację przetwarzania rozproszonego można przedstawić graficznie w postaci diagramu przestrzenno-czasowego (ang. space-time diagram), w którym osie reprezentują upływ czasu gobanego, a punkty na osiach zdarzenia. P P E E E E, E,,, a, a E, a E, a, a E, a E E Proces rozproszony (7) Proces rozproszony (8) Reacja poprzedzania stanów okanych Stany współbieżne Przez anaogię do reacji na zbiorze zdarzeń, można zdefiniować częściowy porządek na zbiorze stanów wszystkich procesów P i P w sposób następujący: Stany okane, da których nie zachodzi ani reacja S ik a S j ani też reacja S j a S ik, nazywamy współbieżnymi. E k+ i a E j, ub S ik a S j (.0) E k+ i = E j Proces rozproszony (9) Proces rozproszony (0)

Graf stanów osiąganych Przykład grafu stanów osiąganych Zbiór częściowo uporządkowany Λ, a może być przedstawiony w postaci grafu zorientowanego, w którym wierzchołki odpowiadają stanomσ, a łuki Σ k,σ oznaczają istnienie zdarzenia dopuszczanego takiego,że Σ k, E,Σ Φ. (.) P P P E M M M E Σ,, Σ,,0 Σ,, Σ,, Σ 0,,0 Σ,, Σ 0,, Σ 0,0,0 Σ 0,, Σ 0,0, Σ 0,0, Graf taki, będziemy nazywać grafem stanów osiąganych przetwarzania rozproszonego ub siatką obiczeń rozproszonych. Σ,, Σ,, Σ,, Σ,, Σ,, Σ,, Proces rozproszony () Proces rozproszony () Niedeterminizm przetwarzania Niedeterministyczne zdarzenie okane W kontekście grafu stanów osiąganych przetwarzania rozproszonego, każda reaizacja przetwarzania rozproszonego jest pewną ścieżką w tym grafie. Istnienie wiee różnych ścieżek iustruje niedeterminizm przetwarzania rozproszonego, oznaczający że da danego stanu może istnieć wiee stanów następnych. Lokane zdarzenie procesu jest niedeterministyczne, gdy jego zajście może być zastąpione przez zajście innego zdarzenia i wybór ten nie jest przewidywany. Jeżei przykładowo sekwencyjne wykonanie procesu może być w każdej chwii zmienione w wyniku zajścia przerwania zewnętrznego, to wszystkie zdarzenia tego procesu są niezdeterminowane. Proces rozproszony () Proces rozproszony ()

Przetwarzanie zdeterminowane i niedeterministyczne Przetwarzanie quasi-deterministyczne Przetwarzanie nazywamy zdeterminowanym jeżei wszystkie zdarzenia są zdeterminowane. W przeciwnym wypadku, przetwarzanie nazywamy niedeterministycznym. W ramach niedeterministycznego przetwarzania rozproszonego wyróżnia się podkasę przetwarzania quasi deterministycznego (ang. quasi-deterministic, piece-wice deterministic, event-driven), w której niedeterminizm jest wyłącznie konsekwencją niedeterminizmu operacji odbioru. Proces rozproszony (5) Proces rozproszony (6) Diagramy równoważne Przykład diagramów równoważnych Naeży zauważyć, że w ogóności istnieje wiee różnych diagramów przestrzenno-czasowych, którym odpowiada taki sam zbiór częściowo uporządkowany Λ, a. Diagramy takie nazywa się diagramami równoważnymi. P P P E M M M E P P P E M M M E Proces rozproszony (7) Proces rozproszony (8)

Monitor Cechy monitora Proces apikacyjny P i Monitor Q i Środowisko komunikacyjne Ocena wartości predykatów gobanych wymaga w pierwszej koejności obserwacji (monitorowania) stanów okanych procesów składowych. W tym ceu przyjmiemy, że z każdym procesem P i skojarzony jest proces monitora Q i. Monitor może odczytywać (obserwować) zmienne okane procesu Monitor może obserwować i kontroować zdarzenia komunikacyjne Monitor nie ma natomiast możiwości zmiany stanu procesu przez przypisanie jego zmiennym okanym nowych wartości Proces rozproszony (9) Proces rozproszony (0) Konwencja zapisu agorytmów typ FRAME Typy komunikatów: apikacyjne kontrone sygnały pakiety Wspóne atrybuty: identyfikator typu komunikatu identyfikator komunikatu identyfikator nadawcy identyfikator odbiorcy type FRAME is record of tag:... /* poe identyfikatora typu */ mid:... /* poe identyfikatora wiadomości */ sid:... /* poe identyfikatora nadawcy */ rid:... /* poe identyfikatora odbiorcy */ Proces rozproszony () Proces rozproszony ()

typ MESSAGE typ CONTROL type MESSAGE extends FRAME is record of... type CONTROL extends FRAME is record of... Proces rozproszony () Proces rozproszony () typ SIGNAL typ PACKET type SIGNAL extends FRAME is record of type PACKET extends FRAME is record of... data: MESSSAGE Proces rozproszony (5) Proces rozproszony (6)