Przetwarzanie rozproszone. Jerzy Brzeziński

Podobne dokumenty
Wprowadzenie. Plan wykładu. Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński. Cechy systemów rozproszonych

Rozwój technologiczny

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

Rozproszone systemy operacyjne

GRIDY OBLICZENIOWE. Piotr Majkowski

Problem detekcji zakończenia

Algorytmy i Struktury Danych

Laboratorium Chmur obliczeniowych. Paweł Świątek, Łukasz Falas, Patryk Schauer, Radosław Adamkiewicz

Wprowadzenie. Plan wykładu

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Cechy systemów rozproszonych

Wprowadzenie. Plan wykładu

Obliczenia Wysokiej Wydajności

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Uslugi chmurowe dla nauki na podstawie BonFIRE

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

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Protokoły sieciowe - TCP/IP

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

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

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Klaster obliczeniowy

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

Referat pracy dyplomowej

Uniwersalny Konwerter Protokołów

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Proces rozproszony 1

Wykłady z przedmiotu Sieci komputerowe podstawy Wykład 1

Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Detekcja zakleszczenia (1)

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

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

Budowa Mikrokomputera

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

Obliczenia Wysokiej Wydajności

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

Administracja środowiskiem informatycznym projektu ZSZ

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Wykład I. Wprowadzenie do baz danych

SIECI KOMPUTEROWE. Podstawowe wiadomości

Przesyłania danych przez protokół TCP/IP

Analiza ilościowa w przetwarzaniu równoległym

Programowanie Rozproszone i Równoległe. Edward Görlich goerlich@th.if.uj.edu.pl

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

Architektura i administracja systemów operacyjnych

Problemy rozwoju Internetu kwantowego

Wirtualizacja zasobów IPv6 w projekcie IIP

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Virtual Grid Resource Management System with Virtualization Technology

Sposób funkcjonowania

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

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER

Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1

Zenoss. Monitorowanie nowoczesnej serwerowni

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Architektura komputerów

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Zadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011

Systemy Rozproszone. Zagadnienia do egzaminu.

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Wymagania systemowe Dla przedsiębiorstw i średnich firm

Przetwarzanie Rozproszone i Równoległe

16. Taksonomia Flynn'a.

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

DZANIA I MARKETINGU BIAŁYSTOK,

Tworzenie aplikacji bazodanowych

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

LEKCJA TEMAT: Zasada działania komputera.

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

WLAN bezpieczne sieci radiowe 01

Programowanie współbieżne i rozproszone

Transkrypt:

Wprowadzenie Jerzy Brzeziński

Literatura 1. J. Bacon, Concurrent Systems - An Integrated Approach to Operating Systems, Addison Wesley, 1992. 2. J. Brzeziński, Ocena stanu globalnego w systemach rozproszonych, OWN 2001 3. K. M. Chandy, J. Misra, Parallel Program Design, A Foundation, Addison Wesley, 1988. 4. A. Gościński, Distributed Operating Systems, The Logical Design, Addison Wesley, 1991. 5. J.M. Helary, M. Raynal, Synchronization and Control of Distributed Systems and Programs, John Wiley & Sons, 1990. 6. K. Hwang, F. Briggs, Computer Architecture and Parallel Processing, McGraw Hill, 1984. 7. J.Jaja, An Introduction to Parallel Algorithms, Addison Wesley, 1992. 8. N. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, Inc., 1996. 9. S.J. Müllender, Distributed Systems, ACM Press, 1993. 10. M. Raynal, Ditributed Algorithms and Protocols, John Wiley & Sons, 1988. 11. M. Singhal, N.G. Shivaratri, Advanced Concepts in Operating Systems Distributed, Database, and Multiprocessor Operating Systems, McGraw Hill, 1994. 12. A. Tanenbaum, M. van Steen, Distributed Systems. Principles and Paradigms,Prentice Hall, 2002. 13. G.Tel, Introduction to Distributed Algorithms, Cambridge University Press, 1994. 14. http://distributedcomputing.info/ - portal na temat przetwarzania rozproszonego 15. http://library.thinkquest.org/c007645/ - strona edukacyjna na temat systemów rozproszonych 16. http://www.hyper.net/dc-howto.html - krótka charakterystyka największych projektów DC Wprowadzenie (2)

