Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Klastry dr A Kwiatkowska. Algorytmy ALGORYTM CENTRALNEGO SERWERA stworzenie serwera koordynującego (udzielającego pozwoleń) wejście procesów do sekcji.

Podobne prezentacje


Prezentacja na temat: "Klastry dr A Kwiatkowska. Algorytmy ALGORYTM CENTRALNEGO SERWERA stworzenie serwera koordynującego (udzielającego pozwoleń) wejście procesów do sekcji."— Zapis prezentacji:

1 Klastry dr A Kwiatkowska

2 Algorytmy ALGORYTM CENTRALNEGO SERWERA stworzenie serwera koordynującego (udzielającego pozwoleń) wejście procesów do sekcji krytycznej jest jedną z podstawowych i najprostszych metod realizacji wzajemnego wykluczania w środowisku rozproszonym stworzenie serwera koordynującego (udzielającego pozwoleń) wejście procesów do sekcji krytycznej jest jedną z podstawowych i najprostszych metod realizacji wzajemnego wykluczania w środowisku rozproszonym przy założeniu, że istnieje tylko jedna sekcja krytyczna, proces, który chce wejść do zasobu dzielonego wysyła do serwera komunikat z zamówieniem i oczekuje na odpowiedź, często porównywaną do otrzymania żetonu dającego prawo do wejścia przy założeniu, że istnieje tylko jedna sekcja krytyczna, proces, który chce wejść do zasobu dzielonego wysyła do serwera komunikat z zamówieniem i oczekuje na odpowiedź, często porównywaną do otrzymania żetonu dającego prawo do wejścia

3 ALGORYTM CENTRALNEGO SERWERA w sytuacji gdy sekcja krytyczna jest pusta serwer natychmiast "wręcza" procesowi żeton, a proces może wejść do sekcji w sytuacji gdy sekcja krytyczna jest pusta serwer natychmiast "wręcza" procesowi żeton, a proces może wejść do sekcji jeżeli żeton jest w posiadaniu innego procesu (żeton jest tylko jeden - spełnienie warunku, że w sekcji może w danej chwili znajdować się tylko jeden proces), wówczas proces zamawiający jest ustawiany w kolejce serwera jeżeli żeton jest w posiadaniu innego procesu (żeton jest tylko jeden - spełnienie warunku, że w sekcji może w danej chwili znajdować się tylko jeden proces), wówczas proces zamawiający jest ustawiany w kolejce serwera

4 ALGORYTM CENTRALNEGO SERWERA wychodząc z sekcji krytycznej każdy z procesów zwraca żeton serwerowi, wysyłając jednocześnie komunikat o opuszczeniu sekcji wychodząc z sekcji krytycznej każdy z procesów zwraca żeton serwerowi, wysyłając jednocześnie komunikat o opuszczeniu sekcji w przypadku gdy serwer udostępnia wejście do sekcji procesom znajdującym się w kolejce (w danej chwili tylko pierwszemu z nich), wówczas kieruje się priorytetem najstarszego wpisu w przypadku gdy serwer udostępnia wejście do sekcji procesom znajdującym się w kolejce (w danej chwili tylko pierwszemu z nich), wówczas kieruje się priorytetem najstarszego wpisu pozwolenie na wejście uzyskuje proces, który ustawi się w kolejce najwcześniej pozwolenie na wejście uzyskuje proces, który ustawi się w kolejce najwcześniej

5 ALGORYTM CENTRALNEGO SERWERA widać sytuację, w której w sekcji krytycznej znajduje się proces P3 (jest w posiadaniu żetonu), proces P4 wysłał już zamówienie żetonu do serwera wcześniej, natomiast proces P2 wysyła właśnie zamówienie na żeton

6 ALGORYTM CENTRALNEGO SERWERA Kolejny krok algorytmu pokazuje zachowanie się poszczególnych procesów oraz żetonu. Proces P2 ustawił się w kolejce lokalnej serwera, żeton został zwrócony i natychmiast zostanie przekazany procesowi zamawiającemu najwcześniej, tzn. procesowi P4

7 ALGORYTM CENTRALNEGO SERWERA proces P4 znajduje się w sekcji, na początku kolejki znalazł się proces P2, a kolejne procesy mogą wysyłać zamówienia

8 ALGORYTM CENTRALNEGO SERWERA algorytm ten spełnia warunki wymienione jako warunki wzajemnego wykluczania. algorytm ten spełnia warunki wymienione jako warunki wzajemnego wykluczania. jednak system z zastosowaniem pojedynczego serwera jest podatny na awarie bardzo brzemienne w skutkach jednak system z zastosowaniem pojedynczego serwera jest podatny na awarie bardzo brzemienne w skutkach ze względu na to, że przez serwer przechodzą wszystkie operacje, jego uszkodzenie może być bardzo niebezpieczne dla całego systemu ze względu na to, że przez serwer przechodzą wszystkie operacje, jego uszkodzenie może być bardzo niebezpieczne dla całego systemu z tego powodu opisany algorytm jest jedynie obrazem przedstawiającym podstawy realizacji wzajemnego wykluczania i nie jest stosowany w rozwiązaniach systemów rozproszonych z tego powodu opisany algorytm jest jedynie obrazem przedstawiającym podstawy realizacji wzajemnego wykluczania i nie jest stosowany w rozwiązaniach systemów rozproszonych

9 Algorytm Lamporta spełnia warunki bezpieczeństwa, ruchu i uporządkowania spełnia warunki bezpieczeństwa, ruchu i uporządkowania algorytm zakłada, że wszystkie procesy w systemie posiadają lokalną kolejkę przechowującą komunikaty żądania innych procesów oraz znacznik czasu algorytm zakłada, że wszystkie procesy w systemie posiadają lokalną kolejkę przechowującą komunikaty żądania innych procesów oraz znacznik czasu wysyłając komunikat, każdy proces zaopatruje go w numer dający informację, z którego procesu wysłano komunikat oraz w znacznik czasu w celu właściwego ich odbioru i interpretacji przy udzielaniu pozwolenia wejścia do sekcji wysyłając komunikat, każdy proces zaopatruje go w numer dający informację, z którego procesu wysłano komunikat oraz w znacznik czasu w celu właściwego ich odbioru i interpretacji przy udzielaniu pozwolenia wejścia do sekcji proces, który chce wejść do sekcji krytycznej, tworzy komunikat żądania, który oprócz tego, że jest wysyłany do innych procesów, jest także umieszczany w kolejce procesu wysyłającego żądanie proces, który chce wejść do sekcji krytycznej, tworzy komunikat żądania, który oprócz tego, że jest wysyłany do innych procesów, jest także umieszczany w kolejce procesu wysyłającego żądanie

10 Algorytm Lamporta komunikat taki ma swój znacznik czasu komunikat taki ma swój znacznik czasu proces odbierający żądanie natychmiast wysyła odpowiedź ze znacznikiem czasu, a przybyłe żądanie umieszcza w swojej kolejce proces odbierający żądanie natychmiast wysyła odpowiedź ze znacznikiem czasu, a przybyłe żądanie umieszcza w swojej kolejce proces wysyłający żądanie będzie mógł wejść do sekcji krytycznej jeżeli jego komunikat będzie znajdował się na początku kolejki procesu wysyłającego oraz gdy jego komunikat zostanie odebrany przez inne procesy, a otrzymana odpowiedź będzie miała większy znacznik czasu od znacznika czasu żądania proces wysyłający żądanie będzie mógł wejść do sekcji krytycznej jeżeli jego komunikat będzie znajdował się na początku kolejki procesu wysyłającego oraz gdy jego komunikat zostanie odebrany przez inne procesy, a otrzymana odpowiedź będzie miała większy znacznik czasu od znacznika czasu żądania po opuszczeniu sekcji krytycznej proces usuwa własny numer z kolejki i zawiadamia wszystkie inne procesy w systemie o zwolnieniu zasobu dzielonego po opuszczeniu sekcji krytycznej proces usuwa własny numer z kolejki i zawiadamia wszystkie inne procesy w systemie o zwolnieniu zasobu dzielonego wówczas procesy otrzymujące komunikat zwalniający "czyszczą" własną kolejkę z numerem procesu opuszczającego sekcję. wówczas procesy otrzymujące komunikat zwalniający "czyszczą" własną kolejkę z numerem procesu opuszczającego sekcję.

11 Algorytm Lamporta Najistotniejszymi założeniami algorytmu Lamporta są: utrzymanie lokalnej kolejki przez wszystkie procesy utrzymanie lokalnej kolejki przez wszystkie procesy komunikacja między wszystkimi procesami komunikacja między wszystkimi procesami Stosowanie tego rozwiązania jest jednak ograniczone ze względu na możliwość zbyt dużej liczby komunikatów w systemie (przy dużej liczbie procesów) i konieczność ich wymiany co powoduje powstawanie lokalnych kolejek o ogromnych rozmiarach. Algorytm Lamporta, przy założeniu, że w systemie jest N procesów, wymagawymiany 3(N-1) komunikatów. Tak więc przy 3 procesach konieczna jest wymiana 6 komunikatów

