Zadanie 1. Udowodnij, że CAUS PRAM. Załóżmy przetwarzanie przyczynowo spójne. Dla każdego obrazu historii hv i zachodzi zatem:

Podobne dokumenty
Zwielokrotnianie i spójność

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

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

Wprowadzenie do programowania współbieżnego

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

MATEMATYKA POZIOM ROZSZERZONY Kryteria oceniania odpowiedzi. Arkusz A II. Strona 1 z 5

Zestaw zadań 4: Przestrzenie wektorowe i podprzestrzenie. Liniowa niezależność. Sumy i sumy proste podprzestrzeni.

Programowanie Równoległe i Rozproszone

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 1. Układy równań liniowych

WikiWS For Business Sharks

Zapis informacji, systemy pozycyjne 1. Literatura Jerzy Grębosz, Symfonia C++ standard. Harvey M. Deitl, Paul J. Deitl, Arkana C++. Programowanie.

Systemy rozproszone. Modele spójności. Cezary Sobaniec



Urządzenia wejścia-wyjścia

V. WPROWADZENIE DO PRZESTRZENI FUNKCYJNYCH

TRANZYSTOR BIPOLARNY CHARAKTERYSTYKI STATYCZNE

Projekt i implementacja narzędzia do analizy modeli spójności F R Y D E R Y K R A C Z Y K K O N R A D S Z A Ł K O W S K I

architektura komputerów w. 3 Arytmetyka komputerów

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

p Z(G). (G : Z({x i })),

Logika i teoria mnogości/wykład 1: Po co nam teoria mnogości? Naiwna teoria mnogości, naiwna indukcja, naiwne dowody niewprost

Odtworzenie wywodu metodą wstępującą (bottom up)

Specyfikacje BEB, RB, URB

Algorytmika i Programowanie VBA 1 - podstawy

BADANIA OPERACYJNE. Podejmowanie decyzji w warunkach niepewności. dr Adam Sojda

Część 1 7. TWIERDZENIA O WZAJEMNOŚCI 1 7. TWIERDZENIA O WZAJEMNOŚCI Twierdzenie Bettiego (o wzajemności prac)


Zaawansowane metody numeryczne

Twierdzenie Bezouta i liczby zespolone Javier de Lucas. Rozwi azanie 2. Z twierdzenia dzielenia wielomianów, mamy, że

Informatyka 1. Przetwarzanie tekstów

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

Definicje ogólne

Podstawy programowania

5. Pochodna funkcji. lim. x c x c. (x c) = lim. g(c + h) g(c) = lim

Podstawy teorii falek (Wavelets)

Wstęp do programowania. Różne różności

Optimizing Programs with Intended Semantics

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

5. OPTYMALIZACJA GRAFOWO-SIECIOWA

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Mechanizmy komunikacji. spotkania symetryczne (język CSP) spotkania asymetryczne (Ada) przestrzenie krotek (Linda) potoki, komunikaty i kanały (Unix)

Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.

Synchronizacja procesów

Programowanie współbieżne Wykład 7. Iwona Kochaoska

Użycie Visual Basic for Applications ("VBA")

Prawdopodobieństwo geometryczne

Analiza rodzajów skutków i krytyczności uszkodzeń FMECA/FMEA według MIL STD A

Informatyka 1. Procedury i funkcje, struktura programu w Pascalu

Algebry skończonego typu i formy kwadratowe

Wzajemne wykluczanie i zakleszczenie

Modelowanie procesów współbieżnych

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.

Visual Basic for Application (VBA)

Porządek symetryczny: right(x)

Prawdopodobieństwo i statystyka r.

8. Optymalizacja decyzji inwestycyjnych

Definicja: Algorytmami sortowania zewnętrznego nazywamy takie algorytmy, które sortują dane umieszczone w pamięci zewnętrznej.

Listy, krotki, słowniki, funkcje

Układy równań i nierówności liniowych

Monitory. Wady semafora

ALGEBRY HALLA DLA POSETÓW SKOŃCZONEGO TYPU PRINJEKTYWNEGO

Semafory. // G - globalna dla wszystkich. // Wada - aktywne oczekiwanie Test_and_Set(Li); exit when Li = 0; end loop sekcja_krytyczna(i); G := 0;

Sortowanie topologiczne skierowanych grafów acyklicznych

Dobór zmiennych objaśniających

Przykładowe zadania z teorii liczb

Lista 4. Kamil Matuszewski 22 marca 2016

Diagnostyka układów kombinacyjnych

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

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

Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak

SZTUCZNA INTELIGENCJA

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.


Analiza danych OGÓLNY SCHEMAT. Dane treningowe (znana decyzja) Klasyfikator. Dane testowe (znana decyzja)

LibreOffice Calc VBA

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Rachunek zdań i predykatów

INDUKCJA ELEKTROMAGNETYCZNA. - Prąd powstający w wyniku indukcji elektro-magnetycznej.