Plan wykładu Wprowadzenie Podstawowe definicje Charakterystyka środowiska przetwarzania rozproszonego Przykłady środowisk Internet GRID Przetwarzanie rozproszone @Home Google Wprowadzenie (3)

Rozproszony system informatyczny Rozproszony system informatyczny obejmuje: środowisko przetwarzania rozproszonego węzły, łącza zbiór procesów rozproszonych zbiór procesów sekwencyjnych realizujących wspólne cele przetwarzania Wprowadzenie (4)

Środowisko przetwarzania rozproszonego Środowisko przetwarzania rozproszonego jest zbiorem autonomicznych jednostek przetwarzających N i (węzłów), zintegrowanych siecią komunikacyjną (środowiskiem komunikacyjnym, łączami komunikacyjnymi, łączami transmisyjnymi). Wprowadzenie (5)

Komunikacja w środowisku przetwarzania rozproszonego Komunikacja między węzłami możliwa jest tylko przez transmisję pakietów informacji (wiadomości, komunikatów) łączami komunikacyjnymi. Wprowadzenie (6)

Zegary w środowisku przetwarzania rozproszonego Jednostki przetwarzające realizują przetwarzanie z prędkością narzucaną przez lokalne zegary. zegary są niezależne węzły działają asynchronicznie. zegary są zsynchronizowane lub istnieje wspólny zegar globalny dla wszystkich węzłów węzły działają synchronicznie. Wprowadzenie (7)

Węzeł Jednostka przetwarzająca N i (węzeł) jest elementem środowiska przetwarzania rozproszonego obejmującym: procesor lokalną pamięć operacyjną interfejs komunikacyjny Wprowadzenie (8)

Łącze komunikacyjne Łącze komunikacyjne jest elementem umożliwiającym transmisję informacji między interfejsami odległych węzłów. Wyróżnia się łącza jedno- i dwu-kierunkowe. Wprowadzenie (9)

Bufory łącza Łącza są wyposażone w bufory o określonej pojemności (ang. links capacity). Jeżeli łącze nie posiada buforów (jego pojemność jest równa zero), to mówimy o łączu nie buforowanym, w przeciwnym razie o buforowanym. Wprowadzenie (10)

Kolejność odbierania komunikatów Łącze FIFO kolejność odbierania komunikatów wysyłanych z danego węzła jest zgodna z kolejnością ich wysyłania Łącze nonfifo w przeciwnym przypadku Wprowadzenie (11)

Niezawodność łącza Łącza mogą gwarantować również, w sposób niewidoczny dla użytkownika, że żadna wiadomość nie jest tracona, duplikowana lub zmieniana są to tzw. łącza niezawodne (ang. reliable, lossless, duplicate free, error free, uncorrupted, no spurious). Wprowadzenie (12)

Czas transmisji Czas transmisji w łączu niezawodnym (ang. transmission delay, in-transit time) może być ograniczony lub jedynie określony jako skończony lecz nieprzewidywalny. Wprowadzenie (13)

Struktura środowiska przetwarzania Często przedstawiana jako graf: w którym : =, wierzchołki grafu V i reprezentują jednostki przetwarzające N i, krawędzie (V i, V j ),, grafu niezorientowanego lub łuki V i, V j grafu zorientowanego, reprezentują odpowiednio łącza dwu- lub jedno-kierunkowe. Wprowadzenie (14)

Przykłady topologii Wprowadzenie (15)

Cechy systemów rozproszonych duża wydajność duża efektywność inwestowania wysoka sprawność wykorzystania zasobów skalowalność wysoka niezawodność otwartość funkcjonalną Wprowadzenie (16)

Problemy związane z konstrukcją systemów rozproszonych optymalne zrównoleglenie algorytmów przetwarzania ocena poprawności i efektywności algorytmów rozproszonych alokacja zasobów rozproszonych synchronizacja procesów ocena globalnego stanu przetwarzania realizacja zaawansowanych modeli przetwarzania niezawodność bezpieczeństwo Wprowadzenie (17)