12 Algorytm Lamporta

13 Przykładowy schemat działania algorytmu Lamporta w przypadku istnienia w systemie trzech procesów zainteresowanych wejściem do zasobu dzielonego w sytuacji a) widać, że każdy z procesów wysyła zamówienie ze znacznikiem czasu do każdego z procesów w systemie, a swój znacznik ustawia w lokalnej kolejce w sytuacji a) widać, że każdy z procesów wysyła zamówienie ze znacznikiem czasu do każdego z procesów w systemie, a swój znacznik ustawia w lokalnej kolejce następnie dokonywana jest klasyfikacja zamówień od wszystkich procesów i w lokalnej kolejce są ustawiane poszczególne zamówienia, a proces z najmniejszym znacznikiem uzyskuje dostęp do sekcji krytycznej po otrzymaniu odpowiedzi od innych procesów. następnie dokonywana jest klasyfikacja zamówień od wszystkich procesów i w lokalnej kolejce są ustawiane poszczególne zamówienia, a proces z najmniejszym znacznikiem uzyskuje dostęp do sekcji krytycznej po otrzymaniu odpowiedzi od innych procesów. odpowiedzi procesów są wysyłane natychmiast po otrzymaniu komunikatów zamówień i po stwierdzeniu przez proces P3, że mają one znaczniki czasu późniejsze oraz to, że jego identyfikator jest umieszczony na początku lokalnej kolejki wchodzi on do sekcji krytycznej. odpowiedzi procesów są wysyłane natychmiast po otrzymaniu komunikatów zamówień i po stwierdzeniu przez proces P3, że mają one znaczniki czasu późniejsze oraz to, że jego identyfikator jest umieszczony na początku lokalnej kolejki wchodzi on do sekcji krytycznej.

14 ALGORYTM RICARTA I AGRAWALI algorytm oparty na rozproszonym uzgadnianiu zwany często jako algorytm z zastosowaniem zegarów logicznych algorytm oparty na rozproszonym uzgadnianiu zwany często jako algorytm z zastosowaniem zegarów logicznych każdy proces chcący wejść do sekcji krytycznej rozsyła komunikat do wszystkich procesów w systemie i może wejść do sekcji dopiero wówczas, gdy dostanie odpowiedź od pozostałych komunikatów. każdy proces chcący wejść do sekcji krytycznej rozsyła komunikat do wszystkich procesów w systemie i może wejść do sekcji dopiero wówczas, gdy dostanie odpowiedź od pozostałych komunikatów.

15 ALGORYTM RICARTA I AGRAWALI Założenia tego algorytmu są następujące: - istnieje jedna sekcja krytyczna (dla ułatwienia), - wszystkie procesy znają wzajemnie swoje adresy, - wszystkie komunikaty zostaną w końcu dostarczone, - każdy proces utrzymuje zegar logiczny (znacznik czasu)

16 ALGORYTM RICARTA I AGRAWALI Proces, który otrzymał od innego procesu komunikat zamawiający wejście do sekcji działa następująco: 1.jeżeli sam wcześniej nie wysłał prośby (nie czeka na dostęp), to odpowiada pozytywnie 2. jeżeli sam wcześniej wysłał prośbę i jeszcze nie uzyskał wszystkich odpowiedzi, to o tym kto pierwszy wykona sekcje krytyczna decyduje czas wysłania próśb: 3.jeżeli zapytywany proces wysłał swoja prośbę później, to także odpowiada pozytywnie 4.jeżeli prośby zostały wysłane w tym samym momencie, to o kolejności decydują priorytety (np. jeżeli zapytany proces ma wyższy numer to, odpowiada pozytywnie) 5.w każdym innym przypadku zapytywany proces wstrzymuje się z odpowiedzią, aż do chwili, gdy sam skończy wykonywać swoja sekcje krytyczna - wówczas odpowiada pozytywnie wszystkim, którym jeszcze nie odpowiedział.

17 ALGORYTM RICARTA I AGRAWALI Wejście do sekcji krytycznej może nastąpić tylko wówczas gdy proces wysyłający żądanie otrzyma od każdego innego procesu odpowiedź. Gdy proces wykonał swoje zadania w sekcji otrzyma od każdego innego procesu odpowiedź. Gdy proces wykonał swoje zadania w sekcji krytycznej może ją opuścić informując jednocześnie o swym kroku procesy których żądania krytycznej może ją opuścić informując jednocześnie o swym kroku procesy których żądania przetrzymuje w lokalnej kolejce. przetrzymuje w lokalnej kolejce.

18 ALGORYTM RICARTA I AGRAWALI sytuacja, w której mamy do czynienia z trzema procesami, z których współbieżne zamówienie wejścia do sekcji wysyłają procesy P1 i P2 oba zamawiające procesy mają znaczniki czasu odpowiednio P1- 41, a P2 – 34 oba zamawiające procesy mają znaczniki czasu odpowiednio P1- 41, a P2 – 34 proces P3 w przypadku otrzymania zamówienia odpowie natychmiast (nie jest zainteresowany wejściem do zasobu dzielonego w danej chwili) proces P3 w przypadku otrzymania zamówienia odpowie natychmiast (nie jest zainteresowany wejściem do zasobu dzielonego w danej chwili) inaczej sytuacja przedstawia się w przypadku procesów zainteresowanych wejściem do sekcji inaczej sytuacja przedstawia się w przypadku procesów zainteresowanych wejściem do sekcji proces P2 odbierając komunikat zamówienie od procesu P1 stwierdzi, że jego własne zamówienie ma znacznik czasu mniejszy niż zamówienie procesu P1 i z tego powodu nie udzieli odpowiedzi. proces P2 odbierając komunikat zamówienie od procesu P1 stwierdzi, że jego własne zamówienie ma znacznik czasu mniejszy niż zamówienie procesu P1 i z tego powodu nie udzieli odpowiedzi. proces P1 otrzymując komunikat od procesu P2 z mniejszym znacznikiem czasu odpowie natychmiast umożliwiając wejście do sekcji procesowi P2 proces P1 otrzymując komunikat od procesu P2 z mniejszym znacznikiem czasu odpowie natychmiast umożliwiając wejście do sekcji procesowi P2

19 ALGORYTM RICARTA I AGRAWALI W momencie opuszczenia sekcji krytycznej przez proces P2 wysyła on odpowiedź do procesu P1 umożliwiając mu wejście do sekcji. Jest to algorytm rozproszony, jednak awaria dowolnego procesu uniemożliwi działanie algorytmu Jest to algorytm rozproszony, jednak awaria dowolnego procesu uniemożliwi działanie algorytmu Kolejną wadą jest to, że wszystkie procesy przetwarzają wszystkie zamówienia co osłabia wydajność systemu. Kolejną wadą jest to, że wszystkie procesy przetwarzają wszystkie zamówienia co osłabia wydajność systemu.

20 ALGORYTM MAEKAWY Mając do dyspozycji N procesów w systemie Maekawa podzielił go na podzbiory z uwzględnieniem pewnych warunków: 1.pierwszy warunek zwany "regułą równego wysiłku", mówi, że podział systemu na podzbiory odbywa się w ten sposób, że każdy podzbiór ma taki sam rozmiar 2."Reguła niepustego przejęcia" oznacza, że dla dowolnej pary podzbiorów istnieje element, który należy do każdego z nich 3."Reguła równej odpowiedzialności" oznacza, że każdy proces zawiera się dokładnie w takiej samej liczbie podzbiorów 4.Ostatni warunek oznacza, że każdy proces zawiera się we własnym podzbiorze i zwany jest "zawieraniem się we własnym podzbiorze"

21 ALGORYTM MAEKAWY Sposób działania algorytmu: proces, który zamierza wejść do sekcji krytycznej wysyła komunikat żądanie do wszystkich procesów z własnego podzbioru proces, który zamierza wejść do sekcji krytycznej wysyła komunikat żądanie do wszystkich procesów z własnego podzbioru komunikat ten jest zaopatrzony w numer kolejności (lub znacznik czasu) większy niż numery kolejności odebrane wcześniej przez ten proces lub wcześniej zauważone przez proces w systemie komunikat ten jest zaopatrzony w numer kolejności (lub znacznik czasu) większy niż numery kolejności odebrane wcześniej przez ten proces lub wcześniej zauważone przez proces w systemie każdy z procesów w podzbiorze otrzymujących komunikat żądanie wysyła następnie do procesu chcącego wejść do sekcji krytycznej komunikat blokada, a wcześniej zaznacza siebie jako zablokowany każdy z procesów w podzbiorze otrzymujących komunikat żądanie wysyła następnie do procesu chcącego wejść do sekcji krytycznej komunikat blokada, a wcześniej zaznacza siebie jako zablokowany

