Klaster komputerowy (ang. cluster) – grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy.
Komputery wchodzące w skład klastra (będące członkami klastra) nazywamy węzłami (ang. node).
Jedną z najbardziej popularnych implementacji klastrów obliczeniowych jest klaster typu Beowulf gdzie 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.
Aktualnie najszybszy klaster komputerowy w Polsce to superkomputer Zeus znajdujący się w zasobach obliczeniowych Akademickiego Centrum Komputerowego Cyfronet AGH[1].
Typy klastrów
W istniejących rozwiązaniach klastrowych da się wyodrębnić trzy podstawowe klasy wynikające z celów budowy takich rozwiązań:
- klastry wydajnościowe: pracujące jako zespół komputerów, z których każdy wykonuje własne zadania obliczeniowe. Celem ich budowy jest powiększenie mocy obliczeniowej, w sytuacji kiedy zróżnicowane komputery w klastrze pracują nad odrębnymi podzadaniami pojedynczego dużego zadania obliczeniowego. Wiele obecnych superkomputerów działa na tej zasadzie.
- klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje (łączenie równoległe). W razie awarii jednego z węzłów, następuje automatyczne przejęcie jego funkcji przez inne węzły.
- klastry równoważenia obciążenia: pracujące jako zespół komputerów, z których każdy wykonuje własne zadanie z puli zadań skierowanych do całego klastra. W takiej sytuacji pojedynczy komputer może wykonywać niezależne zadanie albo współpracować z kilkoma innymi węzłami klastra wykonując podzadanie większego zadania obliczeniowego. Klastry równoważenia obciążenia bywają traktowane jako pierwowzór, a aktualnie także jako częsty element składowy, systemów gridowych
W praktyce rozwiązania klastrowe posiadają charakter mieszany oraz wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym odgrywaniu roli niezawodnościowej albo równoważenia obciążenia. Szczególnie wielokrotnie taki tryb pracy klastra dotyczy serwerów WWW, pocztowych itp., z racji sposobu pracy aplikacji obsługujących tego typu serwisy. Z drugiej strony aplikacje bazodanowe, wykorzystywane w biznesie, słabo poddają się zrównolegleniu (szczególnie, kiedy żądamy transakcyjności).
Inne możliwe oraz stosowane klasyfikacje klastrów, to podział na klastry:
Sprawdź też
Przypisy
Linki zewnętrzne