Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Distributed systems / Communication (II) Systemy rozproszone Komunikacja (II) I.Protokoły warstwowe II.Wywołanie zdalnych procedur III.Wywołanie zdalnych.

Podobne prezentacje


Prezentacja na temat: "1 Distributed systems / Communication (II) Systemy rozproszone Komunikacja (II) I.Protokoły warstwowe II.Wywołanie zdalnych procedur III.Wywołanie zdalnych."— Zapis prezentacji:

1 1 Distributed systems / Communication (II) Systemy rozproszone Komunikacja (II) I.Protokoły warstwowe II.Wywołanie zdalnych procedur III.Wywołanie zdalnych obiektów IV.Komunikacja zorientowana na komunikaty V.Komunikacja potokowa

2 2 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (1) Założenie – system komunikacji zorganizowany w następujący sposób: aplikacje są wykonywane na hostach każdy host podłączony do serwera komunikacyjnego bufory mogą być umieszczane albo na hostach lub na serwerach komunikacyjnych sieci przykład: system poczty komunikacja trwała vs przejściowa komunikacja asynchroniczna – nadawca kontynuuje tuż po wysłaniu komunikatu komunikacja synchroniczna – nadawca blokuje się dopóki komunikat nie znajdzie się w lokalnym buforze odbiorcy lub póki nie jest faktycznie dostarczony do odbiorcy

3 3 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (2) Organizacja systemu komunikacji w którym hosty są połączone poprzez sieć 2-20

4 4 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (3) Trwała przesyłanie listów w czasach konnej poczty.

5 5 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (4) a)Trwała asynchroniczna komunikacja (komunikat przechowywany po stronie nadawcy, ), b)Trwała synchroniczna komunikacja (komunikat przechowywany po stronie odbiorcy )

6 6 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (5) c)Przejściowa asynchroniczna komunikacja (oferowana przez usługi datagramowe na poziomie transportowym np. UDP) d)Oparta o potwierdzenie przejściowa synchroniczna komunikacja Przejściowa synchroniczna: d. oparta o potwierdzenie, e. oparta o dostarczenie, f. oparta o odpowiedź

7 7 Distributed systems / Communication (II) Trwałość i synchroniczność w komunikacji (6) e)Oparta o dostarczenie przejściowa synchroniczna komunikacja przy dostarczniu komunikatu f)Oparta o odpowiedź transient przejściowa synchroniczna komunikacja (RPC, RMI)

8 8 Distributed systems / Communication (II) Przejściowa Komunikacja z przesyłaniem komunikatów interfejs socketowy wprowadzony w Berkeley UNIX, inne interfejsy warstwy transportu: XTI, X / Open Transport Interface, dawniej zwany Transport Layer Interface (TLI), opracowany przez AT & T gniazdo - punkt końcowy komunikacji, do którego aplikacja zapisuje dane, które mają być przesyłane przez daną sieć, i z której napływające dane mogą być odczytane.

9 9 Distributed systems / Communication (II) Sockety Berkeley (1) Primitywy socketowe dla TCP/IP. PrimitywZnaczenie SocketStwórz nowy endpoint BindPrzypisz socketowi lolakny adres ListenZgłoś gotowość przyjęcia połączeń Accept Blokuj stronę wywołującą do nadejścia żądania połączenia ConnectPróbuj nawiązać połączenie SendPrześlij dane ReceiveOdbierz dane CloseZlikwiduj połączenie

10 10 Distributed systems / Communication (II) Sockety Berkeley (2) Połaczeniowa komunikacja z użyciem socketów

11 11 Distributed systems / Communication (II) Message-Passing Interface (MPI) (1) MPI Grupa prymitywów zorientowanych na komunikaty, które pozwalają programistom łatwo pisać wysoko wydajne aplikacje. Gniazda są niewystarczające, ponieważ: na niewłaściwym poziomie abstrakcji wspierają tylko prymitywy wysyłania i odbioru, przeznaczone do komunikowania się za pomocą stosów protokołów ogólnego przeznaczenia takich jak TCP / IP, nie nadają się w szybkich sieciach połączeń, takich jak stosowane na klastrach i MPP (z inną formą buforowania i synchronizacji)

12 12 Distributed systems / Communication (II) Message-Passing Interface (2) Założenia MPI: porozumiewanie się w ramach znanej grupy procesów, każda grupa ma przydzielony id każdy proces w ramach grupy również ma przypisany id, wszystkie poważne awarie (zawiesza proces, podziały sieci) przyjmuje się jako krytyczne i nie do odwrócenia, parę (groupId, ProcessID) używa się do identyfikacji źródła i przeznaczenia wiadomości, tylko przejściowa komunikacja synchroniczna oparta o potwierzenie (d) nie obsługiwana, inne są wspeirane

