Systemy rozproszone
Wstęp
Egzamin
Egzamin zrealizowany zostanie w postaci testu wyboru. Ocena wystawiana jest na podstawie ilości uzyskanych punktów, wg reguły Systemy rozproszone
przedstawionej poniżej. Za wartość N przyjmuje się w tym przypadku 100% punktów możliwych do uzyskania w czasie testu egzaminacyjnego. Dla studentów, którzy na egzaminie (tylko w pierwszym terminie) uzyskali minimum 50% punktów przyznaje się dodatkową premię punktową za wyniki projektu (1 pkt za ocenę 4.0, 2
dr inż. Zbigniew Suski
pkt za ocenę 4.5, 3 pkt za ocenę 5.0).
zsuski@ita.wat.edu.pl
ocena dst (3,0):
min. 50% wartości N,
ocena dst+ (3,5):
min. 60% wartości N,
ocena db (4,0):
min. 70% wartości N,
ocena db+ (4,5):
min. 80% wartości N,
ocena bdb (5,0):
min. 90% wartości N.
Zbigniew Suski
Systemy rozproszone - wstęp
1
Zbigniew Suski
Systemy rozproszone - wstęp
5
Zakres przedmiotu
Literatura podstawowa
Cele i właściwości systemów rozproszonych
Mechanizmy komunikacyjne
Synchronizacja zegarów i zegary logiczne
Synchronizacja procesów
Sterowanie współbieżnością transakcji
Tolerowanie awarii
Rozproszone systemy plików
Zbigniew Suski
Systemy rozproszone - wstęp
6
Zbigniew Suski
Systemy rozproszone - wstęp
7
Literatura dodatkowa
Literatura - programowanie
Zbigniew Suski
Systemy rozproszone - wstęp
8
Zbigniew Suski
Systemy rozproszone - wstęp
9
Opracował: Zbigniew SUSKI
Systemy rozproszone
Wstęp
Literatura - programowanie
Co to jest system rozproszony?
System rozproszony jest zbiorem luźno powiązanych ze sobą komputerów połączonych siecią komunikacyjną ( Silberschatz)
System rozproszony jest zbiorem samodzielnych komputerów, połączonych za pomocą sieci i wyposażonych w rozproszone oprogramowanie systemowe. Użytkownicy powinni go odbierać jako jedno zintegrowane środowisko obliczeniowe( Coulouris)
System rozproszony jest to zestaw niezależnych komputerów, sprawiający na jego użytkownikach wrażenie jednego, logicznie zwartego systemu ( Tanenbaum)
System rozproszony to taki, w którym załamanie komputera, o którym nawet nie słyszałeś, że istnieje, powoduje, że nie możesz dokończyć żadnej roboty ( Lamport – definicja alternatywna) Zbigniew Suski
Systemy rozproszone - wstęp
10
Zbigniew Suski
Systemy rozproszone - wstęp
11
Cele systemu rozproszonego
Otwartość
Łączenie użytkowników i zasobów System oferuje usługi zgodnie zgodnie ze standardowymi ułatwienie użytkownikom dostępu do odległych zasobów i ich regułami opisującymi ich składnię i semantykę dzielenie z innymi użytkownikami
Otwarto
Interfejsy definiowane w IDL
ść
oferowanie usług zgodnie ze standardowymi regułami
formalna definicja składni
opisuj
nieformalna definicja semantyki
ącymi ich składnię i semantykę
Skalowalność
Zdolność do współdziałania ( interoperability) podatność na rozwijanie
możliwość współistnienia i współpracy systemów lub komponentów pochodzących od różnych wytwórców
Współbieżność
jednoczesne realizowanie wielu zadań
Przenośność ( portability)
możliwość wykorzystywania w jednym systemie, aplikacji
Tolerowanie uszkodzeń
opracowanej dla innego systemu realizującego te same interfejsy kontynuowanie działania w warunkach awarii
Heterogeniczność
Elastyczność ( flexibility)
różnorodność sprzętu i oprogramowania
łatwość konfigurowania systemu z różnych składowych pochodzących od różnych producentów
Przezroczystość
oddzielanie polityki od mechanizmu
ukrywanie faktu rozproszenia
Zbigniew Suski
Systemy rozproszone - wstęp
12
Zbigniew Suski
Systemy rozproszone - wstęp
13
Problemy skalowalności
Przezroczystość
Skalowanie wzgl
Model wzorcowy ANSA (1989)
ędem rozmiaru
łatwe dodawanie użytkowników i zasobów
Model Wzorcowy Otwartego Przetwarzania Rozproszonego ISO (1992)
Skalowanie geograficzne
Przezroczystość dostępu ( access transparency) użytkownicy i zasoby mogą być znacznie oddaleni
ukrywanie różnic w reprezentacji danych i metodach
Skalowanie pod wzgl
udost
ędem administracyjnym
ępniania zasobów
zarządzanie pozostaje łatwe, mimo wzrostu ilości lub rozmiaru
Przezroczystość położenia ( location transparency) jednostek administrowanych
uniemożliwienie użytkownikom określenia miejsca fizycznej
Ograniczenia skalowalno
lokalizacji zasobów
ści
centralizacja usług, danych, algorytmów
Przezroczystość wędrówki ( migration transparency)
Metody skalowania
możliwość przemieszczania zasobów bez wpływania na sposób komunikacja asynchroniczna (brak oczekiwania)
kontaktowania się z nimi
dekompozycja i rozpraszanie (np. DNS)
Przezroczystość przemieszczania ( relocation transparency) zwielokrotnienie
możliwość ukrytego przemieszczania zasobów podczas ich
--- pamięci podręczne
używania
Zbigniew Suski
Systemy rozproszone - wstęp
14
Zbigniew Suski
Systemy rozproszone - wstęp
15
Opracował: Zbigniew SUSKI
Wstęp
Przezroczystość - cd
Cele systemu rozproszonego - inaczej
Przezroczystość zwielokrotnienia ( replication transparency) ukrywanie faktu istnienia wielu kopii zasobów
Przemieszczanie danych
Przezroczystość współbieżności ( concurrency transparency) współbieżność dostępu powinna skutkować pozostawianiem
Przemieszczanie obliczeń
zasobu w stanie spójności
Przemieszczanie procesów
Przezroczystość awarii ( failure transparency) zapewnienie aby u
Równoważ enie załadowania
żytkownik nie zauważał awarii zasobu oraz
faktu usuwania skutków uszkodzenia, czyli rekonstrukcji
Przyś pieszanie obliczeń
Przezroczystość wydajności ( performance transparency)
Preferencje sprzę towe
umożliwienie rekonfigurowania systemu w celu poprawy działania przy zmianie obci
Preferencje oprogramowania
ążenia
Przezroczystość skalowalności ( scalability transparency) umożliwienie rozszerzania skali systemu bez zmiany struktury lub algorytmów użytkowych
Stopień przezroczystości?
Przezroczystość a wydajność
Zbigniew Suski
Systemy rozproszone - wstęp
16
Zbigniew Suski
Systemy rozproszone - wstęp
17
Model klient-serwer
Poziomy modelu klient-serwer
Usługa jest pewnym abstrakcyjnym dobrem, które może być
Poziom interfejsu
dostarczane potrzebującym tego usługobiorcom
wszystko co jest niezbędne do bezpośredniego kontaktu z
Serwer (usługodawca) jest procesem, który realizuje pewną użytkownikiem.
usługę
interfejsy tekstowe
Klient (usługobiorca) jest procesem, który zamawia usługę u
interfejsy graficzne
serwera; wysyła mu zamówienie a potem oczekuje na odpowiedź
Poziom przetwarzania
serwera
aplikacje, a zwłaszcza jej zasadnicze funkcje
często implementacje wyrafinowanych algorytmów
Serwer może jednocześnie działać jako klient, kierując dalej
Poziom danych
zamówienia do innych serwerów
programy utrzymujące dane, na których działają aplikacje.
pożądane zapewnienie trwałości danych - jeżeli nawet
Serwery iteracyjne i współbieżne
aplikacje nie działają, to dane i tak są gdzieś przechowywane
Wykorzystywanie protokołu połączeniowego i
i przygotowane do użycia
bezpołączeniowego (wydajność a niezawodność, powtarzalność działań)
Zbigniew Suski
Systemy rozproszone - wstęp
18
Zbigniew Suski
Systemy rozproszone - wstęp
19
Architektury wielopiętrowe
Współczesne architektury rozproszone
Interfejs
Interfejs
Interfejs
Interfejs
Rozproszenie pionowe ( vertical distribution) Interfejs
użytkownika
użytkownika
użytkownika
użytkownika
użytkownika
rozmieszczanie logicznie odmiennych składowych na różnych komputerach
Aplikacja
Aplikacja
Aplikacja
Rozproszenie poziome ( horizontal distribution)
klient lub serwer może być fizycznie podzielony na logicznie Interfejs
Baza
równoważne części
użytkownika
danych
każda część przetwarza własną porcję całego zbioru danych, Aplikacja
równoważąc w ten sposób obciążenie
Aplikacja
Aplikacja
Rozproszenie partnerskie ( peer-to-peer distribution) Baza
Baza
Baza
Baza
Baza
danych
wzajemna współpraca komponentów - serwer może nie
danych
danych
danych
danych
występować
Alternatywne organizacje klient-serwer
Zbigniew Suski
Systemy rozproszone - wstęp
20
Zbigniew Suski
Systemy rozproszone - wstęp
21
Opracował: Zbigniew SUSKI