Klaster komputerowy

Klaster Columbia w NASA ARC

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 listopada 2020 roku najszybszy klaster komputerowy w Polsce to superkomputer Altair znajdujący się w zasobach obliczeniowych Poznańskiego Centrum Superkomputerowo-Sieciowego (PCSS).[1]

Typy klastrów

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ż

Przypisy

Linki zewnętrzne

Media użyte na tej stronie

Beowulf.jpg
Autor: User Linuxbeak on en.wikipedia, Licencja: GPL
Picture of a Beowulf Cluster. This particular cluster is owned by Alex Schenck.
Us-nasa-columbia.jpg
Columbia, the new (2004) supercomputer, built of 20 SGI Altix clusters, a total of 10240 CPU. Original caption: "Birds-eye view of the 10,240-processor SGI Altix supercomputer housed at the NASA Advanced Supercomputing facility."