Losowość w rozproszonym modelu

Podobne dokumenty
Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

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

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Detekcja zakleszczenia (1)

Mechanizmy pracy równoległej. Jarosław Kuchta

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

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

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Wstęp do programowania

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

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

5. Model komunikujących się procesów, komunikaty

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

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Wykład 1. Systemy przekazywania wiadomości z założeniem bezbłędności działania

KURS PRAWDOPODOBIEŃSTWO

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Wstęp do sieci neuronowych, wykład 04. Skierowane sieci neuronowe. Algorytmy konstrukcyjne dla sieci skierowanych

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Wykład 6. Wyszukiwanie wzorca w tekście

Sieć (graf skierowany)

Technologie Informacyjne

Modyfikacja algorytmów retransmisji protokołu TCP.

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Metody Rozmyte i Algorytmy Ewolucyjne

Przetwarzanie rozproszone

Prawdopodobieństwo. Prawdopodobieństwo. Jacek Kłopotowski. Katedra Matematyki i Ekonomii Matematycznej SGH. 16 października 2018

Problem detekcji zakończenia

Prawdopodobieństwo warunkowe Twierdzenie o prawdopodobieństwie całkowitym

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wirtualna centralka telefoniczna P2P

Przesyłania danych przez protokół TCP/IP

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

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

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

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Sieci komputerowe. Wykład 1: Podstawowe pojęcia i modele. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Risk-Aware Project Scheduling. SimpleUCT

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

Teoria obliczeń i złożoność obliczeniowa

Architektura komputerów. Układy wejścia-wyjścia komputera

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Sieci Mobilne i Bezprzewodowe laboratorium 2 Modelowanie zdarzeń dyskretnych

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

Algorytmy Komunikacyjne dla Trójwymiarowych Sieci Opartych na Plastrze Miodu. Ireneusz Szcześniak. Politechnika Śląska 20 czerwca 2002 r.

Optymalizacja. Przeszukiwanie tabu

Algorytmy dla maszyny PRAM

Sortowanie przez scalanie

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Rachunek prawdopodobieństwa- wykład 2

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Weryfikacja hipotez statystycznych

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

VIII. TELEPORTACJA KWANTOWA Janusz Adamowski

Diagnozowanie sieci komputerowej metodą dialogu diagnostycznego

Podstawy i języki programowania

Obliczenia inspirowane Naturą

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Statystyka matematyczna

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Iteracyjne rozwiązywanie równań

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

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

Zwiększanie losowości

Wykład 5: Specyfikacja na poziomie systemowym

Lista 5. Zadanie 3. Zmienne losowe X i (i = 1, 2, 3, 4) są niezależne o tym samym

Kolejkowanie wiadomości Standard MQ (JMS)

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

8. Podejmowanie Decyzji przy Niepewności

Technologie Informacyjne

Teoretyczne podstawy informatyki

Bizantyńscy generałowie: zdrada, telekomunikacja i fizyka

Hardware mikrokontrolera X51

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Spacery losowe generowanie realizacji procesu losowego

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

Podstawy symulacji komputerowej

Poprawność algorytmów

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Wykładnicze grafy przypadkowe: teoria i przykłady zastosowań do analizy rzeczywistych sieci złożonych

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Lista zadania nr 7 Metody probabilistyczne i statystyka studia I stopnia informatyka (rok 2) Wydziału Ekonomiczno-Informatycznego Filia UwB w Wilnie

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Znajdowanie skojarzeń na maszynie równoległej

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

Uczenie sieci typu MLP

Procesy stochastyczne

Transkrypt:

Losowość w rozproszonym modelu Model: ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć brak wspólnej pamięci typu PRAM ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć brak wspólnej pamięci typu PRAM wymiana informacji odbywa sie za pomoca połaczeń ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Losowość w rozproszonym modelu Model: zbiór procesorów, które moga pracować jednocześnie, połaczonych w sieć brak wspólnej pamięci typu PRAM wymiana informacji odbywa sie za pomoca połaczeń Złożoność czasowa: mierzona liczba równoległych rund ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Losowość w rozproszonym modelu Problem: Porozumienie bizantyjskie ALP520 - Wykład z Algorytmów Probabilistycznych p.3

