Wykład 8

Transkrypt

Wykład 8
Spis treści
1
Wprowadzenie
1.1 Podstawowe poj˛ecia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Sieci komunikacyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
3
2
Problemy systemów rozproszonych
2.1 Koordynacja w systemach rozproszonych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Niezawodność i bezpieczeństwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
8
1
1.1
Wprowadzenie
Podstawowe poj˛ecia
Systemy Rozproszone Przypomnienie z pierwszego wykładu
• Systemy luźno powiazane
˛
– oddzielne komputery
– wymiana komunikacji poprzez sieć
– każdy uczestnik jest autonomiczny
• Architektura klient — serwer
– serwer udost˛epnia usługi i pełni rol˛e nadrz˛edna˛
– klient zapewnia użytkownikowi interfejs do korzystania usług serwera
– np. serwery obliczeniowe, serwery plików
• Architektura peer-to-peer
– brak wyróżnionych w˛ezłów
– środowiska obliczeniowe
– sieci P2P
System rozproszony
System rozproszony
Zbiór luźno powiazanych
˛
ze soba˛ procesorów połaczonych
˛
siecia˛ komunikacyjna.˛ Procesory nie sa˛ taktowane
wspólnym zegarem i nie współdziela˛ pami˛eci operacyjnej.
Zasoby lokalne przyłaczone
˛
bezpośrednio do procesora
Zasoby zdalne pozostałe procesory w systemie i ich zasoby
Elementy systemu rozproszonego
• Procesory - w˛ezły systemu rozproszonego
• Sieć komunikacyjna - łaczy
˛
w˛ezły
Uwaga:
Rozmaite określenia “procesorów” zwiazane
˛
sa˛ z architektura˛ i funkcja˛ systemu.
1
• w˛ezły
• serwery
• komputery
• terminale
• stanowiska, stacje
Np. w˛ezły klastra, ale serwery plików.
W˛ezły systemów rozproszonych
Procesory systemów rozproszonych
• Komputery (w tym wieloprocesorowe)
• Systemy wbudowane
• Mikrosterowniki (AVR, ARM, PIC...)
• Sterowniki przemysłowe
Uwaga:
Poza szczególnymi przypadkami elementów infrastruktury sieciowej (urzadzeń
˛
aktywnych sieci komunikacyjnej) nie
traktuje si˛e jako “w˛ezłów” systemu rozproszonego.
Cele budowy systemów rozproszonych
Współdzielenie zasobów
• Serwery usług
• Udost˛epnianie zasobów (pliki, drukarki)
• Aplikacje “on-line”
Zwi˛ekszenie (zwielokrotnienie) wydajności
• Obliczenia rozproszone
• Klastry (serwerowe, bazodanowe, HPC)
Obliczenia wysokiej wydajności
(HPC - High Performance Computing)
Systemy o dużej mocy obliczeniowej:
• Klastry zbudowane z maszyn wieloprocesorowych
• Wykorzystanie GPU
2
Cele budowy systemów rozproszonych
Niezawodność
• Łagodna degradacja
• Nadmiarowość i redundancja
– Systemy Fail-over i wysokiej dost˛epności (HA)
– Systemy z tolerancja˛ uszkodzeń (FT)
• Rozproszenie geograficzne
Komunikacja
• Praca grupowa — komunikacja mi˛edzy użytkownikami
• Komunikacja pomi˛edzy elementami systemu
1.2
Sieci komunikacyjne
Sieci komunikacyjne w systemach rozproszonych
• Sieci LAN (np. Ethernet)
• Sieci rozległe (WAN)
• Sieci bezprzewodowe (GSM, WiFi, BT, ...)
• Sieci specjalizowane (np. CAN, sieci przemysłowe)
• Łacza
˛ szeregowe (RS232, RS485)
• Łacza
˛ IETF RFC 1149
Uwaga:
Sieć w systemie nie musi być homogeniczna. Przykładowo:
• Sieć GSM jako sieć rozległa, łacz
˛ aca
˛ lokacje systemu
• Ethernet jako sieć wewnatrz
˛ obiektu
• Magistrale przemysłowe pomi˛edzy komputerem sterujacym
˛
a sterownikami
Topologie sieciowe Sieć całkowicie połaczona
˛
(każdy z każdym)
• Odporność na awarie
• Wysoki koszt instalacji
3
Rysunek 1: Sieć całkowicie połaczona
˛
Topologie sieciowe Sieć cz˛eściowo połaczona
˛
• Możliwość zapewnienia redundancji połaczeń
˛
• Niższy koszt instalacji od sieci pełnej
• Rośnie koszt komunikacji — trasowanie
Rysunek 2: Sieć cz˛eściowo połaczona
˛
Topologie sieciowe Sieć drzewiasta
• Brak redundancji
• Niski koszt instalacji
• Konieczność trasowania
4
Rysunek 3: Sieć drzewiasta
Topologie sieciowe Sieć gwiaździsta
• Brak odporności na awari˛e centralnego w˛ezła
• Za wyjatkiem
˛
centralnego w˛ezła — łagodna degradacja
• Niski koszt instalacji
• Konieczność trasowania
Rysunek 4: Sieć gwiaździsta
Topologie sieciowe Sieć pierścieniowa
• Niezawodność zależna od implementacji
• Umiarkowany koszt instalacji
5
Rysunek 5: Sieć pierścieniowa
Topologie sieciowe Magistrala
• Mała odporność na uszkodzenie sieci
• Umiarkowany koszt instalacji
• Obecnie spotykane w systemach przemysłowych
Rysunek 6: Magistrala
Trasowanie (routing)
Algorytm trasowania (routingu)
Algorytm wyznaczania trasy, jaka˛ należy przesłać komunikat w sieci od nadawcy do odbiorcy.
Routing statyczny — każdy w˛ezeł posiada tablic˛e wia˛żac
˛ a˛ możliwe cele z dost˛epnymi kanałami komunikacyjnymi
Routing dynamiczny — w sieci i/lub w˛ezłach systemu działa algorytm automatycznie wyznaczajacy
˛ trasy
Struktury systemów rozproszonych
• Hierarchiczne
– Wyróżnione w˛ezły systemu pełnia˛ specyficzne role
– Uogólnienie architektury klient - serwer na wi˛ecej poziomów
– Przykłady:
6
∗ Przemysłowe sieci sterowania
∗ Systemy aplikacji WWW — struktura warstwowa
• Peer-to-peer (równy z równym)
– Brak wyróżnionych w˛ezłów w systemie
– Przykłady:
∗ Klastry obliczeniowe
∗ Systemy aplikacji WWW — zwielokrotnianie zasobów
2
Problemy systemów rozproszonych
2.1
Koordynacja w systemach rozproszonych
Koordynacja w systemie rozproszonym
Działanie systemu rozproszonego wymaga koordynacji:
• Szeregowanie zadań
• Dost˛ep do zasobów
• Komunikacja mi˛edzyprocesowa
• Synchronizacja procesów
Koordynacja w systemie rozproszonym
• Koordynacja scentralizowana
– Dedykowana stacja koordynatora
– Elekcja stacji koordynatora z systemem reelekcji
• Koordynacja rozproszona
– Koordynacja na poziomie lokalnym
– Niektóre funkcje koordynowane na zasadzie elekcji
Szeregowanie zadań
• System składa si˛e ze stacji specjalizowanych:
– Stacje realizuja˛ odr˛ebne algorytmy
– Planowanie lokalne na każdej stacji
• System składa si˛e z wielu jednakowych w˛ezłów do których przydzielane sa˛ zadania:
– Centralne planowanie przydziału zadań
– Najprostsze algorytmy — pierwszy wolny
– Bardziej zaawansowane — równoważenie obcia˛żeń
• Środowiska heterogeniczne:
– Kłopotliwe równoważenie obcia˛żeń
– Utrudnione planowanie przydziału zadań
7
Dost˛ep do zasobów
• Pełna koordynacja na poziomie centralnym
• Katalog na poziomie centralnym i lokalna koordynacja
• Lokalne rozgłaszanie i koordynacja zasobów
Komunikacja mi˛edzyprocesowa
• RPC/RMI
• Mechanizmy komunikacji sieciowej
• MPI (Message Passing Interface, ang. Interfejs Transmisji Wiadomości)
– Standard wykorzystywany w systemach równoległych
– Udost˛epniany poprzez biblioteki dla wi˛ekszości j˛ezyków programowania
Synchronizacja procesów
Problemy znane z “klasycznych” systemów operacyjnych
W mocy pozostaja˛ problemy zwiazane
˛
ze współbieżnym wykonywaniem procesów:
• Problem sekcji krytycznych
• Zakleszczenia i blokady
• Głodzenie procesów
Dodatkowe komplikacje zwiazane
˛
z rozproszeniem:
• Utrata łaczności
˛
lub bł˛edy w sieci
• Awaria w˛ezła
• Rekonfiguracja
2.2
Niezawodność i bezpieczeństwo
Niezawodność systemów rozproszonych
Wysoka dost˛epność (HA - High Availability)
Zapewnienie ciagłej
˛
dost˛epności systemu:
• Redundancja — elementy rezerwowe gotowe do przej˛ecia operacji w razie awarii elementu podstawowego
• Brak pojedynczych punktów awarii
Łagodna degradacja
Uszkodzenie elementu systemu nie prowadzi do jego załamania, może jednak powodować jego degradacj˛e:
• Redundancja — zwielokrotnienie elementów systemu, elementy rezerwowe aktywne
• Równoważenie obciaże
˛ ń — działanie rozkładane równomiernie na wszystkie czynne komponenty systemu
8
Niezawodność systemów rozproszonych
Tolerancja uszkodzeń (FT - Fault Tolerance)
Odporność na awarie oraz bł˛edne działanie elementów systemu:
• Redundancja — zwielokrotnienie elementów systemu, elementy rezerwowe aktywne
• Praca równoległa — zwielokrotnione elementy współbieżnie wykonuja˛ te same operacje
• Głosowanie — porównanie wyników w celu weryfikacji poprawności działania podsystemów
Niezawodność w˛ezłów systemu rozproszonego
Redundancja w układzie aktywny-rezerwa (active-backup)
Elementy rezerwowe sa˛ właczone
˛
(goraca
˛ rezerwa), gotowe do przej˛ecia funkcji w razie awarii elementu podstawowego. Do momentu wystapienia
˛
awarii elementy rezerwowe nie biora˛ udziału w działaniu systemu.
Redundancja w układzie aktywny-aktywny (active-active)
Elementy rezerwowe sa˛ właczone
˛
i współdziela˛ obcia˛żenie systemu. W razie awarii któregoś z elementów, przypadajace
˛ na niego obcia˛żenie dzielone jest na czynne elementy systemu.
Niezawodność sieci komunikacyjnej
• Odporność na awarie urzadzeń
˛
sieciowych i łaczy
˛
– Redundancja
∗ Zwielokrotnienie łaczy,
˛
prowadzonych różnymi trasami
∗ Urzadzenia
˛
w konfiguracji aktywny-rezerwa lub aktywny-aktywy
– Łacza
˛ alternatywne
∗ Niższa przepustowość
∗ Zapewniaja˛ minimalna˛ funkcjonalność systemu w razie awarii sieci podstawowej
• Odporność na ataki sieciowe
Bezpieczeństwo systemu
• Bezpieczeństwo fizyczne
• Bezpieczeństwo ludzkie
• Bezpieczeństwo sieciowe
• Bezpieczeństwo systemu operacyjnego
Uwaga:
Bezpieczeństwo całego systemu zależy od najsłabszego ogniwa!
Koniec ©
9

Podobne dokumenty