1. Klastry 1.1 Wstęp
Klaster – grupa wzajemnie połączonych całych komputerów dająca iluzję jednego komputera.
W skład klastra wchodzą całe komputery – każdy komputer może działać oddzielnie.
Wezel 1 Węzel 2 Węzel N
Sieć
Komputery
Rys. 1-1 Schemat koncepcyjny klastra
Klastry pozwalają na osiągnięcie cech trudnych lub bardzo kosztownych do osiągnięcia na pojedynczym komputerze. Są to:
1. Duża wydajność – można budować klastry składające się z nawet kilkuset komputerów. Wydajność klastra przewyższa wydajność pojedynczego komputera.
2. Skalowalność – klastry buduje się tak aby bez modyfikacji
oprogramowania można było dodawać kolejne komputery. Osiąga się płynne dostosowanie wydajności do potrzeb.
3. Wysoka dostępność – awaria jednego węzła nie unieruchamia całego systemu
4. Korzystny stosunek ceny do wydajności
1.2 Budowa klastra
Klaster składa się z następujących elementów:
• Węzeł obliczeniowy - Komputer będącym elementem składowym klastra pełniącym funkcje obliczeniowe. Węzeł nie musi być pełnym komputerem. Nie zawiera takich elementów jak napęd CDROM, napęd dyskietek, klawiatura a nawet dysk. System operacyjny może być wczytywany przez sieć lub z pamięci ROM.
• Węzeł zarządzający – Komputer pełniący funkcję zarządzania.
Wyposażony w monitor, klawiaturę.
• Węzeł obsługujący system plików (jeden lub więcej. Węzeł zawiera pamięci masowe wykorzystywane przez inne węzły.
• Sieć – Zapewnia przesyłanie komunikatów. Stosowane są sieci typowe jak Fast Ethernet, Gigabit Ethernet lub sieci specjalne jak Myrinet, Infiniband. Często stosowane dwie sieci: przesyłania komunikatów i zarządzająca.
Wezel 1 Węzel 2 Węzel N
Sieć
Węzly obliczeniowe
Wezel syst.
plik.
Węzel syst.
plik.
Wezel srerujący
Rys. 1-2 Budowa klastra
PDF created with pdfFactory trial version www.pdffactory.com
1.3 Rodzaje klastrów:
Klastry wydajnościowe HPC (ang. High Performance Computing) – służą do masowego przetwarzania jednego rodzaju danych – często
naukowych. Wymagają bibliotek przetwarzania równoległego (PVM, MPI). Istotną rolę odgrywa aplikacja która do równoległości musi być dostosowana. Przykład – klaster Beowulf
Klastry wysokiej dostępności HA (ang. high availability) – pewne usługi (np. bankowe) wymagają aby były świadczone nieprzerwanie. Klaster HA umożliwia eliminację pojedynczego punktu awarii SPOF (ang. Single Point of Failure). Przykład – Linux HA.
Klastry równoważenia obciążenia (ang. Load Balancing Clusters) – celem jest maksymalne wykorzystanie sprzętu.
Klastry serwerowe (ang. Server Clusters) – dostarczają
wyspecjalizowanych usług sieciowych np. serwer WWW lub serwer bazy danych.
1.4 Architektura klastrów
Wyróżnia się dwie podstawowe architektury klastrów:
• Model Single System Image (SSI) – klaster widziany jest jako
pojedynczy komputer (przykład OpenMosix). Jest to przedstawiciel klastrów typu równoważącego obciążenie. Model SSI ukrywa
heterogeniczny oraz rozproszony charakter struktury klastra.
• Model Beowulf - klaster widziany jest jako zbiór komunikujących się węzłów. Jest to przedstawiciel klastrów typu HPC.
Model Single System Image
• Pojedynczy punkt dostępowy. Możliwość połączenia się z klastrem poprzez punkt dostępowy chociaż składa się on z wielu maszyn.
• Migracja procesów. Możliwość przeniesienia procesów (migracji) z węzłów bardziej obciążonych do mniej obciążonych umożliwia równoważenie obciążenia klastra.
• Wspólna przestrzeń procesów. Możliwość komunikacji pomiędzy procesami rezydującymi na różnych węzłach.
• Pojedyncza przestrzeń adresowa pamięci. Wrażenie dużej, scentralizowanej pamięci, która w rzeczywistości może być ona rozproszona.
• Wspólny system plików. Użytkownik ma wrażenie, że pracuje w jednym dużym systemie plików.
• Wspólny system zarządzania zadaniami. Występuje globalny system zarządzania zadaniami, który może przyjmować zlecenia każdego z węzłów.
• Jeden punkt zarządzania klastrem. Cały klaster lub każdy z węzłów może być konfigurowany, testowany, monitorowany z jednego punktu dostępowego.
Zalety:
• Równoważenie obciążenia węzłów
• Brak potrzeby ingerowania w kod aplikacji,
• Dobrze nadaje się do obsługi aplikacji, które można podzielić na niezależne procesy.
Wady:
• Wątki nie przemieszczają się
• Brak przyspieszenia dla pojedynczego procesu
• Trudności w komunikowaniu się procesów Przykład klastra SSI – OpenMosix
PDF created with pdfFactory trial version www.pdffactory.com
1.5 Oprogramowanie klastrów
Oprogramowanie klastrów wykorzystuje standardowe systemy operacyjne (Windows, Linux, NetWare, Solaris) zmodyfikowane do potrzeb klastra i uzupełnione o dodatkowe oprogramowanie.
Funkcje oprogramowania klastra:
1. Pojedynczy system plików widziany w całym klastrze 2. Przeźroczysty dostęp do urządzeń
3. Przeźroczystą komunikację międzyprocesową (także komunikację międzywęzłową)
4. Przeźroczystą migrację procesów 5. Niwelowanie skutków awarii węzła 6. Zarządzanie klastrem
Przykłady oprogramowania klastrów:
• SCO NonStop dla UnixWare
• Solaris - MC
• OpenMosix
• Windows Cluster Server
• Linux + Beowulf
• Pelican HPC
1.6 Klaster Beowulf
Koncepcja
Beowulf jest koncepcją łączenia wielu niedrogich standardowych
komputerów w system (ang. cluster) umożliwiający osiągnięcie wyższej wydajności przetwarzania niż zapewniałby to jeden węzeł. Stosowany jest do obliczeń równoległych.
Koncepcja takiego klastra pochodzi od Donalda Beckera i Thomas Sterlinga. W 1994 zbudowali oni cluster składający się 16 komputerów PC 486DX4 połączonych siecią Ethernet.
Za klaster Beowulf uważa się system spełniający następujące warunki:
• Węzły są dedykowane do pracy w klastrze i nie są przeznaczone do innych celów.
• Sieć jest dedykowana do pracy w klastrze
• Węzły są zwykłymi niedrogimi komputerami
• Stosowane są standardowe urządzenia sieciowe
• Oprogramowanie jest typu Open Source
• Zadaniem klastra są obliczenia równoległe – klaster wydajnościowy HPC (ang. High Performance Computing).
Sprzet
Klaster Beowulf składa się ze standardowych komputerów PC połączonych siecią lokalną. W skład klastra wchodzą dwa typy komputerów:
• Stacja sterująca
• Węzły obliczeniowe
Jeden z komputerów pełni rolę stacji sterującej i serwera plików.
Pozostałe są prostymi stacjami wyposażonymi tylko w procesor, pamięć RAM i interfejs sieciowy. Są pozbawione dysku, monitora i klawiatury. Ze stacją sterującą i ze sobą wzajemnie komunikują się poprzez sieć.
Wczytywanie systemu operacyjnego – z dyskietki, poprzez sieć lub z dysku IDE lub FLASH.
PDF created with pdfFactory trial version www.pdffactory.com
węzel 1
Sieć lokalna klastra stacja sterująca
RAM CPU Int. sieć
węzel 2 RAM CPU Int. sieć
węzel N RAM CPU Int. sieć węzly obliczeniowe
Sieć zewnętrzna
Rys. 1-3 Struktura klastra Beowulf
Oprogramowanie
Węzły klastra pracują pod kontrolą systemu Linux lub FreeBSD. Nie są stosowane specjalne modyfikacje jądra. Jako oprogramowanie
integrujące zasoby stosuje się PVM lub MPI.
Jako sieciowy system plików umożliwiający dostęp do współdzielonych zasobów dyskowych stosuje się NFS.
KLAT2 - przykład klastra beowulf
Kentucky Linux Athlon Testbed 2 zawiera 62 komputery 700 MHz Athlon.
Zbudowano go w roku 2000 w University of Kentucky - Lexington.
Rys. 1-4 Widok klastra KLAT2
System zawiera 64 + 2 zapasowe węzły:
• Procesor 700 MHz Athlon
• 128 MB RAM
• Płytę główną
• 4 karty sieciowe Fast Ethernet
• Napęd FDD (do ładowania systemu)
• Zasilacz 300 W Dodatkowo:
• 10 przełączników 32 portowych Fast Ethernet
• 256 kabli sieciowych
• Węzły pracują w oparciu o system Red Hat Linux 6.0
Już przy 64 węzłach pojawił się problem przełącznika sieciowego. Jeżeli zastosować by 64 portowy przełącznik to:
PDF created with pdfFactory trial version www.pdffactory.com
• Wszystkie transmisje musiałyby być wykonywane przez ten przełącznik (stanowiłby on wąskie gardło).
• Koszt takiego przełącznika jest znaczny.
Zastosowano rozwiązanie nazwane Flat Neighborhood Network. Polega ono na zastosowaniu w komputerze kilku interfejsów sieciowych NIC i wielu przełączników. Rozwiązanie takie powoduje powstanie problemu routingu – nie zawsze pomiędzy dwoma węzłami istnieje bezpośrednie połączenie.
Rys. 1-5 Rozwiązanie Flat Neighborhood Network dla 6 węzłów
Połączenie 6 komputerów (każdy ma 2 interfejsy sieciowe) za pomocą 3 4 portowych przełączników.
Moc klastra 64 Gflop
Koszt klastra około 41000 $
13200 $ procesory, 8100 $ sieć, 6900 $ płyty, 9600 $ pamięci.
1.7 Klaster Pelican HPC
Oprogramowanie klastra opracowane na uniwersytecie w Barcelonie:
http://pelicanhpc.org
Pierwszy węzeł ładuje się z bootowalnej płyty CD Rom. Pozostałe węzły ładują się z pierwszego poprzez sieć. Nie tworzy stałej instalacji.
Zawiera następujące narzędzia:
• Kompilatory Fortranu (77, 90), C, C++, i GNU Octave wspierające przetwarzanie równoległe oparte o MPI.
• Implementacje Open MPI i LAM/MPI systemu MPI.
1.8 Literatura
[1] Kazimierz Lal, Tomasz Rak, Linux a technologie klastrowe, Mikom 2005.
[2] W. Stallings, Systemy operacyjne, Mikom, PWN 2006.
[3] Strona domowa projektu beowulf, http://www.beowulf.org
[4] Robert G. Brown, Engineering a Beowulf-style Compute Cluster, Duke University Physics Department, 2004, http://www.phy.duke.edu/~rgb/
Beowulf/.
[5] Strona projektu Open Mosix - http://openmosix.sourceforge.net/
PDF created with pdfFactory trial version www.pdffactory.com