Cluster – skupina počítačů spojených vysokorychlostními komunikačními kanály, které z pohledu uživatele představují jeden hardwarový zdroj. Cluster je volně propojená kolekce několika počítačových systémů, které spolupracují při provádění společných aplikací a uživateli se jeví jako jeden systém. Jeden z prvních architektů klastrové technologie, Gregory Pfister , definoval klastr následovně: „ Cluster je typ paralelního nebo distribuovaného systému, který:
Obvykle se rozlišují následující hlavní typy klastrů:
Jsou zkráceny jako HA ( High Availability ) . Vytvořeno pro zajištění vysoké dostupnosti služby poskytované clusterem. Redundantní počet uzlů zahrnutých v clusteru zaručuje poskytování služby v případě výpadku jednoho nebo více serverů. Typický počet uzlů jsou dva, což je minimální počet, který má za následek zvýšenou dostupnost. Pro budování takových clusterů bylo vytvořeno mnoho softwarových řešení.
Klastry a systémy převzetí služeb při selhání se dělí na 3 hlavní typy:
Konkrétní technologie může tyto principy kombinovat v libovolné kombinaci. Linux-HA například podporuje režim konfigurace převzetí , ve kterém jsou kritické požadavky zpracovávány všemi uzly společně, zatímco ostatní jsou mezi nimi rovnoměrně rozloženy. [jeden]
Princip jejich fungování je založen na distribuci požadavků přes jeden nebo více vstupních uzlů, které je přesměrovávají ke zpracování do dalších výpočetních uzlů. Prvotním cílem takového clusteru je výkon, často však využívají i metody zvyšující spolehlivost. Podobné návrhy se nazývají serverové farmy . Software (software) může být buď komerční ( OpenVMS , MOSIX , Platform LSF HPC, Solaris Cluster , Moab Cluster Suite, Maui Cluster Scheduler) nebo zdarma ( OpenMosix , Sun Grid Engine , Linux Virtual Server ).
Klastry se používají pro výpočetní účely, zejména ve vědeckém výzkumu. Pro výpočetní clustery jsou významnými ukazateli vysoký výkon procesoru při operacích s pohyblivou řádovou čárkou ( flops ) a nízká latence sjednocující sítě a méně významným - rychlost I/O operací, která je důležitější pro databáze a webové služby . Výpočetní clustery umožňují zkrátit dobu výpočtu ve srovnání s jedním počítačem rozdělením úlohy na paralelně provádějící větve, které si vyměňují data přes propojovací síť. Jednou z typických konfigurací je sada počítačů sestavených z veřejně dostupných komponent, na kterých běží operační systém Linux a propojených sítí Ethernet , Myrinet , InfiniBand nebo jinými relativně levnými sítěmi. Takový systém je běžně označován jako Beowulfův cluster . Speciálně se rozlišují vysoce výkonné clustery (označeno anglickou zkratkou HPC Cluster - High-performance computing cluster ). Seznam nejvýkonnějších vysoce výkonných počítačů (může být také označován anglickou zkratkou HPC ) najdete ve světovém žebříčku TOP500 . V Rusku existuje hodnocení nejvýkonnějších počítačů v SNS. [2]
Takové systémy nejsou obvykle považovány za clustery, ale jejich principy jsou do značné míry podobné technologii clusterů. Říká se jim také mřížkové systémy . Hlavním rozdílem je nízká dostupnost každého uzlu, tedy nemožnost zaručit jeho provoz v daném časovém okamžiku (uzly se při provozu připojují a odpojují), proto je třeba úkol rozdělit na řadu nezávislých procesů. Takový systém na rozdíl od clusterů nevypadá jako jeden počítač, ale slouží jako zjednodušený prostředek distribuce výpočtů. Nestabilita konfigurace je v tomto případě kompenzována velkým počtem uzlů.
Serverový cluster (v informačních technologiích ) – skupina serverů, které jsou logicky kombinovány, schopné zpracovávat identické požadavky a používané jako jeden zdroj. Servery jsou nejčastěji seskupeny prostřednictvím místní sítě. Skupina serverů je spolehlivější a funguje lépe než jeden server. Ke sloučení serverů do jednoho zdroje dochází na úrovni softwarových protokolů.
Na rozdíl od hardwarového clusteru počítačů vyžadují clustery organizované podle softwaru:
Ve většině případů serverové clustery fungují na samostatných počítačích. To umožňuje zlepšit výkon rozložením zátěže na hardwarové prostředky a poskytuje odolnost proti chybám na úrovni hardwaru.
Princip organizace clusteru serverů (na úrovni softwarového protokolu) však umožňuje provozovat několik softwarových serverů na jednom hardwarovém serveru. Takové použití může být vyžadováno:
Organizace TOP500 dvakrát ročně zveřejňuje seznam pěti set nejproduktivnějších počítačových systémů světa, mezi nimiž v posledních letech často převažují klastry. Nejrychlejší cluster je IBM Roadrunner ( Los Alamos National Laboratory , USA , vytvořený v roce 2008), jeho maximální výkon (k červenci 2008) je 1 026 petaflops . Nejrychlejším systémem v Evropě (stav k červenci 2008 ) je superpočítač BlueGene /P se nachází v Německu , ve výzkumném centru města Jülich v Severním Porýní-Vestfálsku , maximální dosažený výkon je 167,3 teraflops .
Clusterové systémy zaujímají důstojné místo v žebříčku nejrychlejších, přičemž cenově výrazně překonávají superpočítače. Od července 2008 je na 7. místě v hodnocení TOP500 cluster SGI Altix ICE 8200 ( Chipewa Falls , Wisconsin , USA).
Relativně levnou alternativou superpočítačů jsou clustery založené na konceptu Beowulf , které jsou sestaveny z běžných levných počítačů založených na svobodném softwaru. Jedním z praktických příkladů takového systému je Stone Soupercomputer v Oak Ridge National Laboratory ( Tennessee , USA, 1997).
Největší soukromě vlastněný cluster (z 1000 procesorů ) postavil John Koza.
Historie vzniku klastrů je nerozlučně spjata s raným vývojem v oblasti počítačových sítí. Jedním z důvodů vzniku vysokorychlostní komunikace mezi počítači byla naděje na sdílení výpočetních zdrojů. Na počátku 70. let 20. století skupina protokolů TCP/IP a laboratoř Xerox PARC stanovily standardy pro sítě. Objevil se také operační systém Hydra pro počítače DEC PDP-11 , cluster vytvořený na tomto základě byl pojmenován C.mpp ( Pittsburgh , Pennsylvania , USA, 1971). Avšak až kolem roku 1983 byly vyvinuty mechanismy pro snadné sdílení úloh a souborů po síti, většinou ze SunOS ( operační systém založený na BSD od Sun Microsystems ).
Prvním komerčním klastrovým projektem byl ARCNet , vytvořený společností Datapoint v roce 1977. Nestal se ziskovým, a proto se budování clusteru rozvinulo až v roce 1984, kdy DEC postavil svůj VAXcluster založený na operačním systému VAX/VMS . ARCNet a VAXcluster byly navrženy nejen pro společné výpočty, ale také pro sdílení souborového systému a periferií s ohledem na zachování integrity a jednoznačnosti dat . VAXCluster (nyní nazývaný VMSCluster ) je nedílnou součástí operačního systému HP OpenVMS využívajícího procesory DEC Alpha a Itanium .
Mezi další dva dříve uznávané klastrové produkty patří Tandem Hymalaya (1994, třída HA ) a IBM S/390 Parallel Sysplex (1994).
Historie vytváření clusterů z běžných osobních počítačů vděčí za mnohé projektu Parallel Virtual Machine . V roce 1989 tento software pro připojení počítačů do virtuálního superpočítače otevřel možnost vytváření okamžitých clusterů. Výsledkem bylo, že celkový výkon všech tehdy vytvořených levných clusterů předčil součet kapacit „seriózních“ komerčních systémů.
Ve vytváření clusterů založených na levných osobních počítačích propojených sítí pro přenos dat pokračovala v roce 1993 Americká letecká agentura NASA , poté byly v roce 1995 vyvinuty clustery Beowulf , speciálně navržené na tomto principu. Úspěch těchto systémů podnítil rozvoj gridových sítí , které existují již od počátku UNIXu .
Široce používaným nástrojem pro organizaci interakce mezi servery je knihovna MPI , která podporuje jazyky C a Fortran . Používá se například v programu simulace počasí MM5 .
Operační systém Solaris poskytuje software Solaris Cluster , který se používá k zajištění vysoké dostupnosti a převzetí služeb při selhání pro servery se systémem Solaris. Pro OpenSolaris existuje implementace open source s názvem OpenSolaris HA Cluster .
Mezi uživateli GNU/Linuxu je populární několik programů :
Plánuje se, že klastrové mechanismy budou zabudovány do jádra DragonFly BSD , které se rozvětvovalo v roce 2003 z FreeBSD 4.8. V budoucnu se také plánuje jeho přeměna na prostředí jediného operačního systému .
Společnost Microsoft vydává cluster HA pro operační systém Windows . Existuje názor, že byl vytvořen na základě technologie Digital Equipment Corporation , podporuje až 16 (od roku 2010) uzlů v clusteru a také provoz v SAN (Storage Area Network). Pro podporu distribuovaných aplikací se používá sada API, jsou zde mezery pro práci s programy, které nezahrnují práci v clusteru.
Windows Compute Cluster Server 2003 (CCS), vydaný v červnu 2006, je určen pro aplikace vyšší třídy, které vyžadují clusterové výpočty. Edice je navržena pro nasazení na více počítačích, které jsou klastrovány za účelem dosažení superpočítačového výkonu. Každý cluster na Windows Compute Cluster Server se skládá z jednoho nebo více hlavních počítačů, které distribuují úlohy, a několika podřízených počítačů, které provádějí hlavní práci. V listopadu 2008 byl představen Windows HPC Server 2008 , který nahradil Windows Compute Cluster Server 2003.
Novell Open Enterprise Server (OES) - síťový operační systém, " fúze " Novell NetWare a SUSE Linux Enterprise Server ; schopné vytvářet smíšené clustery, mimo jiné, ve kterých mohou prostředky přecházet ze serveru NetWare na server Linux a naopak.