Motywy różnorodność otwartych problemów związanych z konstrukcją i zarządzaniem systemami rozproszonymi ogromne rzeczywiste zapotrzebowanie na systemy rozproszone dostępność środków technicznych i praktyczne możliwości realizacji systemów rozproszonych Wprowadzenie (18)

Skala przetwarzania Systemy końcowe (ang. end systems) Klastry (ang.clusters) Sieci intranetowe (ang. intranets) Internet Wprowadzenie (19)

Klasy zastosowań Aplikacje wykorzystujące przetwarzanie rozproszone na wielu jednostkach obliczeniowych (ang. distributed supercomputing) Aplikacje wymagające dużej przepustowości (ang. high throughput) Aplikacje na żądanie (ang. on demand) Aplikacje intensywnie przetwarzające dane (ang. data intensive) Aplikacje umożliwiające współpracę (ang. collaborative) Wprowadzenie (20)

50 sek Idea zrównoleglenia 32 sek 12 4 4 4 Wprowadzenie (21)

TOP500 Obecnie na I miejscu : IBM - BlueGene/L 212992 CPU, (131072) 478.2 TFlop/s, (280.6) 73728 GB RAM (32768 GB) Ostatni komputer na liście ma 1344 CPU i moc przekraczającą 5 TFlop/s (2) Prawo Moor a na temat szybkości komputerów jest nadal prawdziwe! Wprowadzenie (22)

Blue Gene Poszukiwanie protein jest obecnie największym wyzwaniem jeżeli chodzi o moc obliczeniową. Najnowsze superkomputery stworzone przez firmę IBM (Blue Gene, Blue Gene/L) były budowane głównie z myślą o tego typu obliczeniach. Efektywna Moc obliczeniowa tego ostatniego jest szacowana na ok. 480 TeraFLOPS. Ochotnicy z całego świata uczestniczący w projekcie Folding@Home oferują moc obliczeniową przekraczającą 1191 TeraFLOPS. Podobnie sprawa wygląda jeśli chodzi o projekt SETI@HOME, w którym dostarczona moc szacowana jest na 260 TeraFLOPS. Cała platforma BOINC oferuje moc sumaryczną przekraczającą 900 TeraFLOPS! Wprowadzenie (23)

Blue Gene - architektura Wprowadzenie (24)

MDGRAPE-3 Uruchomiony w 2006 w Japonii w instytucie badawczym RIKEN. Ponieważ nie jest maszyną uniwersalną, tylko dedykowaną do pewnych obliczeń, nie został uwzględniony w TOP500. Jego moc to 1 PetaFLOPS! Wprowadzenie (25)

Internet środowisko rozproszone Wprowadzenie (26)

Internet liczba użytkowników sieci Liczba użytkowników sieci Internet [mln] 1995 2002 2007? (2012) 45 445.9 1 200 2 000 Źródło: Computer Industry Almanac 02.2007 Wprowadzenie (27)

Internet dostęp do sieci Dostęp do sieci Internet wg krajów [ mln osób] USA 210.2 (197.8) Chiny 131.1 (119.5) Japonia 90.9 (86.3) Indie 67.6 (50.6) Niemcy 50.3 (46.3) Polska 13.9 (10.6) Źródło: Computer Industry Almanac 02.2007 Wprowadzenie (28)

GRID A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities / Ian Foster / Wprowadzenie (29)

GRID cechy dependable consistent pervasive inexpensive usługa wiarygodna użytkownicy żądają pewności, że otrzymają przewidywalny, nieprzerwany poziom wydajności dzięki różnym elementom tworzącym GRID. usługa powszechnie dostępna (wszechobecna) usługa zawsze powinna być dostępna, niezależnie od tego gdzie znajduje się użytkownik tej usługi. usługa spójna potrzebny jest standardowy serwis, dostępny poprzez standardowe interfejsy, pracujący ze standardowymi parametrami. usługa relatywnie tania (opłacalna) dostęp do usługi powinien być relatywnie tani, tak by korzystanie z takiej usługi było atrakcyjne także z ekonomicznego punktu widzenia. Wprowadzenie (30)

