Systemy rozproszone. Systemem rozproszonym nazywamy zbiór w ez lów obliczeniowych dowolnie

Podobne dokumenty
Komunikacja w systemach czasu rzeczywistego

Topologie sieci komputerowych WAN

5R]G]LDï %LEOLRJUDğD Skorowidz

Wieloprogramowy system komputerowy

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

SIECI KOMPUTEROWE. Podstawowe wiadomości

Topologie sieci komputerowych WAN

Protokoły sieciowe - TCP/IP

Warstwy i funkcje modelu ISO/OSI

Wirtualne sieci prywatne

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Działanie komputera i sieci komputerowej.

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Wieloprogramowy system komputerowy

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Sieci komputerowe - warstwa fizyczna

Projekty Zaliczeniowe Laboratorium Sieci Komputerowych

Wprowadzenie. Dariusz Wawrzyniak 1

Topologie sieciowe. mgr inż. Krzysztof Szałajko

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

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

MASKI SIECIOWE W IPv4

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

PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

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

1. Sieć komputerowa to medium umożliwiające połączenie dwóch lub więcej komputerów w celu wzajemnego komunikowania się.

Podstawy sieci komputerowych. Technologia Informacyjna Lekcja 19

Sieci komputerowe. Zajęcia 2 Warstwa łącza, sprzęt i topologie sieci Ethernet

Model OSI. mgr inż. Krzysztof Szałajko

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Sieci komputerowe. Informatyka Poziom rozszerzony


Organizacja systemu plików

Sieci komputerowe. Definicja. Elementy

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

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

Zadania z sieci Rozwiązanie

Sieci komputerowe. Zadania warstwy łącza danych. Ramka Ethernet. Adresacja Ethernet

STRUKTURA OGÓLNA SIECI LAN

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Stacjonarne Kod kierunku: 11.

Middleware wprowadzenie października 2010

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Technologie informacyjne (5) Zdzisław Szyjewski

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Zdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Sieciowe Systemy Operacyjne

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Sieci Komputerowe Modele warstwowe sieci

Temat: Budowa i działanie sieci komputerowych. Internet jako sieć globalna.

System operacyjny System operacyjny

Wybrane działy Informatyki Stosowanej

Przesyłania danych przez protokół TCP/IP

Wywoływanie procedur zdalnych

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Sieci komputerowe. Wstęp

Systemy rozproszone System rozproszony

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

Wprowadzenie do sieci komputerowych

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Uniwersalny Konwerter Protokołów

Wywoływanie procedur zdalnych

Sieci Komputerowe. Wykład 1: Historia, model ISO, Ethernet, WiFi

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Sieci komputerowe. ABC sieci - podstawowe pojęcia. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.pl

Software Achitecture Document Pó l-internetowy System Obs lugi Turystyki Gminnej

Zdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1

SIECI KOMPUTEROWE Protokoły sieciowe

