Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Klastry dr A Kwiatkowska.

Podobne prezentacje


Prezentacja na temat: "Klastry dr A Kwiatkowska."— 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 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 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 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

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. 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 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 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 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
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 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ę.

11 Algorytm Lamporta Najistotniejszymi założeniami algorytmu Lamporta są:
utrzymanie lokalnej kolejki przez wszystkie procesy 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 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.

14 ALGORYTM RICARTA I AGRAWALI
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.

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: jeżeli sam wcześniej nie wysłał prośby (nie czeka na dostęp), to odpowiada pozytywnie 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: jeżeli zapytywany proces wysłał swoja prośbę później, to także odpowiada pozytywnie 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) 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 krytycznej może ją opuścić informując jednocześnie o swym kroku procesy których żądania 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 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 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

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 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: 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 "Reguła niepustego przejęcia" oznacza, że dla dowolnej pary podzbiorów istnieje element, który należy do każdego z nich "Reguła równej odpowiedzialności" oznacza, że każdy proces zawiera się dokładnie w takiej samej liczbie podzbiorów 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 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

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 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 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 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 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

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 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

27 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.

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)

29 Klastry 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ą

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 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

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 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

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 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

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 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, 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

38 Klastry w celu eliminacji tego typu problemów, w zaawansowanych klastrach obliczeniowych stosuje się technologie i topologie połączeń zaczerpnięte z superkomputerów MPP prosta sieć lokalna zastępowana jest skomplikowanym grafem połączeń

39 Klastry 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 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.

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) 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 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) 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ń

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

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.

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.

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 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 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 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ść 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 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

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) 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).

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.

56 Oprogramowanie Główna strona projektu MOSIX www.mosix.org
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

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

58 Oprogramowanie PVMPovRay - specjalna wersja popularnego renderera przystosowana do pracy w klastrach 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

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 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

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 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 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

65 Skalowalność

66 Węzły 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

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 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 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

70 Beowulf cluster 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

71 Beowulf cluster 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.

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.

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 Klaster tego typu można również zorganizować z grupy stacji roboczych np. pracowni komputerowej

74 Beowulf cluster

75 Beowulf cluster 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 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

77 Beowulf cluster 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 ) 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 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.

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 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 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 1510.4 Centrum Informatyczne TASK Gdańsk 3 248 x Intel Itanium2 1,4GHz 1388.8 Poznańskie Centrum Superkomputerowo Sieciowe

81 HOLK został sklasyfikowany na 231 miejscu listy TOP500 (listopad 2003) : nazwa: Holk 288 x Itanium 2 1.3GHz / 1.4GHz Moc: Krótki opis: 288 x Itanium 2 1.3GHz / 1.4GHz Instytucja:Centrum Informatyczne TASK Miasto: Gdańsk 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
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.

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 Teoretyczna moc obliczeniowa klastra wynosi 1510 GFlop/s

85 HOLK ilość węzłów: 64+64 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 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

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 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

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 Warszawie

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

95 CLUSTERIX 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.

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 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 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

98 MOSIX 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 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). 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 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.

102 MOSIX 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 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

103 MOSIX : 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 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 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), 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
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 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
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

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) 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


Pobierz ppt "Klastry dr A Kwiatkowska."

Podobne prezentacje


Reklamy Google