Trzy spojrzenia na GRID Użytkownik Wirtualny komputer, który minimalizuje czas wykonania obliczeń oraz zapewnia dostęp do zasobów Programista Zestaw narzędzi i interfejsów zapewniających przezroczysty dostęp do danych Administrator Środowisko umożliwiające monitorowanie, administrowanie i bezpieczne używanie rozproszonych zasobów obliczeniowych, dyskowych oraz sieciowych Wprowadzenie (31)

Czego GRID nie może naruszać bezpieczeństwa i autonomii poszczególnych jednostek wchodzących w jego skład powodować konfliktów w działaniu z istniejącym już oprogramowaniem narzucać użytkownikom języków programowania, narzędzi, bibliotek do programowania równoległego, itp. Wprowadzenie (32)

Co GRID powinien umożliwiać rozproszenie geograficzne zasobów obsługiwać heterogeniczność sprzętową i programową być połączony poprzez heterogeniczną sieć korzystać z ogólnie dostępnych, standardowych protokołów i interfejsów być odporny na zawodny sprzęt pozwalać na dynamikę dostępu do sprzętu zrzeszać różne organizacje ( wirtualne ) z ich własnymi politykami bezpieczeństwa i dostępu do zasobów Wprowadzenie (33)

Przykładowe projekty przetwarzania rozproszonego SETI Cure Cancer Fight Anthrax Prime Numbers Distributed.net GIMPS FreeDB.org The Internet Movie Database The Distributed Chess Project Wikipedia Dmoz Open Directory Project ClimatePrediction.net Lifemapper Wprowadzenie (34)

SETI@HOME Czy jest tam ktoś? Poszukiwania cywilizacji pozaziemskich (ang. Search for Extra-Terrestrial Intelligence) 1998 - plany realizacji projektu SETI@home 400 000 chętnych wstępnie rejestruje się w ciągu następnego roku 1999 - pierwsza wersja oprogramowania 200 000 pobrań w ciągu tygodnia!!! Luty 2005 liczba uczestników 5 361 313 osób, (z 226 krajów) Wykonano 6.523404e+21 operacji zmiennoprzecinkowych Średnia moc (24h) - 250 TeraFLOPs/sec Wprowadzenie (35)

SETI@HOME : jak to działa? data recorder splitter database server work unit storage clients Arecibo telescope Arecibo Observatory garbage collector U.C. Berkeley (server complex) data/result server Participants (worldwide) Wprowadzenie (36)

SETI@HOME Work-units Źródło SETI@home 28 lutego 2005 Dane są dzielone na porcje po ok. 0,25 MB (tzn. work-units ), które są wysyłane do uczestników. Dotychczas wygenerowano 218 553 918 próbek z danych uzyskanych za pomocą radioteleskopu w Arecibo. Dane te były przesłane na 1 344 taśmach, czyli średnio na jednej taśmie znajduje się 162 885 próbek. Wprowadzenie (37)

SETI@HOME Mapa nieba Wprowadzenie (38)

Przetwarzanie rozproszone Cure Cancer Lek na raka Motywacja: Koszty leczenia: 37 mld $ bezpośrednie koszty medyczne + 11 mld $ koszty pośrednie Dotychczasowe leki są niedoskonałe, działania uboczne, mało skuteczne Zadanie: Znaleźć molekuły, które będą najbardziej obiecującym punktem startowym w poszukiwaniu leku na raka. Wyniki: I etap analizy został zakończony, trwa II etap Łączny czas przetwarzania CPU (l:d:g:m:s) 219 998y 22d 10h 29m 28s Zwrócono wyników 138 310 239 Liczba uczestnikow 918 238 Liczba komputerów 1 932 678 Wprowadzenie (39)

Cure Cancer katalog protein Vascular Endothelial Growth Factor Superoxide Dismutase Insulin Tyrosine Kinase RAS Proteins Cyclooxygenase C-ABL Tyrosine Kinase Fibroblast Growth Factor Receptor CDK-2 RAF Farnesyltransfe rase Protein-Tyrosine- Phosphatase 1B VEGFr1 Wprowadzenie (40)