Programowanie współbieżne i równoległe. dr inż. Marcin Wilczewski 2013

D Archiwum Prac Dyplomowych - Instrukcja dla opiekunów/promotorów/recenzentów

Projekt 6 6. ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH CAŁKOWANIE NUMERYCZNE

Model relacyjny. Wykład II

XXX OLIMPIADA FIZYCZNA ETAP III Zadanie doświadczalne

- wszystkie elementy - wszystkie elementy

Model IS-LM-BP. Model IS-LM-BP jest wersją modelu ISLM w gospodarce otwartej. Pokazuje on zatem jak

Detekcja zakleszczenia (1)

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Analiza algorytmów zadania podstawowe


KINEMATYKA MANIPULATORÓW

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Przydatne sztuczki - sql. Na przykładzie postgres a.

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Laboratorium ochrony danych



Transkrypt:

Zadane 1 Udowodnj, że CAUS PRAM Załóżmy przetwarzane przyczynowo spójne. Dla każdego obrazu hstor hv zachodz zatem: O OW O OW x X p j o O o1 o2 o1 o2 o1 j o2 ( o1 = w( x) v o2 = r( x) v) o1 o2 ( o1 o o2) Zatem zachowana jest własność spójnośc PRAM: O OW p j o1 j o2 o1 o2

Zadane 2 Udowodnj, że SEQ CAUS Podpowedź: Dowód newprost Zastosować prawo zaprzeczena mplkacj ( p q) ( p q) do defncj spójnośc przyczynowej Dla o1 o2 żądanych przez różne procesy rozważyć możlwe kombnacje operacj odczytu zapsu Rozwązane: Dowód newprost: Załóżmy, że kolekcja obrazów poszczególnych procesów spełna własnośc spójnośc sekwencyjnej ne spełna własnośc spójnośc przyczynowej. Zatem dla pewnego (1 n) O OW O OW ( o1 o2 o1 / o2) ( ) o1 j o2 o1 = wxv ( ) o2 = rxv ( ) j x X ( o1 o o2 ) o O o1 / o2

Rozwązane cd: Rozważmy trzy przypadk: 1. 2. O OW j o1 j o2 o1 / o2 Sprzeczność z defncją spójnośc sekwencyjnej. O OW x X o1 = w( x) v o2 = r( x) v o1 / o2 ( ) Sprzeczność z własnoścą uszeregowana legalnego. Rozwązane cd: 3. Załóżmy, że o1 o2 są operacjam wywoływanym przez różne procesy. Rozpatrzmy następujące przypadk: A. o1 = w(x)v o2 = w(y)u Zależność pomędzy dwema operacjam zapsu przyczynowo zależnym: w(x)v r j (x)v w j (y)u. Ze sprzecznośc wykazanej w pkt. 1 2 wynka mplkacja: w(x)v j r j (x)v j w j (y)u w(x)v j w j (y)u.

Rozwązane cd: Z drugego warunku defncj spójnośc sekwencyjnej (w1, w2 OW: =1..n w1 j w2 v =1,..n w2 j w1) w(x)v j w j (y)u zachodz dla każdego j = 1..n. Stąd, z ndukcj: w1 w w2 w1 j w2 w1, w2 OW w OW j= 1.. n Sprzeczność z założenem. Rozwązane cd: B. o1 = w(x)v o2 = r (y)u Możlwe przypadk przyczynowej zależnośc pomędzy o1 o2 są następujące: w(x)v r (y)u (w(x)v w(y)u r (x)v r (y)u o O: w(x)v o r (y)u). Każdy z nch w następujący sposób prowadz do sprzecznośc:

Rozwązane cd:. w(x)v w(y)u w(x)v w(y)u (z pkt. 3a). w(y)u r (y)u w(y)u r (y)u (z pkt. 2) w(x)v r (x)v w(x)v r (x)v (z pkt. 2) r (x)v r (y)u r (x)v r (y)u (z pkt.1). Jeżel przypadek o O: w(x)v o r (y)u ne jest an, to można go zredukować do w(x)v w(z)q r (z)q r (y)u. Stosując odpowedno konkluzje z punktów 3a, 2 1, dostajemy sprzeczność. Rozwązane cd: C. o1 = r (x)v o2 = w(y)u r (x)v w(y)u r (x)v w w(y)u - sprzeczność na postawe punktów 1 3a.

Spójność złożona (complex consstency) W spójnośc CX(SEQ, CAUS, COH, PROC, PRAM) obraz hv hstor h mus spełnać warunk: 1. w1 w2. w2 w1 w1, w2 OW = 1.. n = 1.. n SEQ 2.. w1 w2 w2 w1 x X w1, w2 OW O x = 1.. n = 1.. n COH ( ) 3. o1 o2 o1. o2 O OW CAUS 4. o1. j o2 o1 o2 1, 2 ( COH ) PRAM = 1.. o o O O OW j n Spójność złożona (complex consstency) OW mod zbór wszystkch operacj zapsu żądanych w modelu spójnośc mod. OW SEQ OW CAUS OW PRAM, OW SEQ OW PROC, OW PROC OW PRAM OW PROC OW COH