22 ALGORYTM MAEKAWY jeżeli dojdzie do sytuacji, że proces był już wcześniej zablokowany wówczas komunikat żądanie jest umieszczany w lokalnej kolejce, a do procesu chcącego korzystać z zasobu wysyłany jest komunikat niepowodzenie jeżeli dojdzie do sytuacji, że proces był już wcześniej zablokowany wówczas komunikat żądanie jest umieszczany w lokalnej kolejce, a do procesu chcącego korzystać z zasobu wysyłany jest komunikat niepowodzenie wW przypadku gdy komunikat żądania ma niższy numer niż komunikat już blokujący proces w podzbiorze wówczas wysyłany jest komunikat pytanie wW przypadku gdy komunikat żądania ma niższy numer niż komunikat już blokujący proces w podzbiorze wówczas wysyłany jest komunikat pytanie proces otrzymujący komunikat pytanie kasuje komunikat blokowanie (jeżeli w kolejce jest komunikat niepowodzenie) i zwraca komunikat opuszczenie proces otrzymujący komunikat pytanie kasuje komunikat blokowanie (jeżeli w kolejce jest komunikat niepowodzenie) i zwraca komunikat opuszczenie po odebraniu komunikatu pytanie i opuszczeniu sekcji krytycznej proces wysyła odpowiedź po odebraniu komunikatu pytanie i opuszczeniu sekcji krytycznej proces wysyła odpowiedź

23 ALGORYTM MAEKAWY proces, który otrzymał komunikat opuszczenie blokuje się dla komunikatu żądania z najmniejszym numerem kolejności proces, który otrzymał komunikat opuszczenie blokuje się dla komunikatu żądania z najmniejszym numerem kolejności jeżeli zaistnieje sytuacja w której wszystkie procesy z podzbioru wysłały komunikat blokowanie to proces wysyłający żądanie może wejść do sekcji krytycznej jeżeli zaistnieje sytuacja w której wszystkie procesy z podzbioru wysłały komunikat blokowanie to proces wysyłający żądanie może wejść do sekcji krytycznej

24 ALGORYTM MAEKAWY

25 Klastry klaster (ang. cluster) to co najmniej dwa komputery, komunikujące się ze sobą za pomocą możliwie najszybszych łączy, tworzących w rezultacie jeden logiczny system obliczeniowy klaster (ang. cluster) to co najmniej dwa komputery, komunikujące się ze sobą za pomocą możliwie najszybszych łączy, tworzących w rezultacie jeden logiczny system obliczeniowy całość tworzy jeden wirtualny komputer, realizujący powierzone mu zadania całość tworzy jeden wirtualny komputer, realizujący powierzone mu zadania to grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy to grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy

26 W istniejących rozwiązaniach klastrowych można wyodrębnić dwie podstawowe klasy wynikające z celów budowy takich rozwiązań: Klastry wydajnościowe: pracujące jako celem ich budowy jest powiększenie mocy obliczeniowej Klastry wydajnościowe: pracujące jako komputer równoległy, celem ich budowy jest powiększenie mocy obliczeniowej Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje, w razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje, w razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły

27 W praktyce rozwiązania klastrowe mają charakter mieszany i wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym pełnieniu roli niezawodnościowej W praktyce rozwiązania klastrowe mają charakter mieszany i wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym pełnieniu roli niezawodnościowej Szczególnie często taki tryb pracy klastra dotyczy serwerów WWW, pocztowych itp. Szczególnie często taki tryb pracy klastra dotyczy serwerów WWW, pocztowych itp.WWW

28 Klastry każdy klaster musi posiadać co najmniej jeden serwer - węzeł (master - node), który zarządza/monitoruje całym klastrem i co najmniej jeden węzeł podległy (slave - node) każdy klaster musi posiadać co najmniej jeden serwer - węzeł (master - node), który zarządza/monitoruje całym klastrem i co najmniej jeden węzeł podległy (slave - node)

29 Klastry tylko serwer zarządzający musi posiadać takie urządzenia, jak: monitor, kartę wideo, klawiaturę, mysz, stacje dyskietek, CD-ROM itp. tylko serwer zarządzający musi posiadać takie urządzenia, jak: monitor, kartę wideo, klawiaturę, mysz, stacje dyskietek, CD-ROM itp. w skrajnych przypadkach slave - nodes mogą nie posiadać dysków twardych, system jest pobierany z innego serwera na którym udostępnia się przestrzeń dyskową w skrajnych przypadkach slave - nodes mogą nie posiadać dysków twardych, system jest pobierany z innego serwera na którym udostępnia się przestrzeń dyskową

30 Klastry można również udostępnić tylko część systemu z serwera plików i oprogramowania, np. cały katalog /usr lub /usr/local można również udostępnić tylko część systemu z serwera plików i oprogramowania, np. cały katalog /usr lub /usr/local co zostanie zainstalowane na serwerze plików, będzie bez rejestracji na wszystkich węzłach co zostanie zainstalowane na serwerze plików, będzie bez rejestracji na wszystkich węzłach

31 Klastry klastry są doskonałą alternatywą dla drogich rozwiązań typu mainframe czy superkomputerów, oferując ich moc obliczeniową przy nieporównywalnie niższych kosztach uruchomienia i dużo lepszej skalowalności klastry są doskonałą alternatywą dla drogich rozwiązań typu mainframe czy superkomputerów, oferując ich moc obliczeniową przy nieporównywalnie niższych kosztach uruchomienia i dużo lepszej skalowalności

32 Klastry wiele superkomputerów realizowanych jest w postaci klastrów obliczeniowych, czyli zbiorów komputerów osobistych połączonych przy pomocy sieci lokalnej, pracujących pod kontrolą popularnych systemów operacyjnych wiele superkomputerów realizowanych jest w postaci klastrów obliczeniowych, czyli zbiorów komputerów osobistych połączonych przy pomocy sieci lokalnej, pracujących pod kontrolą popularnych systemów operacyjnych węzły klastra działają pod kontrolą niezależnych systemów operacyjnych, a procesy realizowane są w oddzielnych pamięciach fizycznych węzły klastra działają pod kontrolą niezależnych systemów operacyjnych, a procesy realizowane są w oddzielnych pamięciach fizycznych procesy obliczeniowe współdziałają ze sobą przy pomocy wymiany komunikatów procesy obliczeniowe współdziałają ze sobą przy pomocy wymiany komunikatów

33

34 Klastry typowa konfiguracja klastra obejmuje jeden lub więcej węzłów zarządzających, węzły liczące i pamięci masowe typowa konfiguracja klastra obejmuje jeden lub więcej węzłów zarządzających, węzły liczące i pamięci masowe węzły zarządzające służą do uruchamiania aplikacji użytkowników na poszczególnych węzłach liczących, ich monitorowania i zarządzania nimi węzły zarządzające służą do uruchamiania aplikacji użytkowników na poszczególnych węzłach liczących, ich monitorowania i zarządzania nimi pamięci masowe stanowią wspólną pamięć, co umożliwia centralizację wszystkich danych pamięci masowe stanowią wspólną pamięć, co umożliwia centralizację wszystkich danych

35 Klastry

36 Klastry można tutaj spotkać się z takim problemem jak przeciążenie sieci i serwera plików zbyt dużą liczbą klientów można tutaj spotkać się z takim problemem jak przeciążenie sieci i serwera plików zbyt dużą liczbą klientów rozwiązaniem będzie wtedy zainstalowanie szybszej sieci (np. Gigabitowej) lub zwiększenie ilości serwerów plików rozwiązaniem będzie wtedy zainstalowanie szybszej sieci (np. Gigabitowej) lub zwiększenie ilości serwerów plików

37 Klastry znanym problemem jest mała przepływność sieci i duże, czasy opóźnień przy przesyłaniu krótkich komunikatów, znanym problemem jest mała przepływność sieci i duże, czasy opóźnień przy przesyłaniu krótkich komunikatów, ograniczenia uwidaczniają się szczególnie przy prowadzeniu obliczeń drobnoziarnistych, z dużą liczbą komunikatów synchronizujących ograniczenia uwidaczniają się szczególnie przy prowadzeniu obliczeń drobnoziarnistych, z dużą liczbą komunikatów synchronizujących w celu eliminacji tego typu problemów, w zaawansowanych klastrach obliczeniowych stosuje się technologie i topologie połączeń zaczerpnięte z superkomputerów MPP w celu eliminacji tego typu problemów, w zaawansowanych klastrach obliczeniowych stosuje się technologie i topologie połączeń zaczerpnięte z superkomputerów MPP