Dr Michał Tanaś(

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Topologia sieci komputerowej. Topologie fizyczne. Topologia liniowa, inaczej magistrali (ang. Bus)

Ćwiczenie 1. Podstawowa terminologia lokalnych sieci komputerowych. Topologie sieci komputerowych. Ocena. Zadanie 1

Adresy w sieciach komputerowych

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Sieci komputerowe Wykład 3

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Programowanie Sieciowe 1

System operacyjny UNIX Internet. mgr Michał Popławski, WFAiIS

Adres IP

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Wieloprogramowy system komputerowy

Transkrypt:

Systemy rozproszone Systemem rozproszonym nazywamy zbiór wez lów obliczeniowych dowolnie po laczonych siecia komunikacyjna. Wez ly te moga różnić sie swoimi możliwościami, zasobami, a także architektura sprzetow a oraz oprogramowaniem, w tym również systemami operacyjnymi. Moga posiadać różne procesory różniace sie zestawem instrukcji, d lugościa s lowa, a nawet organizacja bajtów w s lowie (tzw. byte-order). Organizacja big-endian oznacza, że bajty w s lowie uporzadkowane sa od najstarszego do najm lodszego (np.: Motorola 68000, SPARC), natomiast little-endian oznacza bajty uporzadkowane od najm lodszego do najstarszego (np.: Intel 80x86). 1 Ponieważ komunikacja sieciowa odbywa sie w uk ladzie strumienia bajtów, pomiedzy systemami o różnej organizacji nie można bezpośrednio przesy lać wartości wielobajtowych. 1 Nowsze generacje procesorów posiadaj a rozkazy umożliwiajace zarówno pobrania jak i zapisy w wybranej kolejności bajtów, np.: MIPS, PowerPC, SPARCv9, ARM od v3. Systemy rozproszone 1

Zastosowania systemów rozproszonych wspó ldzielenie zasobów systemy plików, bazy danych, specjalistyczne procesory (superkomputery wektorowe, procesory graficzne), drukarki, itp. przyspieszenie/zrównoleglenie obliczeń/równoważenie obciażeń zwiekszenie niezawodności gdy zasoby albo procesy sa zdublowane uwaga: gdy zasoby sa zróżnicowane i pe lni a różne funkcje, niezawodność systemu rozproszonego nie wzrasta Systemy rozproszone zastosowania 2

Typy transmisji sieciowych Komunikacja jednokana lowa (point-to-point, unicast) np. po laczenie telefoniczne drutowe (aparat końcowy do centrali) Komunikacja typu rozg laszania (broadcast) np. transmisja radiowa, satelitarna, itp. Uwaga: transmisja typu broadcast może być adresowana do wybranych odbiorców, pomimo iż może używać pasma dostepnego dla wszystkich. Sieci komputerowe typy transmisji sieciowych 3

Typy transmisji sieciowych multicast Podobny do broadcastu multicast oznacza jednoczesne nadawanie do grupy odbiorców. Należy odróżnić transmisje komunikatu multicast do określonej grupy (pojedynczy strumień danych) od transmisji jednego komunikatu wiele razy do grupy (zduplikowany strumień danych). Technologie multicast nie sa nowym wynalazkiem, ale dotychczas by ly ma lo popularne i rozwijane ze wzgledu na komplikacje w niezbednych technologiach i standardach. (Np. każdy router, nawet w ma lej sieci domowej lub osiedlowej, powinien być przystosowany do odebrania transmisji multicast, zbadania adresu grupy mulicast, i zadecydowania, czy transmisje należy przekazywać do wnetrza sieci, i konkretnie do których jej cześci. W kontekście nabierajacych popularności szerokopasmowych transmisji wideo te technologie jednak staja sie coraz ważniejsze. Zamiast dublować strumień wideo, jak również wysy lać do wszystkich sieci (na świecie) lepiej kierować go do zdefiniowanej grupy. Sieci komputerowe typy transmisji sieciowych 4

Typy komunikacji komunikacja po l aczeniowa Wygodnie jest rozważać dwa zasadniczo różne modele komunikacji: po laczeniowy i bezpo laczeniowy. Komunikacja po l aczeniowa jest oparta na zbudowaniu po laczenia miedzy stronami, po laczenie inicjuje jedna strona, ale utrzymuja je obie. Dopóki po laczenie istnieje, każda ze stron może nadawać w dowolnym momencie, a druga strona odbiera te transmisje. Po roz laczeniu, dalsza komunikacja jest niemożliwa do czasu ponownego nawiazania po laczenia. Dobra analogia komunikacji po laczeniowej jest rozmowa przez telefon. Strona inicjujaca po laczenie musi znać numer telefonu (adres) strony przyjmujacej. Strona przyjmujaca może nie mieć świadomości numeru dzwoniacego. (Czasami technologia sieci pozwala odbiorcy poznać ten numer, tzw. Caller-ID, ale nie jest to potrzebne do komunikacji.) Jednak po nawiazaniu po laczenia żadna ze stron nie musi już pamietać numeru telefonu drugiej strony. Typowo w komunikacji po l aczeniowej strumień danych dochodzi w tej samej postaci w jakiej zosta l nadany (nie ma zamiany kolejności), aczkolwiek przy zawodnym medium jest możliwe przek lamanie, albo utrata cześci danych. Sieci komputerowe typy komunikacji 5

Typy komunikacji komunikacja bezpo l aczeniowa Komunikacja bezpo l aczeniowa jest oparta na wysy laniu w pe lni adresowanych pakietów danych, z których każdy może być niezależnie doreczony odbiorcy. W każdej chwili możemy wys lać odbiorcy pakiet danych, pod warunkiem, że znamy jego adres. Podobna analogia komunikacji bezpo laczeniowej jest korespondencja listowa. Aby wys lać komuś list trzeba znać jego adres, i żeby odbiorca móg l odpowiedzieć musi on znać adres nadawcy. Przesy lka może być doreczona z adresem nadawcy lub bez tego adresu. (Tradycyjna poczta nie oferuje us lugi dostarczenia wraz z listem adresu nadawcy, ale w sieciowej komunikacji bezpo laczeniowej takie możliwości zwykle istnieja.) Typowo w komunikacji bezpo laczeniowej możliwa jest zamiana kolejności niektórych pakietów (ich doreczenie w innej kolejności niż by ly nadane), bo trudno jest kontrolować media komunikacyjne aby tej kolejności przestrzega ly. Przek lamania i gubienie przesy lek jest możliwe podobnie jak w komunikacji po laczeniowej. Sieci komputerowe typy komunikacji 6

Topologie sieci komputerowych WAN Topologia gwiazdy: ekonomicznie i technologicznie odpowiednia dla wczesnych sieci telefonicznych (centrale, wybieraki, zestawianie po laczeń). Jednak awaria sieci w dowolnym punkcie dzieli sieć na dwie cześci, które nie moga sie komunikować. Topologia grafu luźno po laczonego: posiada redundancje po l aczeń i ma możliwość zarówno radzenia sobie z awariami, jak i równoważenia ruchu w różnych cześciach. Jednak wymaga bardziej zaawansowanych technologii. Jest to architektura wspó lczesnych sieci komputerowych WAN. Sieci komputerowe topologie 7

Topologie sieci komputerowych LAN Topologia magistrali (ang. bus) laczy bezpośrednio wszystkich ze wszystkimi wspólnym medium transmisyjnym pracujacym w podziale czasu. W danej chwili tylko jeden weze l może nadawać, pozosta le musza czekać. Niezbedny jest mechanizm arbitrażu dla rozsadzenia konfliktów, zwanych kolizjami, kiedy dwa lub wiecej wez lów chce nadawać jednocześnie. Mechanizm arbitrażu może być zcentralizowany lub rozproszony. Topologia pierścienia laczy wez ly sieci oddzielnymi segmentami. Pakiety kraż a w jednym kierunku, a dostep do sieci jest kontrolowany za pomoca specjalnego pakietu kontrolnego zwanego żetonem (token), przekazywanego od wez la do wez la. Żeton rozwi azuje problem arbitrażu w sposób rozproszony. Jednak awaria jednego wez la k ladzie ca l a sieć. K lopotliwa jest również rozbudowa i rekonfiguracja. Sieci komputerowe topologie 8

Topologie sieci komputerowych LAN (cd.) Topologie magistrali i pierścienia z żetonem posiadaja pewne dope lniajace sie wady i zalety. Możliwe jest po laczenie tych koncepcji w sieci o fizycznej topologii magistrali i logicznej topologii pierścienia z żetonem, zwanej magistrala z żetonem (token bus). W powyższej sieci logiczna kolejnościa przekazywania żetonu jest: 13-11-7-20-17. Wez ly 14 i 19 nie należa do logicznego pierścienia. Sieci komputerowe topologie 9

Topologie sieci komputerowych Ogólnie można brać pod uwage nastepuj ace topologie sieci komputerowych: gwiazda magistrala pierścień luźno po laczony graf (mesh) Topologie te moga być realizowane jako fizyczne lub logiczne. Sieci komputerowe topologie 10

Technologia Ethernet Ethernet jest niezwykle popularna technologia sieci komputerowych opracowana w latach 1970-tych przez firme Xerox. Jego specyfikacja zosta la opublikowana w roku 1976. Powsta lo wiele unowocześnionych wersji, i technologia Ethernet jest jedna z najpopularniejszych również w dzisiejszych sieciach komputerowych LAN. Sieci komputerowe Ethernet 11

Arbitraż dostepu do sieci Ethernet Jedna z kluczowych koncepcji dzia lania Ethernet jest jego mechanizm arbitrażu dostepu do sieci. Ethernet jest siecia typu magistrali, to znaczy z jednoczesnym dostepem wszystkich wez lów do sieci, określana jako CSMA/CD (Carrier-Sense Multiple-Access/Collision Detection). Arbitraż dostepu do magistrali jest rozproszony i polega na jednoczesnym nads luchiwaniu przy próbie nadawania, w celu wykrycia ewentualnej kolizji. Rozwiazaniem w przypadku wykrycia kolizji jest wstrzymanie nadawania na losowy okres czasu, a w przypadku ponownej kolizji wyd lużanie tego okresu. Jedna cecha tego algorytmu jest niesprawiedliwość arbitrażu. Weze l, któremu zdarza sie dwie lub wiecej kolizji, jest karany stopniowo wyd lużanym czasem odczekania. Sieci komputerowe Ethernet 12

Zjawisko nasycenia w sieci Ethernet Niekorzystnym efektem rozproszonego mechanizmu artitrażu w sieciach Ethernet jest lawinowo narastajaca liczba kolizji przy dużym obciażeniu przez wiele stacji. Ten mechanizm arbitrażu powoduje marnowanie pasma; przy dużej liczbie kolizji efektywna przepustowość sieci drastycznie spada. Zjawisko jest szczególnie nasilone przy ma lych pakietach. Powoduje to niemożność wykorzystania pe lnego pasma fizycznego sieci. Przy wielu wez lach transmitujacych ma le pakiety trudno w sieci Ethernet uzyskać wykorzystanie wiecej niż 50% pasma. Sieci komputerowe Ethernet 13

Adresowanie w sieci Ethernet Innym unikalnym rozwiazaniem zastosowanym w Ethernet jest przypisanie wszystkim urzadzeniom 48-bitowych adresów, tzw. MAC (Media Access Control) unikalnych w skali światowej. Każde urzadzenie sieci Ethernet ma na sta le przypisany w lasny adres, co pozwala w laczać do sieci dowolne urzadzenia i nie martwić sie o przydzia l adresów. Administracja adresów poczatkowo zajmowa la sie firma Xerox, a obecnie przeje la ja organizacja IEEE. Bloki adresów przyznawane sa firmom produkujacym sprzet Ethernet. Celem takiej konstrukcji jest maksymalna prostota. Adres w sieci Ethernet nie ma żadnej struktury 2 i nie pe lni żadnej roli poza identyfikacja. Jedyna operacja wykonywana na adresach jest porównanie wszystkich 48 bitów. Ogranicza to przetwarzanie adresów do minimum i redukuje do zera problem administracji adresami. 2 Nie jest to do końca prawda, ponieważ nawet w oryginalnej wersji Ethernet adres sk ladaj acy sie z samych jedynek pe lni l role adresu rozg laszania (broadcast). Sieci komputerowe Ethernet 14

Prze l aczany Ethernet Wspó lczesne wersje sieci Ethernet w przeważajacej wiekszości realizuja logiczna topologie magistrali przy fizycznym po laczeniu w topologie gwiazdy. Dzieki prze lacznikom sieciowym ruch w poszczególnych segmentach sieci nie przenosi sie do innych segmentów i zjawisko nasycania sie sieci Ethernet w miare wzrostu obciażenia w dużej mierze zostaje zniwelowane. Sieci komputerowe Ethernet 15

Sieci komputerowe Ethernet 16

Sieci pierścieniowe Token Ring/IEEE 802.5 Praca sieci pierścienia z żetonem Token Ring (technologia firmy IBM), lub 802.5 (standard IEEE): 1. Żeton jest tylko jeden i tylko jego posiadacz może nadawać. 2. Żeton jest przekazywany od wez la do wez la w określonym kierunku. 3. W czasie bezczynności sieci żeton kraży po niej w kó lko. 4. Jeśli weze l posiadajacy żeton chce nadawać, to przekszta lca żeton w nag lówek komunikatu, dodaje adres nadawcy i odbiorcy, oraz treść komunikatu, i puszcza go w dalsza droge zamiast żetonu. 5. Gdy komunikat dotrze do wez la odbiorcy, ten odbiera komunikat, podmienia bity kontrolne by poinformować nadawce, że komunikat zosta l odebrany, i puszcza ramke dalej do sieci. 6. Gdy oryginalny nadawca otrzymuje swoja ramke z potwierdzeniem odbiorcy, kasuje jej treść, przekszta lca ramke z powrotem w żeton, i wprowadza go znowu do sieci. Sieci komputerowe Ethernet 17

Sieci komputerowe Ethernet 18

Komunikacja klient-serwer Jest szereg możliwych paradygmatów komunikacji w sieciach komputerowych. Jednym z najpopularniejszych jest architektura klient-serwer. Polega ona na zbudowaniu pewnej us lugi sieciowej obs lugiwanej przez jeden z wez lów sieci serwer świadczonej pod ustalonym adresem. W sieciach TCP/IP ten adres jest reprezentowany przez kombinacje adresu IP i numeru portu, który jest lokalnym adresem us lugi. Komunikacja może odbywać sie w trybie po laczeniowym lub bezpo laczeniowym. Klient przesy la serwerowi swoje zapytania lub polecenia, i zwiazane z nimi dane, a serwer odsy la klientowi odpowiedzi lub potwierdzenia. Sieci komputerowe klient-serwer 19

Komunikacja peer-to-peer Alternatywna architektura komunikacji w sieci jest struktura zwana peer-to-peer, w której wez ly sieci komunikuja sie z wybranymi partnerami na zasadzie równorzednej. Jednak ze wzgledu na zarzadzanie interfejsem sieciowym przez system operacyjny, na niskim poziomie rejestracja us lugi/odbieranie komunikatów odbywa sie w trybie serwera, a nawiazywanie po laczenia/nadawanie komunikatów w trybie klienta. Określenie peer-to-peer czesto stosuje sie do protoko lów komunikacyjnych wyższego rzedu, takich jak Bittorrent, IRC, Skype, itp. Jednak jest to również dobry model warstwy komunikacyjnej niskiego poziomu, w której może funkcjonować np. przemys lowy system sterowania. Sieci komputerowe klient-serwer 20

Zdalne wywo lywanie procedur Innym paradygmatem komunikacji w sieciach komputerowych jest zdalne wywo lywanie procedur (Remote Procedur Calling RPC). W tym paradygmacie w ramach serwera instaluje sie pewna liczba procedur, a program klienta je wywo lyje. Technicznie program klienta wywo luje pewna szczatkow a procedure pośredniczac a namiastke (stub) należac a do biblioteki RPC i reprezentujac a zdalna procedure. Wywo lanie namiastki powoduje przekazanie żadania wywo lania procedury, wraz z jej argumentami, do zdalnego serwera, a tam analogiczna namiastka serwera wywo luje rzeczywista procedure w programie aplikacyjnym, a po jej zakończeniu odsy la obliczony wynik do wez la klienta. Technicznie wynik jest zwracany przez namiastke. Sieci komputerowe zdalne wywo lywanie procedur 21

Zdalne wywo lywanie procedur przekazywanie argumentów Przekazywanie parametrów w wywo laniach RPC stwarza szczególne problemy. Wartości wielobajtowe moga mieć inna reprezentacje (byte-order) na maszynie wywo luj acej i obliczajacej. Ten problem wystepuje przy wszelkiego rodzaju komunikacji sieciowej, i np. w stosie protoko lów TCP/IP jest rozwiazany przez konwencje, że wszystkie wielkości sa przesy lane przez sieć w porzadku big-endian. Wez ly sieci pracujace w architekturze little-endian musza dokonywać translacji przed i po transmisji sieciowej. To jednak nie rozwiazuje wszystkich problemów z przekazywaniem parametrów. Wartości z lożone, takie jak struktury, moga być inaczej upakowane, ponieważ program wywo luj acy na maszynie klienta móg l być skompilowany innym kompilatorem, niż program obliczajacy na maszynie serwera. Próba przekazania parametru lub wyniku funkcji przez adres lub referencje w ogóle nie ma sensu, ponieważ adres i referencja ma sens tylko w przestrzeni adresowej programu wywo luj acego. Dlatego w systemach RPC niezbedne jest specjalne przetwarzanie przekazywanych parametrów i wyników funkcji. Na przyk lad, system SunRPC zawiera specjalna specyfikacje XDR (external Data Representation), pozwalajac a na serializacje ca lego zestawu argumentów i wyników funkcji. Inne systemy pozwalaja na jawne zakodowanie dowolnej struktury danych, np. ISO ASN.1 (Abstract Syntax Notation), JSON (JavaScript Object Notation), albo SOAP (Simple Object Access Protocol). Sieci komputerowe zdalne wywo lywanie procedur 22

Sieciowe i rozproszone systemy operacyjne Pod wzgledem obs lugi sieci komputerowych rozróżnia sie dwa rodzaje systemów operacyjnych: 1. sieciowe systemy operacyjne, 2. rozproszone systemy operacyjne. Sieciowe systemy operacyjne zapewniaja obs luge sieci komputerowej, oferujac użytkownikom system dostep do mechanizmów sieciowych. Rozproszone systemy operacyjne wykorzystuja mechanizmy sieciowe aby zaprezentować użytkownikowi spójny widok zasobów dostepnych przez sieć. Sieci komputerowe sieciowe i rozproszone systemy operacyjne 23

Sieciowe systemy operacyjne Sieciowy system operacyjny tworzy środowisko pozwalajace użytkownikom na dostep do zasobów sieciowych, np. przez logowanie sie do zdalnych serwerów, transferowanie plików, lub korzystanie z innych serwisów sieciowych. Wszystkie wspó lczesne systemy operacyjne ogólnego przeznaczenia należa do tej grupy, np. Linux, Windows, Android, itp. Korzystanie z us lug sieciowych wymaga od użytkowników pracy w środowisku danej us lugi, np. pos lugiwania sie poleceniami FTP, lub poleceniami zdalnego systemu operacyjnego w czasie zdalnej sesji ssh. Niektóre z us lug sieciowych moga zapewniać interfejs graficzny. Niektóre moga również oferować programistyczne API pozwalajace na pisanie programów korzystajacych z danej us lugi sieciowej. Sieci komputerowe sieciowe i rozproszone systemy operacyjne 24

Rozproszone systemy operacyjne W rozproszonym systemie operacyjnym użytkownik korzysta ze zdalnych zasobów w taki sam sposób jak z lokalnych. System może implementować: migracje danych gdy dane przechowywane w weźle A potrzebne sa w weźle B, musza zostać przes lane do B w postaci ca lego pliku, lub jego fragmentu; po zakończeniu przetwarzania musza one zostać przes lane z powrotem do A, o ile zosta ly zmodyfikowane migracje obliczeń gdy pewne obliczenia dotycza wiekszej ilości danych, może bardziej sie op lacać wykonać je na weźle, gdzie dane sa przechowywane; można to zrealizować za pomoca zdalnego wywo lania procedur RPC, albo można stworzyć protokó l zdalnych obliczeń, w którym proces wysy la komunikat do zdalnego systemu, który tworzy odpowiednie procesy obliczeniowe, i odsy la wyniki gdy one sie zakończa migracje procesów rozszerzenie migracji obliczeń do ca lego procesu; implementacja może być przezroczysta i niewidoczna dla inicjujacego procesu (metoda zwykle stosowana w cely wyrównania obciażeń i/lub przyspieszenia obliczeń w kompatybilnych systemach), albo może być specjalnie zaprogramowana przez proces inicjujacy (metoda zwykle stosowana w celu wykorzystania zdalnego specjalnego sprzetu lub oprogramowania) Sieci komputerowe sieciowe i rozproszone systemy operacyjne 25

Sieci komputerowe sieciowe i rozproszone systemy operacyjne 26

Niezawodność w systemach rozproszonych Systemy rozproszone sa szczególnie czu le na różnego rodzaju awarie. Z definicji wykorzystuja one duży zestaw sprzetu, rozmieszczonego i administrowanego w oddalonych lokalizacjach, oraz sieci komunikacyjnych cechujacych sie nieprzewidywalnościa czasu transmisji i opóźnień. Ponieważ użytkownik nie ma wiedzy ani świadomości o procesach realizujacych rozproszone operacje, wszelkie awarie nawet peryferyjnych elementów systemu, albo opóźnienia komunikacyjne, bedzie on odczuwa l jako niepoprawne dzia lanie systemu. Dlatego niezawodność jest istotnym czynnikiem funkcjonowania systemów rozproszonych. Niezawodność w systemach rozproszonych 27

Terminologia niezawodności Defektem (fault) nazywamy wade wade systemu, taka jak b ledny fragment kodu, lub nieprawid lowo dzia lajace urzadzenie. Istnienie defektu nie oznacza jeszcze, że b ledny kod zostanie kiedykolwiek wykonany, albo urzadzenie zgubi lub zniekszta lci jakies dane. B ledem (error) nazywamy sytuacje, gdy jakiś element systemu program lub urzadzenie dzia la niepoprawnie, np. program odwo luje sie do adresu spoza dozwolonego zakresu, albo urzadzenie przek lamuje niektóre dane w transmisji. B ledy takie moga być jednak zauważone przez inne elementy systemu, które moga spowodować restart programu lub retransmisje pakietu danych. Awaria (failure) nazywamy sytuacje, kiedy system nie jest w stanie realizować swojej/swoich funkcji wskutek wystapienia b ledu. Odporność na defekty (fault tolerance) to zdolność systemu do poprawnej pracy w sytuacji gdy istnieje w nim defekt, a także gdy powsta l b lad. Niezawodność w systemach rozproszonych terminologia 28

Wykrywanie awarii W przypadku systemów rozproszonych defekty moga powstawać zarówno w laczach komunikacyjnych tworzacych strukture sieci, jak i w jej konkretnych wez lach. Wykrywanie awarii jest możliwe przez komunikacje pomiedzy wez lami. Wez ly moga wysy lać sobie komunikaty kontrolne typu: Pracuje poprawnie. albo Czy pracujesz poprawnie? W ogólnym przypadku może jednak nie być możliwe odróżnienie nastepuj acych sytuacji: zdalny weze l uleg l awarii, lacze komunikacyjne do zdalnego wez la uleg lo awarii, komunikat kontrolny zosta l zgubiony. zdalny weze l oraz lacze komunikacyjne sa sprawne, ale komunikat kontrolny zosta l przetrzymany i opóźniony ponad dopuszczalny limit. Niezawodność w systemach rozproszonych wykrywanie awarii 29

Rekonfiguracja i odbudowa po awarii Redundancja (nadmiarowość) jest jedna z g lównych technik budowania odporności na defekty, zarówno w sprzecie jak i oprogramowaniu. W oczywisty sposób, ponieważ prowadzi ona do budowy bardziej z lożonych systemów, może sama w sobie wprowadzać ryzyko dalszych defektów i zwiazanych z nimi awarii. W momencie wykrycia awarii zdalnego wez la (praktycznie: braku komunikacji ze zdalnym wez lem), jeśli system posiada redundancje, powinien dokonać rekonfiguracji aby kontynuować normalna prace. Może to polegać na wyborze alternatywnej ścieżki komunikacji sieciowej, lub zaprzestaniu korzystania z us lug zdalnego systemu i zastapienie ich us lugami świadczonymi przez inny element systemu. Po ustaniu lub likwidacji awarii system rozproszony powinien wrócić do pe lnej konfiguracji. Przywrócenie sprawności lacza komunikacyjnego albo zdalnego systemu można wykryć za pomoca komunikatów kontrolnych. Odbudowany/zrestartowany weze l sieci musi oczywiście zaktualizować swoja wiedze o stanie ca lego systemu i wykonywanych w nim procesów. Niezawodność w systemach rozproszonych 30

Skalowalność Skalowalność jest zdolnościa systemu do dostosowywania sie do zwiekszonego obciażenia. Skalowalność jest pojeciem wzglednym, ponieważ wszystkie systemy obliczeniowe maja ograniczona pojemność, szybkość, przepustowość, i w warunkach zwiekszonego obciażenia moga ulec ca lkowitemu nasyceniu. Jednak system skalowalny reaguje w bardziej akceptowalny sposób, jego wydajność zmniejsza sie stopniowo, i później osiaga stan ca lkowitego nasycenia niż system nieskalowalny. Systemy rozproszone maja zdolność wykorzystania wiekszych zasobów, i zwiekszenia wydajności obliczeń, zatem powinny one być skalowalne w wiekszym stopniu niż indywidualne komputery. Skalowalność jest z lożonym zagadnieniem. Można ja budować za pomoca zapasowych zasobów (komputerów, laczy komunikacyjnych), jednak sama redundancja nie gwarantuje skalowalności. Np. gdy jeden weze l zostanie nasycony procesami obliczeniowymi, i przestanie odpowiadać, uruchomienie wszystkich tych obliczeń na weźle zapasowym spowoduje i jego nasycenie i nic nie rozwiaże. Skalowalność jest zwiazana z odpornościa na defekty. Redundancja istniejaca w systemie rozproszonym przyczynia sie zarówno do jego wiekszej niezawodności, jak i umożliwia roz ladowanie szczytowych obciażeń. Kluczowe jest jednak użycie w laściwych technologii. Niezawodność w systemach rozproszonych skalowalność 31

Niezawodność w systemach rozproszonych skalowalność 32

Rozproszone systemy plików Rozproszony system plików (distributed file system, DFS) prezentuje użytkownikowi (lub aplikacji na weźle klienckim) interfejs systemu plików taki, jakby to by l system plików na lokalnym dysku. Jednocześnie, elementy tego systemu plików moga fizycznie znajdować sie na innych, a nawet wielu różnych wez lach sieci, pod kontrola różnych systemów. G lównym parametrem wydajności systemów DFS jest czas obs lugi żadania klienta. W systemie lokalnym sk lada sie on g lównie z czasu dostepu do dysku, plus typowo znacznie krótkszego czasu przetwarzania żadania. W systemie rozproszonym dochodza do tego narzuty zwiazane z komunikacja sieciowa: czas przes lania żadania na zdalny serwer i czas przes lania odpowiedzi, uwzgledniaj acy przes lanie wszystkich danych pliku. Można wyróżnić dwa modele implementacji systemów DFS: model klient-serwer, i model oparty na klastrach. Model klient-serwer odpowiada sytuacji gdzie pewna liczba klientów korzysta z jednego lub wiecej systemów plików, i pliki sa serwowane klientom, po jednym na raz. Przyk ladami takich systemów sa: Network File System (NFS) i Andrews File System (OpenAFS). Model oparty na klastrach jest odpowiedni dla sytuacji gdzie wielu klientów korzysta w wielkich zbiorów danych i wymagana jest duża wydajność i skalowalność. Przyk ladami takich systemów sa: Google file system i otwarty system HDFS (cześć systemu Hadoop). Niezawodność w systemach rozproszonych rozproszone systemy plików 33