Zadane 3 Dany jest algorytm Petersona wzajemnego wykluczana dla 2 procesów. Algorytm ten zapsano przy użycu spójnośc złożonej. Z jakm rodzajem spójnośc (MOD =?) należy wykonywać operacje zapsu, aby algorytm dzałał poprawne? Zadane 3 shared flag[0..1]: Boolean /* ntally false */ turn: nteger /* ntally 0 or 1 */ whle true do flag[] := true turn := 1 wat for turn = or not flag[1 ] crtcal secton flag[] := false /* ext secton */ remnder secton end whle Fgure 1. Peterson s algorthm as executed by a process p

Zadane 3 shared flag[0..1]: Boolean /* ntally false */ turn: nteger /* ntally 0 or 1 */ local other : Boolean ; whose : nteger whle true do w MOD (flag[])true w MOD (turn)1 repeat r(turn)whose r(flag[1 ])other untl(whose = or not other ) crtcal secton w MOD (flag[])false /* ext secton */ remnder secton end whle Fgure 2. PetersonME2P_CX algorthm as executed by a process p Zadane 3 P 0 flag[0] := T PROC turn := 1 PROC wat for turn = 0or not flag[1] crtcal secton P 1 flag[1] := T PROC turn := 0 PROC wat for turn = 1or not flag[0] crtcal secton flag[0] := F PROC flag[1] := F PROC Czy może być spójność słabsza nż PROC?

Zadane 4 Udowodnj, że dla zaproponowanych model algorytm z zad.3 jest poprawny. Dowód newprost: Załóżmy, że algorytm pozwala, by oba procesy weszły do sekcj krytycznej. Każdy z procesów wykonuje jedną z sekwencj operacj: A) w PRAM, (flag[])true, w PROC, (turn)1-, r (turn), r (flag[])*, B) w PRAM, (flag[])true, w PROC, (turn)1-, r (turn)*, r (flag[])false. p0:... 0 w PROC,0 (turn)1 0 w PROC,1 (turn)0 0 r 0 (turn)0 0..., p1:... 1 w PROC,1 (turn)0 1 w PROC,0 (turn)1 1 r 1 (turn)1 1... p 0 w PRAM,0 (flag[0])true w PROC,0 (turn)1 r 0 (turn)0 r 0 (flag[1])* p 1 w PRAM,1 (flag[1])true w PROC,1 (turn)0 r 1 (turn)1 r 1 (flag[0])* Executon of the sequence A by processes p0 and p1 Naruszona własność koherencj.

p 0 :... 0 w PROC,0 (turn)1 0... 0 r 0 (flag[1])false 0 w PRAM,1 (flag[1])true 0 w PROC,1 (turn)0 w PROC,0 (turn)1 0 w PROC,1 (turn)0, p 1 :... 1 w PROC,1 (turn)0 1... 1 r 1 (flag[0])false 1 w PRAM,0 (flag[0])true 1 w PROC,0 (turn)1 w PROC,1 (turn)0 1 w PROC,0 (turn)1 p 0 w PRAM,0 (flag[0])true w PROC,0 (turn)1 r 0 (turn)* r 0 (flag[1])false p 1 w PRAM,1 (flag[1])true w PROC,1 (turn)0 r 1 (turn)* r 1 (flag[0])false Executon of the sequence B by processes p0 and p1 Naruszona własność koherencj. p 0 :... 0 w PROC,0 (turn)1 0... 0 r 0 (flag[1])false 0 w PRAM,1 (flag[1])true 0 w PROC,1 (turn)0 w PROC,0 (turn)1 0 w PROC,1 (turn)0, p 1 :... 1 w PROC,1 (turn)0 1 w PROC,0 (turn)1 1 r 1 (turn)1 1..., p 0 w PRAM,0 (flag[0])true w PROC,0 (turn)1 r 0 (turn)* r 0 (flag[1])false p 1 w PRAM,1 (flag[1])true w PROC,1 (turn)0 r 1 (turn)1 r 1 (flag[0])* Executon of sequence B by process p0 and sequence A by p1 Naruszona własność koherencj.

p 0 :... 0 w PROC,0 (turn)1 0 w PROC,1 (turn)0 0 r 0 (turn)0 0..., p 1 :... 1 w PROC,1 (turn)0 1... 1 r 1 (flag[0])false 1 w PRAM,0 (flag[0])true 1 w PRAM,0 (turn)1 w PROC,1 (turn)0 1 w PROC,0 (turn)1, p 0 w PRAM,0 (flag[0])true w PROC,0 (turn)1 r 0 (turn)0 r 0 (flag[1])* p 1 w PRAM,1 (flag[1])true w PROC,1 (turn)0 r 1 (turn)* r 1 (flag[0])false Executon of sequence A by process p0 and sequence B by p1 Naruszona własność koherencj.