38 Klastry prosta sieć lokalna zastępowana jest skomplikowanym grafem połączeń prosta sieć lokalna zastępowana jest skomplikowanym grafem połączeń

39 Klastry jedną z najbardziej powszechnych topologii połączeń jest topologia Fat-Tree, jedną z najbardziej powszechnych topologii połączeń jest topologia Fat-Tree, przy pomocy kółek zostały zaznaczone przełączniki sieciowe, natomiast komputery symbolizowane są przez prostokąty przy pomocy kółek zostały zaznaczone przełączniki sieciowe, natomiast komputery symbolizowane są przez prostokąty w przedstawionym grafie każda para komputerów może komunikować się niezależnie w dowolnym momencie czasowym (zawsze istnieje wolna ścieżka pomiędzy dwoma komputerami, które nie biorą udziału w komunikacji) w przedstawionym grafie każda para komputerów może komunikować się niezależnie w dowolnym momencie czasowym (zawsze istnieje wolna ścieżka pomiędzy dwoma komputerami, które nie biorą udziału w komunikacji) opóźnienie przy przekazywaniu komunikatów jest zawsze minimalne. opóźnienie przy przekazywaniu komunikatów jest zawsze minimalne.

40 Topologia typu Fat-Tree Rysunek z Overview of Recent Supercomputers 2003, Aad J. van der Steen, Jack J. Dongarra

41 Rodzaje klastrów Rozróżnić można klika głównych podgrup : klastry naukowe HPC (High Performance Cluster) - przetwarzanie równoległe, programowanie równoległe, cały zespół komputerów pracuje nad tym samym problemem, dużo tańsza alternatywa dla superkomputerów

42 Schemat klastra obliczeniowego

43 Klastry od strony programowej najistotniejszymi elementami są: mechanizm obsługi pamięci współdzielonej (w przypadku stosowania węzłów wieloprocesorowych) mechanizm obsługi pamięci współdzielonej (w przypadku stosowania węzłów wieloprocesorowych) biblioteka, pozwalająca na wzajemną komunikację pomiędzy węzłami i udostępniająca użytkownikom mechanizmy, pomagające w zrównoleglaniu kodu biblioteka, pozwalająca na wzajemną komunikację pomiędzy węzłami i udostępniająca użytkownikom mechanizmy, pomagające w zrównoleglaniu kodu

44 Klastry W przypadku wszystkich rodzajów klastrów niezbędne jest oprogramowanie do monitorowania węzłów, ich rekonfiguracji i aktualizowania oprogramowania W przypadku wszystkich rodzajów klastrów niezbędne jest oprogramowanie do monitorowania węzłów, ich rekonfiguracji i aktualizowania oprogramowania Oprogramowanie tego typu powinno zapewniać również dostęp do dowolnego węzła w każdej sytuacji, np. poprzez port konsoli. Oprogramowanie tego typu powinno zapewniać również dostęp do dowolnego węzła w każdej sytuacji, np. poprzez port konsoli.

45 Rodzaje klastrów Klastry naukowe służą do masowego przetwarzania danych jednego rodzaju (np. danych naukowych lub proces ó w wizualizacji) Klastry naukowe służą do masowego przetwarzania danych jednego rodzaju (np. danych naukowych lub proces ó w wizualizacji) Wymagają specjalnie przygotowanych program ó w tworzonych przy użyciu wyspecjalizowanych bibliotek programistycznych, takich jak: Message Passing Interface (MPI) lub Parallel Virtual Machine (PVM) Wymagają specjalnie przygotowanych program ó w tworzonych przy użyciu wyspecjalizowanych bibliotek programistycznych, takich jak: Message Passing Interface (MPI) lub Parallel Virtual Machine (PVM) Istnieją też dodatkowe biblioteki niższego poziomu pozwalające na przesyłanie danych bez pośrednictwa jądra systemu operacyjnego, co pozwala na zmniejszenie op ó źnień Istnieją też dodatkowe biblioteki niższego poziomu pozwalające na przesyłanie danych bez pośrednictwa jądra systemu operacyjnego, co pozwala na zmniejszenie op ó źnień

46 Rodzaje klastrów klastry balansujące zasobami serwerów - zespół serwerów, który udostępnia tę samą usługę lub zasób, w celu rozłożenia obciążenia spowodowanego dużą ilością klientów połączonych w tym samym czasie, serwery odsyłają zapytania pomiędzy siebie aby na każdym z nich było jednakowe obciążenie, w ten sposób można przyjąć bardzo duże ilości odległych klientów klastry balansujące zasobami serwerów - zespół serwerów, który udostępnia tę samą usługę lub zasób, w celu rozłożenia obciążenia spowodowanego dużą ilością klientów połączonych w tym samym czasie, serwery odsyłają zapytania pomiędzy siebie aby na każdym z nich było jednakowe obciążenie, w ten sposób można przyjąć bardzo duże ilości odległych klientów

47 Rodzaje klastrów Klastry tego typu przeznaczone są do utrzymywania bardzo obciążonych usług sieciowych (np. serwer ó w WWW) lub prostych zadań obliczeniowych. Ich gł ó wne zadania polega na r ó wnoważnym dystrybuowaniu obciążenia między poszczeg ó lne serwery-węzły klastra. MOSIX należy do tej grupy. Klastry tego typu przeznaczone są do utrzymywania bardzo obciążonych usług sieciowych (np. serwer ó w WWW) lub prostych zadań obliczeniowych. Ich gł ó wne zadania polega na r ó wnoważnym dystrybuowaniu obciążenia między poszczeg ó lne serwery-węzły klastra. MOSIX należy do tej grupy.

48 Rodzaje klastrów Klastry HA (High Availability - duża dostępność) Klastry tego typu nie zwiększają wydajności serwis ó w, a mają jedynie eliminować tzw. SPOF (Single Point Of Failure) - pojedynczy punkt awarii - w razie uszkodzenia jednego z serwer ó w jego zadania są w spos ó b niewidoczny dla użytkownik ó w przejmowane przez inny węzeł klastra. Klastry HA (High Availability - duża dostępność) Klastry tego typu nie zwiększają wydajności serwis ó w, a mają jedynie eliminować tzw. SPOF (Single Point Of Failure) - pojedynczy punkt awarii - w razie uszkodzenia jednego z serwer ó w jego zadania są w spos ó b niewidoczny dla użytkownik ó w przejmowane przez inny węzeł klastra.

