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