13 13 Distributed systems / Communication (II) Message-Passing Interface (3) Niektóre prymitywy MPI. PrimitywZnaczenie MPI_bsendAppend outgoing message to a local send buffer MPI_sendSend a message and wait until copied to local or remote buffer MPI_ssendSend a message and wait until receipt starts MPI_sendrecvSend a message and wait for reply MPI_isendPass reference to outgoing message, and continue MPI_issendPass reference to outgoing message, and wait until receipt starts MPI_recvReceive a message; block if there are none MPI_irecvCheck if there is an incoming message, but do not block

14 14 Distributed systems / Communication (II) Trwała komunikacja oparta na komunikatach Systemy kolejkowania komunikatów = Message-Oriented Middleware (MOM) Istota tych systemów: oferują zdolność do średnioterminowego przechowywania wiadomości orientacja na wsparcie przesyłania wiadomości, które mogą trwać minuty zamiast sekund lub milisekund, nie ma gwarancji, kiedy i czy nawet czy wiadomość zostanie rzeczywiście przeczytana, nadawca i odbiorca mogą wykonywać się całkowicie niezależnie

15 15 Distributed systems / Communication (II) Model kolejkowania komunikatów (1) Cztery kombinację dla luźno-związanej komunikacji z użyciem kolejek. 2-26

16 16 Distributed systems / Communication (II) Model kolejkowania komunikatów (2) Podstawowy interfejs do kolejki w systemie kolejkowania komunikatów. Większość systemów kolejkujących umożliwia używanie handlerów jako funkcji typu callback. PrimitywZnaczenie PutAppend a message to a specified queue GetBlock until the specified queue is nonempty, and remove the first message PollCheck a specified queue for messages, and remove the first. Never block. Notify Install a handler to be called when a message is put into the specified queue.

17 17 Distributed systems / Communication (II) Architektura typowego systemu kolejkowania komunikatów (1) Relacja pomiędzy adresacją poziomu kolejki a adresacją poziomu sieci. Kolejka nadawcy, kolejka adresata, baza danych do odwzorowywania nazw kolejek na lokalizację w sieci

18 18 Distributed systems / Communication (II) Architektura typowego systemu kolejkowania komunikatów (2) Organizacja systemu kolejkowania komunikatów z ruterami 2-29 Zarządcy kolejek zwykle współdziałąją z aplikacjami niektóre działają jako rutery lub przekaźniki może się rozwinąć w sieć przekaźnikową, może potrzebować dynamicznego rutowania

19 19 Distributed systems / Communication (II) Brokery komunikatów Organizacja brokera komunikatów w systemie kolejkowania komunikatów 2-30 Broker komunikatów działa jako brama na poziomie aplikacji w systemie kolejkowania komunikatów. Jego głównym zadaniem jest konwersja wiadomości wchodzących do formatu, który może być rozumiany przez aplikację docelową.

20 20 Distributed systems / Communication (II) Uwagi do systemów kolejkowania komunikatów z brokerami komunikatów może okazać się konieczne założenie pewnej utraty informacji w trakcie transformacji, w środku brokera komunikatów leży bazy danych reguł konwersji, ogólne systemy kolejkowania komunikatów nie mają na celu wspieranie tylko użytkowników końcowych, są one tworzone w celu umożliwienia trwałej komunikacji, zakres zastosowań: – , przepływ pracy (workflow), grupowe oprogramowanie, przetwarzanie wsadowe –integracja zbioru baz danych lub aplikacji bazodanowych

21 21 Distributed systems / Communication (II) Przykład: IBM MQSeries Organizacja systemu kolejkowania komunikatów IBM's MQSeries 2-31

22 22 Distributed systems / Communication (II) Kanały Niektóre atrybuty związane z agentami kanału komunikatów AtrybutOpis Rodzaj transportu Określa używany protokół transportowy Dostarczanie FIFO Wskazuje czy komunikaty mają być dostarczane w kolejności ich wysyłania Długość komunikatu Maksymalna długość jednego komunikatu Licznik prób rozruchu Określa maksymalną liczbę prób rozruchu zdalnego agenta MCA Liczba ponowień dostarczania Maksymalna liczba prób podejmowanych przez agenta MCA, zmierzających do umieszczenia odebranego komunikatu w kolejce