49 Rodzaje klastrów Są to klastry wysokiej niezawodności - zespół serwerów, które przejmują zadania od siebie w przypadku awarii jednego z nich, po to aby serwis jaki udostępniają był dostępny bez przestojów Są to klastry wysokiej niezawodności - zespół serwerów, które przejmują zadania od siebie w przypadku awarii jednego z nich, po to aby serwis jaki udostępniają był dostępny bez przestojów Przykładem takiego klastra jest oprogramowanie Red Hat High Availability Server oraz oprogramowanie opracowywane w ramach projektu Linux HA (High Availability Przykładem takiego klastra jest oprogramowanie Red Hat High Availability Server oraz oprogramowanie opracowywane w ramach projektu Linux HA (High Availability

50 Klastry popularność i rozwój Internetu przyczyniły się do powstania nowego modelu prowadzenia złożonych obliczeń rozproszonych popularność i rozwój Internetu przyczyniły się do powstania nowego modelu prowadzenia złożonych obliczeń rozproszonych pomysł agregacji mocy obliczeniowej istniejących superkomputerów przy pomocy popularnych technologii internetowych i opracowania w oparciu o nie specjalnego, wysokopoziomowego środowiska do prowadzenia obliczeń rozproszonych pomysł agregacji mocy obliczeniowej istniejących superkomputerów przy pomocy popularnych technologii internetowych i opracowania w oparciu o nie specjalnego, wysokopoziomowego środowiska do prowadzenia obliczeń rozproszonych

51 Klastry środowisko to zostało nazwane mianem sieci GRID, a nowy model prowadzenia obliczeń określany jest jako GRID Computing środowisko to zostało nazwane mianem sieci GRID, a nowy model prowadzenia obliczeń określany jest jako GRID Computing klastry obliczeniowe stały się naturalnym fundamentem dla nowej technologii klastry obliczeniowe stały się naturalnym fundamentem dla nowej technologii

52 Różnice w stosunku do systemów rozproszonych Wewnętrzna anonimowość węzły w systemach rozproszonych zachowują swoją indywidualną tożsamość węzły w systemach rozproszonych zachowują swoją indywidualną tożsamość jest to ważne z punktu widzenia zastosowań: pewne funkcje muszą być realizowane na ustalonych węzłach (np. moje zadania na mojej stacji roboczej), pewne licencje na oprogramowanie mogą dotyczyć konkretnego węzła. jest to ważne z punktu widzenia zastosowań: pewne funkcje muszą być realizowane na ustalonych węzłach (np. moje zadania na mojej stacji roboczej), pewne licencje na oprogramowanie mogą dotyczyć konkretnego węzła.

53 Różnice w stosunku do systemów rozproszonych elementy klastra są z zewnątrz zwykle postrzegane jako anonimowe elementy klastra są z zewnątrz zwykle postrzegane jako anonimowe mogą się różnić funkcjonalnością (np. niektóre pełnią rolę węzłów obliczeniowych, a inne serwerów plików), ale nie widać tego z zewnątrz mogą się różnić funkcjonalnością (np. niektóre pełnią rolę węzłów obliczeniowych, a inne serwerów plików), ale nie widać tego z zewnątrz używa się w tym kontekście określenia wirtualny serwer lub wirtualny zasób używa się w tym kontekście określenia wirtualny serwer lub wirtualny zasób

54 Różnice w stosunku do systemów rozproszonych Związki punkt-do-punktu współczesne systemy rozproszone zwykle korzystają z warstwy komunikacyjnej, która działa na zasadzie punkt-do-punktu (ang. peer-to-peer) współczesne systemy rozproszone zwykle korzystają z warstwy komunikacyjnej, która działa na zasadzie punkt-do-punktu (ang. peer-to-peer) nie ma wewnętrznej hierarchii, tylko komunikujące się jednostki nie ma wewnętrznej hierarchii, tylko komunikujące się jednostki jednak na wyższym poziomie abstrakcji są one najczęściej zorganizowane na zasadzie klient-serwer (hierarchia dwupoziomowa). jednak na wyższym poziomie abstrakcji są one najczęściej zorganizowane na zasadzie klient-serwer (hierarchia dwupoziomowa).

55 Różnice w stosunku do systemów rozproszonych Związki punkt-do-punktu odróżnia to systemy rozproszone od klastrów, w których ze względu na skalowalność często zachowuje się komunikację punkt-do-punktu, bez nadbudowywania nad nią hierarchii. odróżnia to systemy rozproszone od klastrów, w których ze względu na skalowalność często zachowuje się komunikację punkt-do-punktu, bez nadbudowywania nad nią hierarchii.

56 Oprogramowanie Gł ó wna strona projektu MOSIX Gł ó wna strona projektu MOSIX Projekt Beowulf Projekt Beowulf PVM (Parallel Virtual Machine) - narzędzia do budowy komputer ó w r ó wnoległych, kt ó re mogą wykorzystywać r ó żne systemy operacyjne, np. Linux i Windows NT PVM (Parallel Virtual Machine) - narzędzia do budowy komputer ó w r ó wnoległych, kt ó re mogą wykorzystywać r ó żne systemy operacyjne, np. Linux i Windows NT

57 Oprogramowanie Komercyjne oprogramowanie TurboLinux EnFuzion do łączenia zwykłych komputer ó w w sieci lokalnej w klaster Komercyjne oprogramowanie TurboLinux EnFuzion do łączenia zwykłych komputer ó w w sieci lokalnej w klaster Projekt Linux High Availability Projekt Linux High Availability Pakiet Message Passing Interface (MPI) labs/hpcl/projects/mpi/ Pakiet Message Passing Interface (MPI) labs/hpcl/projects/mpi/ labs/hpcl/projects/mpi/ labs/hpcl/projects/mpi/

58 Oprogramowanie PVMPovRay - specjalna wersja popularnego renderera przystosowana do pracy w klastrach linux/beowulf/tools/PVMPovray i386.rpm PVMPovRay - specjalna wersja popularnego renderera przystosowana do pracy w klastrach linux/beowulf/tools/PVMPovray i386.rpm linux/beowulf/tools/PVMPovray i386.rpm linux/beowulf/tools/PVMPovray i386.rpm LUI - narzędzie do automatycznego "klonowania" całego systemu operacyjnego między węzłami klastra developerworks/projects/lui LUI - narzędzie do automatycznego "klonowania" całego systemu operacyjnego między węzłami klastra developerworks/projects/lui developerworks/projects/lui developerworks/projects/lui

59 System klastrowy widziany jest przez użytkowników jako całość.

60 Niezawodność jest cechą systemu informatycznego, która określa dopuszczalny czas przestoju i jego bezawaryjnej pracy jest cechą systemu informatycznego, która określa dopuszczalny czas przestoju i jego bezawaryjnej pracy w systemach o znaczeniu krytycznym dopuszcza się średni czas awarii w ciągu roku na poziomie pięciu minut (stanowi to tysięczną część procentu czasu pracy) w systemach o znaczeniu krytycznym dopuszcza się średni czas awarii w ciągu roku na poziomie pięciu minut (stanowi to tysięczną część procentu czasu pracy)

61 Niezawodność w systemach klastrowych podnosi ją konfiguracja węzłów, gdyż są one odizolowane od siebie, zatem uszkodzenie jednego z nich eliminuje ryzyko wystąpienia awarii w innym węźle w systemach klastrowych podnosi ją konfiguracja węzłów, gdyż są one odizolowane od siebie, zatem uszkodzenie jednego z nich eliminuje ryzyko wystąpienia awarii w innym węźle

62 Przezroczystość niezależnie od tego jak zbudowany jest system klastrowy, użytkownik nie jest na ogół w stanie stwierdzić czy pracuje na klastrze czy na pojedynczym komputerze niezależnie od tego jak zbudowany jest system klastrowy, użytkownik nie jest na ogół w stanie stwierdzić czy pracuje na klastrze czy na pojedynczym komputerze często złożoność operacji przeprowadzanych w systemie jest przed użytkownikiem ukryta. często złożoność operacji przeprowadzanych w systemie jest przed użytkownikiem ukryta.

63 Skalowalność system skalowalny to taki, który można w szybki i sprawny sposób rozbudować w celu sprostania zwiększającym się wymaganiom użytkowników system skalowalny to taki, który można w szybki i sprawny sposób rozbudować w celu sprostania zwiększającym się wymaganiom użytkowników rozbudowa ta powinna przebiegać bez konieczności zmian w budowie całego systemu a jedynie na wymianie części sprzętu na nowy lub dodanie kolejnych jego elementów takich jak nowy procesor czy zwiększenie ilości pamięci operacyjnej rozbudowa ta powinna przebiegać bez konieczności zmian w budowie całego systemu a jedynie na wymianie części sprzętu na nowy lub dodanie kolejnych jego elementów takich jak nowy procesor czy zwiększenie ilości pamięci operacyjnej

64 Skalowalność najlepiej, aby rozbudowa taka nie powodowała przerwania pracy systemu i aby wzrost wydajności był liniowo proporcjonalny do przyrostu mocy obliczeniowej wynikającej z dodania nowego węzła w systemie klastrowym najlepiej, aby rozbudowa taka nie powodowała przerwania pracy systemu i aby wzrost wydajności był liniowo proporcjonalny do przyrostu mocy obliczeniowej wynikającej z dodania nowego węzła w systemie klastrowym

65 Skalowalność

66 Węzły każdy komputer będący elementem składowym klastra nosi miano węzła (ang. node) każdy komputer będący elementem składowym klastra nosi miano węzła (ang. node) to właśnie zbiór węzłów zbudowanych z samodzielnych maszyn tworzy klaster to właśnie zbiór węzłów zbudowanych z samodzielnych maszyn tworzy klaster

67 Węzły węzły są zazwyczaj odłączane bądź dodawane do klastra bez potrzeby ponownej konfiguracji i restartowania całości systemu węzły są zazwyczaj odłączane bądź dodawane do klastra bez potrzeby ponownej konfiguracji i restartowania całości systemu dzięki temu jest możliwość dokonywania prac serwisowych czy też konserwacyjnych w czasie pracy systemu, którego przerwa w działaniu jest niedopuszczalna dzięki temu jest możliwość dokonywania prac serwisowych czy też konserwacyjnych w czasie pracy systemu, którego przerwa w działaniu jest niedopuszczalna

68 Modele implementacji klastrów Dwa podstawowe modele implementacji klastrów to Failover cluster Failover cluster Boewulf cluster Boewulf cluster

69 Failover cluster jest to klaster budowany z myślą o zapewnieniu jak najlepszych parametrów eksploatacyjnych, takich jak odporność na uszkodzenia (ang. failover )- możliwość dalszego działania w przypadku awarii jednego z elementów czy stabilność działania jest to klaster budowany z myślą o zapewnieniu jak najlepszych parametrów eksploatacyjnych, takich jak odporność na uszkodzenia (ang. failover )- możliwość dalszego działania w przypadku awarii jednego z elementów czy stabilność działania

70 Beowulf cluster zwany inaczej Computational Cluster, przeznaczony głównie do zastosowań w środowiskach naukowych i ośrodkach badawczych zwany inaczej Computational Cluster, przeznaczony głównie do zastosowań w środowiskach naukowych i ośrodkach badawczych jest jedną z najbardziej popularnych implementacji klastrów obliczeniowych jest jedną z najbardziej popularnych implementacji klastrów obliczeniowych

71 Beowulf cluster realizowany z założeniem uzyskania maksymalnej mocy obliczeniowej jak najmniejszym kosztem realizowany z założeniem uzyskania maksymalnej mocy obliczeniowej jak najmniejszym kosztem najczęściej budowany ze zwykłych, masowo produkowanych komputerów klasy PC, połączonych siecią Ethernet. najczęściej budowany ze zwykłych, masowo produkowanych komputerów klasy PC, połączonych siecią Ethernet.

72 Beowulf cluster rolę węzłów pełnią wydajne komputery klasy PC, pracujące pod kontrolą GNU/Linuksa oraz z zainstalowanym oprogramowaniem pozwalającym uzyskać przetwarzanie równoległe np. bibliotekami MPI, PVM. rolę węzłów pełnią wydajne komputery klasy PC, pracujące pod kontrolą GNU/Linuksa oraz z zainstalowanym oprogramowaniem pozwalającym uzyskać przetwarzanie równoległe np. bibliotekami MPI, PVM.PCGNU/Linuksaprzetwarzanie równoległeMPI PVMPCGNU/Linuksaprzetwarzanie równoległeMPI PVM

73 Beowulf cluster Ze względu na nieduże koszty i dużą dostępność komponentów klastry typu Beowulf są często budowane i używane przez niewielkie grupy naukowców do prowadzenia badań w wielu dziedzinach: chemii, fizyce, mechanice Ze względu na nieduże koszty i dużą dostępność komponentów klastry typu Beowulf są często budowane i używane przez niewielkie grupy naukowców do prowadzenia badań w wielu dziedzinach: chemii, fizyce, mechanice Klaster tego typu można również zorganizować z grupy stacji roboczych np. pracowni komputerowej Klaster tego typu można również zorganizować z grupy stacji roboczych np. pracowni komputerowej

74 Beowulf cluster

75 w rozwiązaniach tych największy nacisk kładzie się na moc i wydajność klastra, kosztem jego odporności na awarie w rozwiązaniach tych największy nacisk kładzie się na moc i wydajność klastra, kosztem jego odporności na awarie dzieje się tak dlatego, że w tego typu zastosowaniach czas przestoju nie ma krytycznego znaczenia i na ogół nie powoduje ogromnych strat finansowych dzieje się tak dlatego, że w tego typu zastosowaniach czas przestoju nie ma krytycznego znaczenia i na ogół nie powoduje ogromnych strat finansowych klastry tego typu mają znacznie większą wydajność, zwłaszcza w obliczeniach zmiennoprzecinkowych klastry tego typu mają znacznie większą wydajność, zwłaszcza w obliczeniach zmiennoprzecinkowych

76 Beowulf cluster wszystkie węzły są kontrolowane przez jeden, zwany serwerem, węzłem głównym (ang. master node) lub front-endem wszystkie węzły są kontrolowane przez jeden, zwany serwerem, węzłem głównym (ang. master node) lub front-endem

77 Beowulf cluster kontrola pracy klastra kontrola pracy klastra komunikacja ze światem zewnętrznym (dla użytkowników to on stanowi "bramę", za pomocą której logują się do systemu i zarządzają swoimi zadaniami ) komunikacja ze światem zewnętrznym (dla użytkowników to on stanowi "bramę", za pomocą której logują się do systemu i zarządzają swoimi zadaniami ) rola serwera zadań - odpowiedzialność za kontrolę obciążenia klastra i dystrybucję zadań użytkowników rola serwera zadań - odpowiedzialność za kontrolę obciążenia klastra i dystrybucję zadań użytkowników

78 Beowulf cluster Na ogół jedyną maszyną podłączoną do świata zewnętrznego za pomocą drugiej karty sieciowej jest węzeł-serwer Na ogół jedyną maszyną podłączoną do świata zewnętrznego za pomocą drugiej karty sieciowej jest węzeł-serwer Najczęściej korzysta się z systemu poprzez bezpośredni dostęp do konsoli serwera, lub poprzez telnet czy odległe logowanie na serwer z odległej stacji roboczej Najczęściej korzysta się z systemu poprzez bezpośredni dostęp do konsoli serwera, lub poprzez telnet czy odległe logowanie na serwer z odległej stacji roboczej Na serwerze użytkownicy mogą edytować i kompilować swój kod, a także uruchamiać procesy na wszystkich węzłach w klastrze. Na serwerze użytkownicy mogą edytować i kompilować swój kod, a także uruchamiać procesy na wszystkich węzłach w klastrze.

79 Różnice między COW a Beowulf cluster W większości przypadków systemy COW są używane do obliczeń równoległych w nocy i w weekendy, gdy użytkownicy nie korzystają ze swoich stacji roboczych do pracy, wykorzystując w ten sposób z niepotrzebne cykle procesora W większości przypadków systemy COW są używane do obliczeń równoległych w nocy i w weekendy, gdy użytkownicy nie korzystają ze swoich stacji roboczych do pracy, wykorzystując w ten sposób z niepotrzebne cykle procesora Z kolei maszyna Beowulf jest maszyną dedykowaną do przetwarzania równoległego, i zoptymalizowaną w tym celu Z kolei maszyna Beowulf jest maszyną dedykowaną do przetwarzania równoległego, i zoptymalizowaną w tym celu Beowulf zapewnia także większy współczynnik ceny do wydajności, jako że jest zbudowany z ogólnie dostępnych komponentów i korzysta na ogół z darmowego oprogramowania Beowulf zapewnia także większy współczynnik ceny do wydajności, jako że jest zbudowany z ogólnie dostępnych komponentów i korzysta na ogół z darmowego oprogramowania Beowulf ma także więcej cech pojedynczego systemu, które pomagają użytkownikom dostrzegać klaster Beowulf jako pojedynczą obliczeniową stację roboczą Beowulf ma także więcej cech pojedynczego systemu, które pomagają użytkownikom dostrzegać klaster Beowulf jako pojedynczą obliczeniową stację roboczą

80 Klastry w Polsce L. p. system moc Gflops instytucja 1 zeus 376 x Xeon + 8 x PentiumIII ACK Cyfronet (Akademickie centrum Komputerowe AGH) 2 holk 288 x Itanium 2 1.3GHz / 1.4GHz Centrum Informatyczne TASK Gdańsk x Intel Itanium2 1,4GHz Poznańskie Centrum Superkomputerowo Sieciowe

81 HOLK został sklasyfikowany na 231 miejscu listy TOP500 (listopad 2003) : 231 miejscu listy TOP500 (listopad 2003) 231 miejscu listy TOP500 (listopad 2003) nazwa: Holk 288 x Itanium 2 1.3GHz / 1.4GHz nazwa: Holk 288 x Itanium 2 1.3GHz / 1.4GHz 288 x Itanium 2 1.3GHz / 1.4GHz 288 x Itanium 2 1.3GHz / 1.4GHz Moc: Moc: Krótki opis: 288 x Itanium 2 1.3GHz / 1.4GHz Krótki opis: 288 x Itanium 2 1.3GHz / 1.4GHz Instytucja:Centrum Informatyczne TASK Instytucja:Centrum Informatyczne TASKCentrum Informatyczne TASKCentrum Informatyczne TASK Miasto: Gdańsk Miasto: Gdańsk Zastosowania: obliczenia metodami chemii kwantowej, dynamiki molekularnej, metodą elementów skończonych. Chemia, biochemia, fizyka ciała stałego, inżynieria, Zastosowania: obliczenia metodami chemii kwantowej, dynamiki molekularnej, metodą elementów skończonych. Chemia, biochemia, fizyka ciała stałego, inżynieria,

82 HOLK Klaster zbudowany jest z modułów w architekturze SMP Klaster zbudowany jest z modułów w architekturze SMP Każdy moduł zawiera po dwa procesory Itanium2, 2 GB pamięci operacyjnej, 36 GB dysk twardy SCSI, oraz dwa porty Gigabit Ethernet Każdy moduł zawiera po dwa procesory Itanium2, 2 GB pamięci operacyjnej, 36 GB dysk twardy SCSI, oraz dwa porty Gigabit Ethernet Moduły pracują po kontrolą systemu operacyjnego Debian GNU/Linux 3.0. Moduły pracują po kontrolą systemu operacyjnego Debian GNU/Linux 3.0.

83 HOLK

84 HOLK Od listopda 2004 w skład klastra holk wchodzi podklaster clusterix złożony z 16 węzłów wyposażonych w 2 procesory Itanium2 1.4 GHz oraz sieć InfiniBand Od listopda 2004 w skład klastra holk wchodzi podklaster clusterix złożony z 16 węzłów wyposażonych w 2 procesory Itanium2 1.4 GHz oraz sieć InfiniBand Teoretyczna moc obliczeniowa klastra wynosi 1510 GFlop/s Teoretyczna moc obliczeniowa klastra wynosi 1510 GFlop/s

85 HOLK ilość węzłów: ilość węzłów: 16 charakterystyka węzła data uruchomienia: charakterystyka węzła data uruchomienia: Płyta główna/serwer: Intel Tiger2 Procesor: 2 × Itanium2 1.3 GHz Procesor: 2 × Itanium2 1.4 GHz RAM: 2GB (6GB) RAM: 8GB dysk: 36 GB Sieć: Gigabit Ehternet Sieć: InfiniBand

86 Holk w kartonach

87 Montaż klastra

88 Dodawanie węzłów

89 Klaster ma też 256 kabli zasilających

90 HOLK

91 CLUSTERIX Krajowy Klaster Linuksowy (CLUSTERIX – ang.National CLUSTER of LInuX Systems) - system geograficznie rozproszony, klaster PC nowej generacji Krajowy Klaster Linuksowy (CLUSTERIX – ang.National CLUSTER of LInuX Systems) - system geograficznie rozproszony, klaster PC nowej generacji dzięki zastosowaniu bitowych procesorów Intel Itanium 2, krajowej sieci optycznej nowej generacji PIONIER oraz systemu operacyjnego Linux, jest jednym najszybszych rozproszonych superkomputerów w Europie dzięki zastosowaniu bitowych procesorów Intel Itanium 2, krajowej sieci optycznej nowej generacji PIONIER oraz systemu operacyjnego Linux, jest jednym najszybszych rozproszonych superkomputerów w Europie64-bitowychIntel Itanium 2PIONIERLinux superkomputerówEuropie64-bitowychIntel Itanium 2PIONIERLinux superkomputerówEuropie

92 CLUSTERIX jego realizacja umożliwi wdrożenie produkcyjnego środowiska typu Grid, utworzonego z lokalnych klastrów PC zlokalizowanych w wielu niezależnych ośrodkach, geograficznie odległych zlokalizowanych w wielu niezależnych ośrodkach, geograficznie odległych tworzone jest oprogramowanie zarządzające, umożliwiające m.in. obsługę dynamicznie zmieniającej się wielkości i konfiguracji infrastruktury sprzętowej bazować ono będzie na implementacjach dostępnych jako Open Source, rozszerzając funkcjonalność rozwiązań istniejących lub dodając własne narzędzia bazować ono będzie na implementacjach dostępnych jako Open Source, rozszerzając funkcjonalność rozwiązań istniejących lub dodając własne narzędzia

93 CLUSTERIX Uroczystość uruchomienia klastra w Pałacu Prezydenckim Jeden z serwerów klastra Uruchomienie Clusteriksa nastąpiło 15 grudnia 2004 r. o godz. 13:30 w Pałacu Prezydenckim w Warszawie15 grudnia2004Warszawie

94 System łączy dwanaście polskich ośrodków akademickich z Politechniką Częstochowską w roli : System łączy dwanaście polskich ośrodków akademickich z Politechniką Częstochowską w roli koordynatora: Politechnika Białostocka Politechnika Białostocka Politechnika Białostocka Politechnika Białostocka Politechnika Częstochowska Politechnika Częstochowska Politechnika Częstochowska Politechnika Częstochowska Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej TASK Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej TASK Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej TASK Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej TASK Politechnika Łódzka Politechnika Łódzka Politechnika Łódzka Politechnika Łódzka Uniwersytet Marii Curie-Skłodowskiej w Lublinie Uniwersytet Marii Curie-Skłodowskiej w Lublinie Uniwersytet Marii Curie-Skłodowskiej w Lublinie Uniwersytet Marii Curie-Skłodowskiej w Lublinie Akademickie Centrum Komputerowe CYFRONET AGH Akademickie Centrum Komputerowe CYFRONET AGH Akademickie Centrum Komputerowe CYFRONET AGH Akademickie Centrum Komputerowe CYFRONET AGH Uniwersytet Opolski Uniwersytet Opolski Uniwersytet Opolski Uniwersytet Opolski Poznańskie Centrum Superkomputerowo-Sieciowe Poznańskie Centrum Superkomputerowo-Sieciowe Poznańskie Centrum Superkomputerowo-Sieciowe Poznańskie Centrum Superkomputerowo-Sieciowe Politechnika Szczecińska Politechnika Szczecińska Politechnika Szczecińska Politechnika Szczecińska Politechnika Warszawska Politechnika Warszawska Politechnika Warszawska Politechnika Warszawska Wrocławskie Centrum Sieciowo-Superkomputerowe, Politechnika Wrocławska Wrocławskie Centrum Sieciowo-Superkomputerowe, Politechnika Wrocławska Wrocławskie Centrum Sieciowo-Superkomputerowe Politechnika Wrocławska Wrocławskie Centrum Sieciowo-Superkomputerowe Politechnika Wrocławska Uniwersytet Zielonogórski Uniwersytet Zielonogórski Uniwersytet Zielonogórski Uniwersytet Zielonogórski

95 CLUSTERIX Wydajność klastra mierzona w bilionach operacji zmiennoprzecinkowych na sekundę wynosi 4,4 tflops Wydajność klastra mierzona w bilionach operacji zmiennoprzecinkowych na sekundę wynosi 4,4 tflops Clusterix wykorzystywany będzie m. in. do badań naukowych w zakresie: modelowania zjawisk, złożonych symulacji (np. przepływu krwi), wizualizacji, przewidywania struktur białek czy projektowania układów elektroniki molekularnej itd. Clusterix wykorzystywany będzie m. in. do badań naukowych w zakresie: modelowania zjawisk, złożonych symulacji (np. przepływu krwi), wizualizacji, przewidywania struktur białek czy projektowania układów elektroniki molekularnej itd.naukowych modelowaniasymulacjikrwiwizualizacjibiałekelektroniki molekularnejnaukowych modelowaniasymulacjikrwiwizualizacjibiałekelektroniki molekularnej

96 MOSIX uruchamianie klastr ó w wymagało dotąd zakupu specjalnego, kosztownego sprzętu i oprogramowania, ich budowa była zarezerwowana jedynie dla dużych ośrodk ó w naukowych, firm i administracji państwowej uruchamianie klastr ó w wymagało dotąd zakupu specjalnego, kosztownego sprzętu i oprogramowania, ich budowa była zarezerwowana jedynie dla dużych ośrodk ó w naukowych, firm i administracji państwowej dzięki Linuksowi i bezpłatnemu oprogramowaniu Open Source klastry trafiają "pod strzechy" dzięki Linuksowi i bezpłatnemu oprogramowaniu Open Source klastry trafiają "pod strzechy"

97 MOSIX oprogramowanie MOSIX to bezpłatne rozszerzenie jądra Linuksa, kt ó re umożliwia budowę klastra obliczeniowego na podstawie tanich komputer ó w PC oprogramowanie MOSIX to bezpłatne rozszerzenie jądra Linuksa, kt ó re umożliwia budowę klastra obliczeniowego na podstawie tanich komputer ó w PC w ten spos ó b można łączyć wiele słabych maszyn, kt ó re samodzielnie nie byłyby już użyteczne w ten spos ó b można łączyć wiele słabych maszyn, kt ó re samodzielnie nie byłyby już użyteczne w przypadku klastra MOSIX - pojęcie węzeł oznacza jeden komputer w przypadku klastra MOSIX - pojęcie węzeł oznacza jeden komputer

98 MOSIX najpopularniejszym linuksowym oprogramowaniem do ich budowy jest MOSIX (Multi-computer Operating System for UNIX) najpopularniejszym linuksowym oprogramowaniem do ich budowy jest MOSIX (Multi-computer Operating System for UNIX) dostępny nieodpłatnie, r ó wnież w postaci kodu źr ó dłowego dostępny nieodpłatnie, r ó wnież w postaci kodu źr ó dłowego oprogramowanie MOSIX powstało i jest rozwijane na Uniwersytecie Hebrajskim w Jerozolimie oprogramowanie MOSIX powstało i jest rozwijane na Uniwersytecie Hebrajskim w Jerozolimie

99 MOSIX pierwotnie projekt był rozwijany w systemie BSD UNIX, ale obecnie jedyną platformą systemową jest Linux (jedynie platforma x86). pierwotnie projekt był rozwijany w systemie BSD UNIX, ale obecnie jedyną platformą systemową jest Linux (jedynie platforma x86). idea tw ó rc ó w MOSIX : utworzyć oprogramowanie pozwalające zbudować klaster, kt ó ry zar ó wno z punktu widzenia użytkownik ó w, jak i uruchamianych program ó w będzie widoczny jako jedna maszyna idea tw ó rc ó w MOSIX : utworzyć oprogramowanie pozwalające zbudować klaster, kt ó ry zar ó wno z punktu widzenia użytkownik ó w, jak i uruchamianych program ó w będzie widoczny jako jedna maszyna

100 MOSIX Architektura MOSIX-a składa się z dw ó ch moduł ó w wewnętrznych: - mechanizmu migracji (przenoszenia) proces ó w z wywłaszczaniem (PPM - Preemptive Process Migration), - algorytmu odpowiadającego za mechanizm adaptacyjny (czyli reagującego na panujące w danej chwili warunki) mechanizmu wsp ó łdzielenia zasob ó w

101 MOSIX moduły wsp ó łdziałają przy przenoszeniu proces ó w między węzłami klastra w taki spos ó b, aby zmniejszyć średnie obciążenie węzł ó w moduły wsp ó łdziałają przy przenoszeniu proces ó w między węzłami klastra w taki spos ó b, aby zmniejszyć średnie obciążenie węzł ó w każdy węzeł jest właścicielem procesu (programu), kt ó ry został na nim uruchomiony lokalnie, a serwerem dla proces ó w, kt ó re się przemieściły z innych węzł ó w klastra każdy węzeł jest właścicielem procesu (programu), kt ó ry został na nim uruchomiony lokalnie, a serwerem dla proces ó w, kt ó re się przemieściły z innych węzł ó w klastra dodawanie i usuwanie węzł ó w z klastra nie wpływa na trwające procesy. dodawanie i usuwanie węzł ó w z klastra nie wpływa na trwające procesy.

102 MOSIX MOSIX został zaimplementowany jako moduł jądra Linuksa, dzięki czemu jest "przezroczysty" dla działających program ó w MOSIX został zaimplementowany jako moduł jądra Linuksa, dzięki czemu jest "przezroczysty" dla działających program ó w uzupełnieniem modułu jądra jest program Mosrun, kt ó ry zastępuje większość standardowych narzędzi sieciowych Linuksa uzupełnieniem modułu jądra jest program Mosrun, kt ó ry zastępuje większość standardowych narzędzi sieciowych Linuksa moduł jądra działa jak zarządca zadań, decydując, jakie działanie powinno być przeniesione do innego węzła moduł jądra działa jak zarządca zadań, decydując, jakie działanie powinno być przeniesione do innego węzła cały ten proces odbywa się automatycznie i w spos ó b niewidoczny dla samego programu cały ten proces odbywa się automatycznie i w spos ó b niewidoczny dla samego programu

103 MOSIX : użytkownik nie wie, jak jego procesy (programy) są przenoszone między węzłami klastra użytkownik nie wie, jak jego procesy (programy) są przenoszone między węzłami klastra użytkownik może uruchomić program na dowolnej maszynie w klastrze i program ten będzie już automatycznie przenoszony między węzłami użytkownik może uruchomić program na dowolnej maszynie w klastrze i program ten będzie już automatycznie przenoszony między węzłami każdy nowy proces jest przypisywany do najlepszego (tj. takiego, kt ó ry jest najmniej obciążony w danej chwili) węzła każdy nowy proces jest przypisywany do najlepszego (tj. takiego, kt ó ry jest najmniej obciążony w danej chwili) węzła

104 MOSIX nie wszystkie programy mogą korzystać z MOSIX-a - niekt ó re ze względ ó w technicznych nie będą mogły być dystrybuowane do innych węzł ó w nie wszystkie programy mogą korzystać z MOSIX-a - niekt ó re ze względ ó w technicznych nie będą mogły być dystrybuowane do innych węzł ó w dotyczy to na przykład program ó w, kt ó re są uzależnione od wsp ó łpracy ze sprzętem i wykonywaniem operacji wejścia-wyjścia. (aplikacje do wyświetlania grafiki 3D w czasie rzeczywistym, także gry). dotyczy to na przykład program ó w, kt ó re są uzależnione od wsp ó łpracy ze sprzętem i wykonywaniem operacji wejścia-wyjścia. (aplikacje do wyświetlania grafiki 3D w czasie rzeczywistym, także gry).

105 MOSIX MOSIX idealnie nadaje się do program ó w wykonujących wiele zadań obliczeniowych jednocześnie - dotyczy to np. kompilacji dużych program ó w (całego pakietu KDE czy GNOME), program ó w wykonujących wiele zadań obliczeniowych jednocześnie - dotyczy to np. kompilacji dużych program ó w (całego pakietu KDE czy GNOME), kompresji do formatu MP3 i innych program ó w wykonujących wiele obliczeń (np. do renderingu grafiki) kompresji do formatu MP3 i innych program ó w wykonujących wiele obliczeń (np. do renderingu grafiki)

106 MOSIX klastry MOSIX są łatwe w budowie i utrzymaniu klastry MOSIX są łatwe w budowie i utrzymaniu wszystko, czego będziesz potrzebował, to sieć TCP/IP i co najmniej dwa komputery wszystko, czego będziesz potrzebował, to sieć TCP/IP i co najmniej dwa komputery co do wymagań związanych z siecią to w warunkach domowych można nawet użyć dw ó ch komputer ó w z kartami sieciowymi kablem Ethernet co do wymagań związanych z siecią to w warunkach domowych można nawet użyć dw ó ch komputer ó w z kartami sieciowymi kablem Ethernet ogromną zaletą MOSIX-a jest to, że do pracy w klastrze można przeznaczyć zwykłe, tanie komputery PC, wymogi to procesor Pentium, twardy dysk (rozsądne minimum to MB - tyle jest wymagane przy minimalnych instalacjach Linuksa) pamięć RAM w odpowiedniej ilości (minimum 16 MB) i karta sieciowa. ogromną zaletą MOSIX-a jest to, że do pracy w klastrze można przeznaczyć zwykłe, tanie komputery PC, wymogi to procesor Pentium, twardy dysk (rozsądne minimum to MB - tyle jest wymagane przy minimalnych instalacjach Linuksa) pamięć RAM w odpowiedniej ilości (minimum 16 MB) i karta sieciowa.

107 MOSIX MOSIX jest znakomitym sposobem wykorzystania starych komputer ó w MOSIX jest znakomitym sposobem wykorzystania starych komputer ó w g ó rna granica liczby komputer ó w połączonych w klaster MOSIX to 65535, jednak bardziej realnym ograniczeniem jest wydajność sieci g ó rna granica liczby komputer ó w połączonych w klaster MOSIX to 65535, jednak bardziej realnym ograniczeniem jest wydajność sieci rozbudowane klastry wykorzystują szybkie sieci Gigabit Ethernet lub sieci specjalne, np. Myrinet rozbudowane klastry wykorzystują szybkie sieci Gigabit Ethernet lub sieci specjalne, np. Myrinet

108 Mocą 50 bilionów operacji na sekundę będzie dysponował najnowszy polski superkomputer, który już listopadzie stanie w Centrum Informatycznym Trójmiejskiej Akademickiej Sieci Komputerowej (TASK) Mocą 50 bilionów operacji na sekundę będzie dysponował najnowszy polski superkomputer, który już listopadzie stanie w Centrum Informatycznym Trójmiejskiej Akademickiej Sieci Komputerowej (TASK) Urządzenie o nazwie "Galera" będzie oparte na 1400 procesorach czterordzeniowych Intel Xeon Quad-Core, co oznacza 5600 rdzeni i maksymalną moc obliczeniową 50 TFLOPS Urządzenie o nazwie "Galera" będzie oparte na 1400 procesorach czterordzeniowych Intel Xeon Quad-Core, co oznacza 5600 rdzeni i maksymalną moc obliczeniową 50 TFLOPS Będzie to największy superkomputer w Polsce, pierwszy oparty na procesorach czterordzeniowych w Europie i czwarty na liście najszybszych komputerów na naszym kontynencie Będzie to największy superkomputer w Polsce, pierwszy oparty na procesorach czterordzeniowych w Europie i czwarty na liście najszybszych komputerów na naszym kontynencie


Pobierz ppt "Klastry dr A Kwiatkowska. Algorytmy ALGORYTM CENTRALNEGO SERWERA stworzenie serwera koordynującego (udzielającego pozwoleń) wejście procesów do sekcji."

Podobne prezentacje


Reklamy Google