Losowość w rozproszonym modelu Problem: Porozumienie bizantyjskie Trochę historii: ALP520 - Wykład z Algorytmów Probabilistycznych p.3

Losowość w rozproszonym modelu Problem: Porozumienie bizantyjskie Trochę historii: 1453 - Oblężenie Konstantynopola (Bizancjum) 1982(Lamport, Pease i Shosta) formułuja klasyczny problem koordynacji w rozproszonym modelu obliczeń: Czy zbiór jednocześnie pracujacych procesorów może osiagn ać wspólne porozumienie mimo błędnej pracy pewnej grupy spośród nich? ALP520 - Wykład z Algorytmów Probabilistycznych p.3

Porozumienie bizantyjskie Bład ( zwany bizantyjskim) oznacza, że wadliwy procesor może się zachowywać zupełnie dowolnie i nawet spiskować z innymi wadliwymi procesorami w celu udaremnienia zrealizowania zadania pozostałym. ALP520 - Wykład z Algorytmów Probabilistycznych p.4

Porozumienie bizantyjskie Bład ( zwany bizantyjskim) oznacza, że wadliwy procesor może się zachowywać zupełnie dowolnie i nawet spiskować z innymi wadliwymi procesorami w celu udaremnienia zrealizowania zadania pozostałym. Identyfikatory wadliwych procesorów nie sa znane i bład może wystapić w dowolnym, nieprzewidzianym momencie. ALP520 - Wykład z Algorytmów Probabilistycznych p.4

Zastosowania NASA i zostosowania militarne system kontroli lotów zastosowania w medycynie wybory elektroniczne elektroniczne aukcje elektroniczne negocjacje ALP520 - Wykład z Algorytmów Probabilistycznych p.5

Zastosowania NASA i zostosowania militarne system kontroli lotów zastosowania w medycynie wybory elektroniczne elektroniczne aukcje elektroniczne negocjacje ALP520 - Wykład z Algorytmów Probabilistycznych p.5

Problem Porozumienia Bizantyjskiego Czy możliwe jest porozumienie procesorów przy dużej liczbie wadliwych (przekłamujacych) jednostek? ALP520 - Wykład z Algorytmów Probabilistycznych p.6

Problem Porozumienia Bizantyjskiego Czy możliwe jest porozumienie procesorów przy dużej liczbie wadliwych (przekłamujacych) jednostek? Dane: zbiór n procesorów: t wadliwych i n t dobrych i [n] procesor P i posiada wejściowy bit b i {0, 1} i musi podać na wyjściu swoja decyzję d i {0, 1} ALP520 - Wykład z Algorytmów Probabilistycznych p.6

Problem Porozumienia Bizantyjskiego Czy możliwe jest porozumienie procesorów przy dużej liczbie wadliwych (przekłamujacych) jednostek? Dane: zbiór n procesorów: t wadliwych i n t dobrych i [n] procesor P i posiada wejściowy bit b i {0, 1} i musi podać na wyjściu swoja decyzję d i {0, 1} Założenia dotyczace komunikacji: komunikacja synchroniczna identyfikacja (odbiorca zna identyfikator nadawcy) peer-to-peer ( graf pełny) ALP520 - Wykład z Algorytmów Probabilistycznych p.6

Założenia dotyczace protokołu ALP520 - Wykład z Algorytmów Probabilistycznych p.7

Założenia dotyczace protokołu i [n t],b i = b j [n t],d j = b jeśli wszystkie dobre procesory maja ten sam bit wejściowy, to taka jest ich wspólna decyzja P i,p j : i,j [n t], d i = d j dobre procesory kończa ze wspólna decyzja ALP520 - Wykład z Algorytmów Probabilistycznych p.7

