Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Systemy rozproszone Komunikacja (II)
Protokoły warstwowe Wywołanie zdalnych procedur Wywołanie zdalnych obiektów Komunikacja zorientowana na komunikaty Komunikacja potokowa Distributed systems / Communication (II)
2
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 Distributed systems / Communication (II)
3
Trwałość i synchroniczność w komunikacji (2)
2-20 Organizacja systemu komunikacji w którym hosty są połączone poprzez sieć Distributed systems / Communication (II)
4
Trwałość i synchroniczność w komunikacji (3)
Trwała przesyłanie listów w czasach konnej poczty. Distributed systems / Communication (II)
5
Trwałość i synchroniczność w komunikacji (4)
2-22.1 Trwała asynchroniczna komunikacja (komunikat przechowywany po stronie nadawcy, ), Trwała synchroniczna komunikacja (komunikat przechowywany po stronie odbiorcy). Distributed systems / Communication (II)
6
Trwałość i synchroniczność w komunikacji (5)
2-22.2 Przejściowa asynchroniczna komunikacja (oferowana przez usługi datagramowe na poziomie transportowym np. UDP) Oparta o potwierdzenie przejściowa synchroniczna komunikacja Przejściowa synchroniczna: d. oparta o potwierdzenie, e. oparta o dostarczenie, f. oparta o odpowiedź Distributed systems / Communication (II)
7
Trwałość i synchroniczność w komunikacji (6)
Oparta o dostarczenie przejściowa synchroniczna komunikacja przy dostarczniu komunikatu Oparta o odpowiedź transient przejściowa synchroniczna komunikacja (RPC, RMI) Distributed systems / Communication (II)
8
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. Distributed systems / Communication (II)
9
Primitywy socketowe dla TCP/IP.
Sockety Berkeley (1) Primityw Znaczenie Socket Stwórz nowy endpoint Bind Przypisz socketowi lolakny adres Listen Zgłoś gotowość przyjęcia połączeń Accept Blokuj stronę wywołującą do nadejścia żądania połączenia Connect Próbuj nawiązać połączenie Send Prześlij dane Receive Odbierz dane Close Zlikwiduj połączenie Primitywy socketowe dla TCP/IP. Distributed systems / Communication (II)
10
Połaczeniowa komunikacja z użyciem socketów
Sockety Berkeley (2) Połaczeniowa komunikacja z użyciem socketów Distributed systems / Communication (II)
11
Message-Passing Interface (MPI) (1)
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) Distributed systems / Communication (II)
12
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 Distributed systems / Communication (II)
13
Message-Passing Interface (3)
Primityw Znaczenie MPI_bsend Append outgoing message to a local send buffer MPI_send Send a message and wait until copied to local or remote buffer MPI_ssend Send a message and wait until receipt starts MPI_sendrecv Send a message and wait for reply MPI_isend Pass reference to outgoing message, and continue MPI_issend Pass reference to outgoing message, and wait until receipt starts MPI_recv Receive a message; block if there are none MPI_irecv Check if there is an incoming message, but do not block Niektóre prymitywy MPI. Distributed systems / Communication (II)
14
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 Distributed systems / Communication (II)
15
Model kolejkowania komunikatów (1)
2-26 Cztery kombinację dla luźno-związanej komunikacji z użyciem kolejek. Distributed systems / Communication (II)
16
Model kolejkowania komunikatów (2)
Primityw Znaczenie Put Append a message to a specified queue Get Block until the specified queue is nonempty, and remove the first message Poll Check 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. 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. Distributed systems / Communication (II)
17
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 Distributed systems / Communication (II)
18
Architektura typowego systemu kolejkowania komunikatów (2)
może się rozwinąć w sieć przekaźnikową, może potrzebować dynamicznego rutowania 2-29 Zarządcy kolejek zwykle współdziałąją z aplikacjami niektóre działają jako rutery lub przekaźniki Organizacja systemu kolejkowania komunikatów z ruterami Distributed systems / Communication (II)
19
Organizacja brokera komunikatów w systemie kolejkowania komunikatów
Brokery komunikatów 2-30 Organizacja brokera komunikatów w systemie kolejkowania komunikatów 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ą. Distributed systems / Communication (II)
20
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 Distributed systems / Communication (II)
21
Przykład: IBM MQSeries
2-31 Organizacja systemu kolejkowania komunikatów IBM's MQSeries Distributed systems / Communication (II)
22
Niektóre atrybuty związane z agentami kanału komunikatów
Kanały Atrybut Opis 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 Niektóre atrybuty związane z agentami kanału komunikatów Distributed systems / Communication (II)
23
Przekazywanie komunikatów (1)
Ogólna organizacja sieci kolejkującej MQSeries przy użyciu tablic tras i synonymów Distributed systems / Communication (II)
24
Przekazywanie komunikatów (2)
Prymityw Opis MQopen Otwórz (b.m. zdalną) kolejkę MQclose Zamknij kolejkę MQput Umieść komunikat w otwartej kolejce MQget Pobierz komunikat z (lokalnej) kolejki Prymitywy intefejsu MQI w systemie IBM MQSeries Distributed systems / Communication (II)
25
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 / 44100 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 Distributed systems / Communication (II)
26
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. Distributed systems / Communication (II)
27
Ustanowienie strumienia między dwoma procesami przez sieć
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). Distributed systems / Communication (II)
28
Ustanowienie strumienia bezpośrednio między dwoma urządzeniami
Strumień danych(2) 2-35.2 Ustanowienie strumienia bezpośrednio między dwoma urządzeniami Distributed systems / Communication (II)
29
Przykład rozsyłania strumienia do kilku odbiorców.
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. Distributed systems / Communication (II)
30
Określanie jakości obsługi (1)
Characterystyki wejścia Wymagana 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 Specyfikacja przepływu Wymagania zależne od czasu w ramach wymagań Quality of Service (QoS) Distributed systems / Communication (II)
31
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. Distributed systems / Communication (II)
32
Tworzenie strumienia Organizacja RSVP do rezerwacji zasobów w systemie rozproszonym RSVP = Resource Reservation Protocol Distributed systems / Communication (II)
33
Mechanizmy synchronizacji (1)
Zasada jawnej synchronizacji na poziomie jednostek danych Distributed systems / Communication (II)
34
Mechanizmy synchronizacji (2)
2-41 Zasada synchronizacji realizowanej przez interfejsy wysokiego poziomu Distributed systems / Communication (II)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.