Klaster komputerowy – Wikipedia, wolna encyklopedia

Klaster Columbia w NASA ARC
Beowulf

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.

Od czerwca 2022 roku najszybszy klaster komputerowy w Polsce to superkomputer Athena znajdujący się w zasobach obliczeniowych Akademickiego Centrum Komputerowego Cyfronet AGH (stan na listopad 2023[1])[2].

Typy klastrów

[edytuj | edytuj kod]

W istniejących rozwiązaniach klastrowych można 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 różne 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 wykonujące każdy swoje zadanie. 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 lub współpracować z kilkoma innymi węzłami klastra wykonując podzadanie większego zadania obliczeniowego. Klastry równoważenia obciążenia mogą być traktowane jako pierwowzór, a obecnie także jako częsty element składowy, systemów gridowych

W praktyce rozwiązania klastrowe mają charakter mieszany i wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym odgrywaniu roli niezawodnościowej lub równoważenia obciążenia. Szczególnie często 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, gdy żądamy transakcyjności).

Inne możliwe i stosowane klasyfikacje klastrów, to podział na klastry:

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]