Założenia dotyczace protokołu i [n t],b i = b j [n t],d j = b jeśli wszystkie dobre procesory maja ten sam bit wejściowy, to taka jest ich wspólna decyzja P i,p j : i,j [n t], d i = d j dobre procesory kończa ze wspólna decyzja w czasie jednej rundy każdy procesor może: wysłać jeden komunikat do każdego innego procesora (niekoniecznie ten sam) odebrać komunikat od każdego procesora ALP520 - Wykład z Algorytmów Probabilistycznych p.7

Założenia dotyczace protokołu Dobre procesory stosuja się do reguł. ALP520 - Wykład z Algorytmów Probabilistycznych p.8

Założenia dotyczace protokołu Dobre procesory stosuja się do reguł. Wadliwe procesory moga wysyłać zupełnie dowolne komunikaty do dowolnych procesorów. Zakładamy, że spiskuja ze soba (na poczatku każdej rundy) w celu zmaksymalizowania zniszczeń. ALP520 - Wykład z Algorytmów Probabilistycznych p.8

Założenia dotyczace protokołu Dobre procesory stosuja się do reguł. Wadliwe procesory moga wysyłać zupełnie dowolne komunikaty do dowolnych procesorów. Zakładamy, że spiskuja ze soba (na poczatku każdej rundy) w celu zmaksymalizowania zniszczeń. Badamy liczbę rund niezbędna do osiagnięcia porozumienia. ALP520 - Wykład z Algorytmów Probabilistycznych p.8

Wynik deterministyczny Dowolny protokół deterministyczny wymaga t + 1 rund (praca Fischera i Lyncha 1982). ALP520 - Wykład z Algorytmów Probabilistycznych p.9

Wynik deterministyczny Dowolny protokół deterministyczny wymaga t + 1 rund (praca Fischera i Lyncha 1982). Pokażemy losowy algorytm o stałej oczekiwanej liczbie rund (triumf losowości). ALP520 - Wykład z Algorytmów Probabilistycznych p.9

Wynik deterministyczny Dowolny protokół deterministyczny wymaga t + 1 rund (praca Fischera i Lyncha 1982). Pokażemy losowy algorytm o stałej oczekiwanej liczbie rund (triumf losowości). Założenia : ALP520 - Wykład z Algorytmów Probabilistycznych p.9

Wynik deterministyczny Dowolny protokół deterministyczny wymaga t + 1 rund (praca Fischera i Lyncha 1982). Pokażemy losowy algorytm o stałej oczekiwanej liczbie rund (triumf losowości). Założenia : Ktoś (Bóg?) rzuca uczciwa moneta w każdym kroku (uproszczenie prezentacji). t n 8, n = 8k, L = 8 5n + 1, H = 3 4 n + 1, G = 7 8 n (wystarczy L n 2 + t + 1, H L + t) ALP520 - Wykład z Algorytmów Probabilistycznych p.9

Losowy algorytm rozproszony (Rabin) Równolegle, każdy procesor wykonuje następujaca procedurę: ALP520 - Wykład z Algorytmów Probabilistycznych p.10

Losowy algorytm rozproszony (Rabin) Równolegle, każdy procesor wykonuje następujaca procedurę: Algorytm BYZGEN In: bit b i Out: decyzja d i 1. glos := b i 2. w każdej rundzie wykonaj (a) Rozgłoś wszystkim glos (b) Odbierz glosy od pozostałych procesorów (c) Maj wartość, która wystapiła u większości spośród wszystkich n procesorów (d) ilosc liczba wystapień Maj (e) if moneta = ORZEL then prog L else prog H (f) ilosc prog then glos Maj else glos 0. (g) ilosc G then d i := Maj (na stałe). ALP520 - Wykład z Algorytmów Probabilistycznych p.10

Analiza Algorytmu BYZGEN Fakt. Jeśli wszystkie dobre procesory rozpoczna jakaś rundę z ta sama wartościa poczatkow a, to w stałej liczbie rund wartość ta będzie ich wspólna decyzja. ALP520 - Wykład z Algorytmów Probabilistycznych p.11