23 23 Distributed systems / Communication (II) Przekazywanie komunikatów (1) Ogólna organizacja sieci kolejkującej MQSeries przy użyciu tablic tras i synonymów

24 24 Distributed systems / Communication (II) Przekazywanie komunikatów (2) Prymitywy intefejsu MQI w systemie IBM MQSeries PrymitywOpis MQopenOtwórz (b.m. zdalną) kolejkę MQcloseZamknij kolejkę MQputUmieść komunikat w otwartej kolejce MQgetPobierz komunikat z (lokalnej) kolejki

25 25 Distributed systems / Communication (II) Komunikacja strumieniowa formy komunikacji, w której czas odgrywa kluczową rolę, przykład: –strumień audio zbudowany jako ciąg 16-bitowych próbek z których każda reprezentuje amplitudę fali dźwiękowej, jak to jest zrobione poprzez PCM (Pulse Code Modulation), –strumień audio reprezentujący jakość CD, czyli 44100Hz –próbki do odtwarzania w odstępach dokładnie 1 / jakie środki powinny być dostarczone przez system rozproszony dla wymiany informacji zależnej od czasu jako strumienie audio i wideo? –wsparcie dla wymiany informacji zależnej od czasu = wsparcie dla ciągłych nośników – ciągłe (w sensie reprezentacji) nośniki vs nośniki dyskretne

26 26 Distributed systems / Communication (II) Wsparcie dla nośników ciągłych w ciągłych nośnikach relacje czasowe pomiędzy elementami danych mają fundamentalne znaczenie dla prawidłowego interpretowania danych, czas mają kluczowe znaczenie W trybie asynchronicznej transmisji elementy w strumieniu danych przesyłane są jeden po drugim, ale nie istnieją żadne inne ograniczenia czasowe, odnośnie tego kiedy powinno mieć miejsce przekazywanie przedmiotów. W trybie synchronicznej transmisji jest maksymalne opóźnienie end-to-end, określone dla każdej jednostki w strumieniu danych. W izochronicznym trybie transmisji konieczne jest, aby jednostki dane są przekazywane na czas. Transfer danych jest podlega ograniczonemu opóźnieniu.

27 27 Distributed systems / Communication (II) Strumień danych (1) Ustanowienie strumienia między dwoma procesami przez sieć stream – sekwencja jednostek danych, rozumiana jako wirtualne połączenie między źródłem a ujściem, prosty strumień vs. złożony strumień (z kilku związanych ze sobą podstrumieni ).

28 28 Distributed systems / Communication (II) Strumień danych(2) Ustanowienie strumienia bezpośrednio między dwoma urządzeniami

29 29 Distributed systems / Communication (II) Strumień danych (3) Przykład rozsyłania strumienia do kilku odbiorców. problem z odbiorcami o różnych wymaganiach odnośnie jakości strumienia, filtry do dostrajania jakości wchodzącego strumienia, zależnie od wychodzących strumieni.

30 30 Distributed systems / Communication (II) Określanie jakości obsługi (1) Specyfikacja przepływu Wymagania zależne od czasu w ramach wymagań Quality of Service (QoS) Characterystyki wejściaWymagana obsługa Maksymalny rozmiar jednostki danych (bajty) Szybkość napływu żetonów do wiaderka (bajty/sek) Rozmiar wiaderka żetonów (bajty) Maksymalna szybkość przesyłania (bajty/sek) Podatność na straty (bajty) Przedział strat ( sek) Podatność na straty skokowe (jednostki danych) Minimalne zauważalne opóźnienie ( sek) Maksymalne wahanie opóźnienia ( sek) Jakość gwarancji

31 31 Distributed systems / Communication (II) Określanie jakości obsługi(2) Zasada algorytmu wiaderka żetonów Żetony generowane ze stałą predkością, Żetony buforowane w wiaderku o ograniczonej pojemności.

32 32 Distributed systems / Communication (II) Tworzenie strumienia Organizacja RSVP do rezerwacji zasobów w systemie rozproszonym RSVP = Resource Reservation Protocol

33 33 Distributed systems / Communication (II) Mechanizmy synchronizacji (1) Zasada jawnej synchronizacji na poziomie jednostek danych

34 34 Distributed systems / Communication (II) Mechanizmy synchronizacji (2) Zasada synchronizacji realizowanej przez interfejsy wysokiego poziomu 2-41


Pobierz ppt "1 Distributed systems / Communication (II) Systemy rozproszone Komunikacja (II) I.Protokoły warstwowe II.Wywołanie zdalnych procedur III.Wywołanie zdalnych."

Podobne prezentacje


Reklamy Google