Świat walczy z wąglikiem! Zadanie: Przeanalizować i wykluczyć możliwie jak największą liczbę molekuł, które nie będą skutecznym lekiem do walki z wąglikiem. Wyniki: Z początkowej liczby molekuł (3,57 mld) udało się wyodrębnić ok. 300 000 cząstek, które warto analizować w kolejnych etapach badań. Całość została wykonana w ciągu 24 dni (!!!) przy założeniu 5-krotnej weryfikacji danych. Łączny czas przetwarzania CPU (l:d:g:m:s) 6 989l 164d 06h 35m 38s Zwrócono wyników 2 909 726 Wprowadzenie (41)

Dlaczego 1 googol = 10 100 liczba Avogadra = 6,022 x 10 23 liczba atomów lub cząsteczek lub innych cząstek materii w jednym molu substancji złożonej z tychże atomów lub cząsteczek lub cząstek. 70! = 1,19785717 10 100 na ile sposobów można ustawić 70 osób w rzędzie? Liczba Shanon a = 10 120 liczba możliwych partii szachowych Jak daleko jest Googol od nieskończoności? Dokaładnie tak samo daleko jak 1 Wprowadzenie (42)

. początki (Uniwersytet Stanford, Backrub project, 1998): Sun Ultra II Dual 200MHz, 256MB of RAM, 3 x 9GB HDD i 6 x 4GB HDD 2 x 300 MHz Dual Pentium II, 512MB RAM, 9 x 9GB HDD 8 x 9GB HDD (ofiarowany prze IBM). 10 x 9GB HDD (własnoręcznie wykonany) Wprowadzenie (43)

dzisiaj Ponad 450.000 serwerów (533MHz Intel Celeron 1,4GHz Intel Pentium III ) Jeden lub więcej 80GB HDD w każdym serwerze 2 4 GB RAM 5 farm serwerów (Kalifornia,Wirginia, Oregon), [dokładne dane nie są znane] ok. 6.000 procesorów 12.000 HDD Połączenie ze światem OC-48 (2488Mbit/s) Połączenia pomiędzy farmami OC-12 (622Mbit/s) Wprowadzenie (44)

w liczbach 115 międzynarodowych domen 16805 pracowników zatrudnionych na pełen etat obsługuje 104 języki 4 mld stron x 10kB = 40 TB 380 mln wizyt dziennie 2,9 mld zapytań, średnio 1000 żądań/sek 100 dok/s jest pobieranych przez roboty wyszukujące ~300 TeraFlops - moc obliczeniowa Wprowadzenie (45)

Główne zadania 1. Aktualizacja zawartości 2. Indeksowanie przechowywanej zawartości 3. Obsługa żądań użytkowników Wprowadzenie (46)

Schemat architektury Google Store Server URL Server Crawlers Anchors URL Resolver Indexer Repository Links Sorters Doc index Shards(Barrels) Lexicon Searcher PageRank Document Servers Google Web Server Wprowadzenie (47)

Sortowanie rozproszone Rozważmy problem sortowania rozproszonego zbioru składającego się z v różnych liczb naturalnych, w środowisku rozproszonym o n węzłach (procesorach), n < v. Zadaniem każdego procesu jest uporządkowanie przypisanej mu części zbioru liczb naturalnych i wyznaczenie elementu minimalnego Elementy minimalne są wysyłane do lewych sąsiadów. Po otrzymaniu wiadomości z wartością minimalną, proces wyznacza element maksymalny i wysyła go do prawego sąsiada. Wprowadzenie (48)

Sortowanie rozproszone: definicje Zbiór wstępnie podzielony na podzbiory i v i min i max i P i liczba elementów zbioru i minimalny element zbioru i maksymalny element zbioru i procesy tworzące przetwarzanie rozproszone o topologii łańcucha, skojarzone ze zbiorami i. Pary procesów składowych P i, P i +1, połączone są kanałami dwukierunkowymi. Wprowadzenie (49)

Sortowanie rozproszone przykład 7 8 9 4 2 5 3 6 1 7 3 1 4 2 8 6 5 9 1 3 2 4 8 5 7 6 9 1 2 3 5 4 6 8 7 9 Wprowadzenie (50)

Sortowanie rozproszone przykład (2) 7 8 8 4 2 5 3 13 6 18 7 7 4 2 1 3 21 6 6 5 8 2 1 7 4 3 23 5 6 7 5 8 2 1 4 7 3 5 6 8 0 Wprowadzenie (51)