Analiza Algorytmu BYZGEN Fakt. Jeśli wszystkie dobre procesory rozpoczna jakaś rundę z ta sama wartościa poczatkow a, to w stałej liczbie rund wartość ta będzie ich wspólna decyzja. Przypadek trudniejszy: różne wartości na starcie. ALP520 - Wykład z Algorytmów Probabilistycznych p.11

Analiza Algorytmu BYZGEN Fakt. Jeśli wszystkie dobre procesory rozpoczna jakaś rundę z ta sama wartościa poczatkow a, to w stałej liczbie rund wartość ta będzie ich wspólna decyzja. Przypadek trudniejszy: różne wartości na starcie. 1) dwa dobre procesory obliczaja różne wartości Maj w (c) ilosc nie przekracza progu i w następnym kroku d i = 0 i [n t]. 2) wszystkie dobre procesory obliczaja tę sama wartość Maj ALP520 - Wykład z Algorytmów Probabilistycznych p.11

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? zmiana wartości progu L lub H ( co najwyżej jednej z nich w jednej rundzie, bo różnica t) ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? zmiana wartości progu L lub H ( co najwyżej jednej z nich w jednej rundzie, bo różnica t) losowość ma im w tym przeszkodzić ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? zmiana wartości progu L lub H ( co najwyżej jednej z nich w jednej rundzie, bo różnica t) losowość ma im w tym przeszkodzić zatem z prawdopodobieństwem 1 2 mamy zły prog ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? zmiana wartości progu L lub H ( co najwyżej jednej z nich w jednej rundzie, bo różnica t) losowość ma im w tym przeszkodzić zatem z prawdopodobieństwem 1 2 mamy zły prog powtarzajac do pierwszego sukcesu ( prawdziwa wartość progu) wykonujemy średnio 2 rundy. ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Analiza Algorytmu BYZGEN cd. W jaki sposób wadliwe procesory moga przeszkodzić dobrym w podjęciu wspólnej decyzji w jednej rundzie? zmiana wartości progu L lub H ( co najwyżej jednej z nich w jednej rundzie, bo różnica t) losowość ma im w tym przeszkodzić zatem z prawdopodobieństwem 1 2 mamy zły prog powtarzajac do pierwszego sukcesu ( prawdziwa wartość progu) wykonujemy średnio 2 rundy. jest to algorytm Las Vegas ALP520 - Wykład z Algorytmów Probabilistycznych p.12

Podsumowanie ALP520 - Wykład z Algorytmów Probabilistycznych p.13

Podsumowanie Twierdzenie. Wartość oczekiwana liczby rund algorytmu losowego BYZGEN do momentu osiagnięcia porozumienia jest stała. ALP520 - Wykład z Algorytmów Probabilistycznych p.13

Zadania/Pytania ALP520 - Wykład z Algorytmów Probabilistycznych p.14

Zadania/Pytania 1. Dodać kryterium stopu do procedury BYZGEN zatrzymujace wszystkie dobre procesory po osiagnięciu porozumienia. ALP520 - Wykład z Algorytmów Probabilistycznych p.14

Zadania/Pytania 1. Dodać kryterium stopu do procedury BYZGEN zatrzymujace wszystkie dobre procesory po osiagnięciu porozumienia. 2. Czy w procedurze BYZGEN wszystkie dobre procesory podejmuja decyzję w tej samej rundzie? ALP520 - Wykład z Algorytmów Probabilistycznych p.14

Zadania/Pytania 1. Dodać kryterium stopu do procedury BYZGEN zatrzymujace wszystkie dobre procesory po osiagnięciu porozumienia. 2. Czy w procedurze BYZGEN wszystkie dobre procesory podejmuja decyzję w tej samej rundzie? 3. Model asynchroniczny? ALP520 - Wykład z Algorytmów Probabilistycznych p.14