Problem zakończenia Przed chwilą skończyłem Nuda, nie ma co robić. Uff, chyba koniec... Nie, jestem wolny P 4 P 3 P 5 Czy już nastąpił koniec przetwarzania? Ja też Może jeszcze nie? Masz Pracujesz A ty coś skończyłem Co Jak do słychać leci? roboty? P 2 Już skończyłem P 1 Wprowadzenie (52)

Definicje awarii, błędu, wady awaria (ang. failure) działanie (zachowanie) procesu niezgodnie ze specyfikacją błąd (ang. error) składnik stanu procesu odpowiedzialny za będącą jego następstwem awarię wada (ang. fault) stwierdzona lub hipotetyczna przyczyna wystąpienia błędu Wprowadzenie (53)

Detektory awarii Detektor awarii to mechanizm rozproszony udostępniający procesom przetwarzania rozproszonego informacje o awariach procesów. W ogólności, detektory nie są doskonałe: mogą się mylić. Istnieją klasy detektorów o różnej jakości detekcji Czy X działa poprawnie? Myślę Raczej że nie tak Proces X Proces Y Wprowadzenie (54)

Rozproszony konsensus Wprowadzenie (55)

Rozproszony konsensus Niektóre procesy mogą ulec awarii... Problem: jak dokonać wyboru? pierwsza otrzymana wartość od predefiniowanego nadawcy najmniejsza/największa otrzymana wartość większość wartości Kanały komunikacyjne mogą dostarczać wiadomości w innej kolejności różnym procesom... Problem: jak długo czekać na zebranie propozycji? Wprowadzenie (56)

Przetwarzanie rozproszone Problem dwóch armii Skąd Muszę generał A, Teraz Atakujemy wystarczy o wysłać świcie, tylko Czy oni kiedyś będzie potwierdzenie, wiedział że że muszę powiadomić dać znać generałowi jego posłaniec dotarł wiem o terminie ataku generała B jego B, że otrzymałem wreszcie? Wyślę...gońca wiadomość... z zaatakują? informacją Armia generała B ( 3000 żołnierzy ) Armia generała A ( 3000 żołnierzy ) Armia generała C ( 5000 żołnierzy ) Wprowadzenie (57)

Przetwarzanie rozproszone Uzgadnianie bizantyjskie ODWRÓT Z uwagi na znaczne siły wroga, tylko równoczesny atak naszych sił może nas doprowadzić do zwycięstwa... ATAK ATAK ATAK ATAK DECYZJA ATAK Wyróżniony jest ODWRÓT dowódca (generał) Wprowadzenie (58)

Uzgadnianie bizantyjskie Jeśli spośród N procesów... poprawnych jest co najmniej 2 razy więcej niż uszkodzonych, a tych jest B można rozwiązać uzgadnianie bizantyjskie w B +1 rundach rozgłaszania decyzji (duża złożoność komunikacyjna) można rozwiązać szybciej, pod warunkiem, że wykorzystamy do podpisywania przekazywanych rozkazów kryptograficzną pieczęć nadawcy Wprowadzenie (59)

Rozwiązanie problemu generałów krok 1, 2 Generał A (2 000 żołnierzy) Generał B (4 000 żołnierzy) A 2 B C D A B C D 4 x 1 2 4 y 1 A B C D 2 4 3 1 2 4 A B C z D 1 Generał C (3 000 żołnierzy) Generał D (1 000 żołnierzy) Wprowadzenie (60)

Rozwiązanie problemu generałów krok 3, 4 A 2 Generał A (2 000 żołnierzy) Generał B (4 000 żołnierzy) B C D A B C D 4 x 1 2 4? y 1 2? 1 2 4 y 1 2 4 x 1 a b c d e f g h 2 4 z 1 2 4 z 1 A B C 2 4 3 D 1 2 4 x 1 2 4 x 1 2 4 y 1 2 4 y 1 2 4 z 1 i j k l Generał C (3 000 żołnierzy) Generał D (1 000 żołnierzy) A 2 B 4 C z D 1 2 4? 1 Wprowadzenie (61)