Klaszter számítástechnikai rendszerek. Nagy teljesítményű fürt (számítógépek csoportja)

Klaszter rendszer

Mi az a klaszter?

A fürt olyan kiszolgálók, meghajtók és munkaállomások gyűjteménye, amelyek:
· Egy rendszerként működjön;
· Egy rendszerként kerül bemutatásra a felhasználóknak;
· Egy rendszerként kezelt;
A fürt egyben lehetőség arra is, hogy rendszere számítási erőforrásait úgy használja fel, hogy az így létrejövő rendszer képességeiben meghaladja részeinek teljes képességeit.

A klaszter fő előnyei a következők:
· Magas szintű rendelkezésre állás biztosítása a számítógépek vagy szerverek eltérő gyűjteményéhez képest. A rendszer megnövekedett rendelkezésre állása biztosítja, hogy az üzleti szempontból kritikus alkalmazások a lehető leghosszabb ideig fussanak. A kritikus alkalmazások közé tartozik minden olyan alkalmazás, amely közvetlenül befolyásolja a vállalat profittermelő képességét, szolgáltatást vagy más létfontosságú funkciókat. A fürt használata biztosítja, hogy ha egy kiszolgáló vagy egy alkalmazás nem működik megfelelően, a fürt másik kiszolgálója továbbra is ellátja feladatait, és átveszi a meghibásodott kiszolgáló szerepét, hogy minimalizálja a rendszerhiba miatti felhasználói állásidőt.
· Jelentős növekedés a teljes hálózati teljesítményben (nagyfokú skálázhatóság). A fürt lehetővé teszi a rendszer számítási teljesítményének rugalmas növelését új csomópontok hozzáadásával a felhasználók munkájának megszakítása nélkül.
· Csökkentett helyi hálózati adminisztrációs költségek (jó kezelhetőség).
· A hálózati szolgáltatások magas rendelkezésre állásának biztosítása. Még ha az egyik fürtkiszolgáló meghibásodik, a fürt által nyújtott összes szolgáltatás elérhető marad a felhasználók számára.

Felosztás magas rendelkezésre állású és nagy teljesítményű rendszerekre

A funkcionális besorolásban a klaszterek „nagy teljesítményű” (HP), „nagy rendelkezésre állás” (HA) és „vegyes rendszerek” csoportokra oszthatók.
A nagy sebességű fürtöket jelentős számítási teljesítményt igénylő feladatokhoz használják. A klasszikus területek, ahol ilyen rendszereket használnak, a következők:
· képfeldolgozás: renderelés, mintafelismerés
· tudományos kutatás: fizika, bioinformatika, biokémia, biofizika
iparág (földrajzi információs problémák, matematikai modellezés)
és sokan mások…
A magas rendelkezésre állású rendszereknek minősülő klasztereket mindenhol használják, ahol az esetleges állásidő költsége meghaladja a fürtrendszer felépítéséhez szükséges költségeket, például:
számlázási rendszerek
· Banki műveletek
· e-kereskedelem
· vállalatirányítás, stb...
A vegyes rendszerek egyesítik az első és a második jellemzőit. Elhelyezésükkor meg kell jegyezni, hogy a nagy teljesítményű és magas rendelkezésre állási paraméterekkel is rendelkező fürt teljesítményében minden bizonnyal veszít a nagy sebességű számítástechnikára összpontosító rendszerrel szemben, és az esetleges állásidőben a magas rendelkezésre állási módra összpontosító rendszerrel szemben.

Mi az a magas rendelkezésre állású fürt?
A magas rendelkezésre állású fürt egy olyan fürtrendszer, amelyet a kritikus alkalmazások vagy szolgáltatások folyamatos működésének biztosítására terveztek. A magas rendelkezésre állású fürt használata lehetővé teszi mind a hardver- és szoftverhibák által okozott nem tervezett leállások, mind a szoftverfrissítésekhez vagy a berendezések megelőző karbantartásához szükséges tervezett leállások megelőzését.

Egy fürt két csomópontból (szerverből) áll, amelyek egy közös lemeztömbhöz kapcsolódnak. Ennek a lemeztömbnek minden fő összetevője – tápegység, lemezmeghajtók, I/O vezérlő – redundáns és üzem közben cserélhető. A fürtcsomópontok belső hálózaton keresztül kapcsolódnak egymáshoz, hogy információt cseréljenek aktuális állapotukról. A fürt két független forrásból táplálkozik. Az egyes csomópontok külső helyi hálózathoz való csatlakozása is megkettőződik.
Így a fürt összes alrendszere redundanciával rendelkezik, így ha valamelyik elem meghibásodik, a fürt egésze működőképes marad.

Hogyan működik a klaszter
Egy fürt több, UNIX vagy Windows alapú operációs rendszert futtató számítógépből, úgynevezett csomópontból áll. Ezek a szerverek egyetlen entitásként működnek a hálózat többi részéhez képest: egy erős „virtuális” szerverként. Az ügyfelek anélkül csatlakoznak a fürthöz, hogy tudnák, melyik számítógép szolgálja ki őket valójában. A fürtök által biztosított megszakítás nélküli hozzáférés a hardver és szoftver működésében bekövetkezett megsértések időben történő észlelésével és az adatfeldolgozási folyamatok működő csomópontba való automatikus átvitelével érhető el. Egy szabványos fürtben minden csomópont bizonyos számú erőforrás üzemeltetéséért felelős. Ha egy csomópont vagy egy erőforrás meghibásodik, a rendszer az erőforrások egy részét átadja egy másik csomópontnak, és biztosítja azok elérhetőségét az ügyfelek számára.

Az informatika rohamos fejlődése, a feldolgozott és továbbított adatok számának növekedése és az ezzel párhuzamosan növekvő megbízhatósági, rendelkezésre állási, hibatűrési és skálázhatósági követelmények arra késztetnek bennünket, hogy új pillantást vessünk a már korántsem fiatal klaszterezési technológiára. Ez a technológia lehetővé teszi meglehetősen rugalmas rendszerek létrehozását, amelyek megfelelnek a fenti követelményeknek. Téves lenne azt gondolni, hogy egy fürt telepítése abszolút minden problémát megold. De nagyon is lehetséges lenyűgöző eredményeket elérni a klaszterezéssel. Csak világosan meg kell értenie, hogy mi ez, melyek a legjelentősebb különbségek az egyes fajtáik között, és ismernie kell bizonyos rendszerek előnyeit - az Ön vállalkozásában való felhasználásuk hatékonysága szempontjából.

Az IDC elemzői számításai szerint a klaszterpiac volumene 1997-ben még csak 85 millió dollár volt, míg tavaly ez a piac már 367,7 millió dollárt „érték” A növekedési tendencia nyilvánvaló.

Szóval, próbáljuk meg az összes i-t pontozni. A mai napig nincs egyértelmű meghatározása a klaszternek. Ráadásul nincs egyetlen olyan szabvány sem, amely egyértelműen szabályozná a klasztert. Azonban ne essen kétségbe, mert a klaszterezés lényege nem jelenti azt, hogy megfeleljen semmilyen szabványnak. Az egyetlen dolog, ami meghatározza, hogy egy fürt fürt, az az ilyen rendszerek követelményrendszere. Felsoroljuk ezeket a követelményeket (négy szabály): l a funkció elérhetősége (l skálázhatóság); Ez alapján fogalmazzuk meg a klaszter definícióját. A fürt tetszőleges eszközök (szerverek, lemezmeghajtók, tárolórendszerek stb.) rendszere, amelyek 99,999%-os hibatűrést biztosítanak, és a „négy szabálynak” is megfelelnek. Például a kiszolgálófürt kiszolgálók (általános nevén fürtcsomópontok) csoportja, amelyek csatlakoztatva vannak és úgy vannak beállítva, hogy a felhasználók egyetlen, koherens erőforrásként hozzáférjenek a fürthöz.

hibatűrés

A klaszterek fő jellemzője kétségtelenül a hibatűrés. Ezt egy felhasználói felmérés is megerősíti: a válaszadók 95%-a azt válaszolta, hogy megbízhatóságra és hibatűrésre van szüksége a klaszterekben. Ezt a két fogalmat azonban nem szabad összekeverni. A hibatűrés bizonyos funkciók elérhetőségét jelenti meghibásodás esetén, vagyis a funkciók és a terheléselosztás redundanciáját jelenti. A megbízhatóság alatt pedig a meghibásodások elleni védelem biztosítására szolgáló eszközök összességét értjük. A fürtrendszerek megbízhatóságára és hibatűrésére vonatkozó ilyen követelményeket a használatuk sajátosságai határozzák meg. Mondjunk egy kis példát. A klaszter kiszolgálja az elektronikus fizetési rendszert, így ha az ügyfél valamikor szolgáltatás nélkül marad az üzemeltető cég számára, az nagyon sokba fog kerülni. Más szóval, a rendszernek folyamatosan, a nap 24 órájában, a hét minden napján kell működnie (7S24). A 99%-os hibatűrés ugyanakkor nyilvánvalóan nem elegendő, hiszen ez azt jelenti, hogy egy vállalkozás vagy üzemeltető információs rendszere évente közel négy napig üzemképtelen lesz. Ez nem tűnik hosszú időnek, figyelembe véve a megelőző munkát és a rendszer karbantartását. De a mai kliens teljesen közömbös az okok iránt, amelyek miatt a rendszer nem működik. Szolgáltatásokra van szüksége. Tehát a hibatűrés elfogadható értéke 99,999%, ami évi 5 percnek felel meg. Maga a fürt architektúra lehetővé teszi az ilyen mutatók elérését. Vegyünk egy példát egy szerverfürtre: a fürt minden egyes kiszolgálója viszonylag független marad, azaz leállítható és kikapcsolható (például karbantartási munkák elvégzéséhez vagy további berendezések telepítéséhez) anélkül, hogy a fürt működését megzavarná. egy egész. A fürtöt alkotó kiszolgálók (fürtcsomópontok) szoros interakciója garantálja a maximális teljesítményt és minimális alkalmazásleállást, mivel:l az egyik csomópont szoftverhibája esetén az alkalmazás tovább működik (vagy automatikusan újraindul) a másik fürtön. csomópontok;l a fürt csomópontjának (vagy csomópontjainak) bármilyen okból (beleértve az emberi hibákat is) bekövetkező meghibásodása vagy meghibásodása nem jelenti a fürt egészének meghibásodását;l a megelőző és javítási munkák, a szoftververziók újrakonfigurálása és megváltoztatása a legtöbb esetben lehetséges a klaszter csomópontjain egyenként hajtják végre anélkül, hogy a fürt többi csomópontján megszakítanák az alkalmazások működését. Lehetséges leállás, amelyet a hagyományos rendszerek nem tudnak megakadályozni, a klaszterben vagy enyhe teljesítménycsökkenést eredményez (ha a csomópontok ki vannak kapcsolva). vagy jelentős csökkenés (az alkalmazások csak egy másik csomópontra való átálláshoz szükséges rövid ideig nem érhetők el), amivel 99,99%-os készültségi szintet tudunk biztosítani.

Skálázhatóság

A klaszterrendszerek magas költsége összetettségükből adódik. Ezért a klaszter skálázhatósága nagyon fontos. Hiszen azok a számítógépek, amelyek teljesítménye megfelel a mai követelményeknek, a jövőben sem feltétlenül felel meg nekik. A rendszer szinte minden erőforrása előbb-utóbb teljesítményproblémába ütközik. Ebben az esetben két méretezési lehetőség van: vízszintes és függőleges. A legtöbb számítógépes rendszer többféle módot tesz lehetővé a teljesítmény javítására: memória bővítése, processzorok számának növelése többprocesszoros rendszerekben, vagy új adapterek vagy lemezek hozzáadása. Ezt a skálázást függőleges skálázásnak nevezik, és átmenetileg javíthatja a rendszer teljesítményét. A rendszer azonban a maximálisan támogatott memória-, processzor- vagy lemezmennyiségre lesz állítva, és a rendszererőforrások kimerülnek. A felhasználónak pedig ugyanazzal a problémával kell szembenéznie a számítógépes rendszer teljesítményének javításával kapcsolatban, mint korábban. Így az új rendszer egészének teljesítménye meghaladja a korábbit. Egy ilyen rendszer természetes korlátja a futtatáshoz választott szoftver. Az ilyen rendszer használatának legegyszerűbb példája a különféle alkalmazások elosztása a különböző rendszerelemek között. Például áthelyezheti az irodai alkalmazásait az egyik fürtcsomópontból, a webalkalmazásokat a másikba, a vállalati adatbázisokat pedig a harmadikba. Ez azonban felveti a kérdést, hogy ezek az alkalmazások hogyan hatnak egymásra. A méretezhetőség általában az alkalmazásokban használt adatokra korlátozódik. Az ugyanazokhoz az adatokhoz való hozzáférést igénylő különböző alkalmazásoknak módot kell adni arra, hogy egy ilyen rendszer különböző csomópontjaiból hozzáférjenek az adatokhoz. A megoldást ebben az esetben azok a technológiák jelentik, amelyek valójában egy klasztert fürtössé tesznek, nem pedig egymáshoz kapcsolódó gépek rendszerét. Ugyanakkor természetesen megmarad a klaszterrendszer vertikális skálázásának lehetősége. A klasztermodell tehát a vertikális és vízszintes skálázás miatt komoly védelmet nyújt a fogyasztói befektetéseknek A vízszintes skálázás opciójaként érdemes megjegyezni a terhelést elosztó kapcsolón keresztül összekötött számítógépcsoport használatát is (Load Balancing technológia). ). Ezt a meglehetősen népszerű lehetőséget a következő cikkben részletesen tárgyaljuk. Itt csak egy ilyen megoldás alacsony költségét jegyezzük meg, amely főként egy switch árából (6 ezer dollár vagy több - a funkcionális felszereltségtől függően) és egy gazdagép adapter (egyenként körülbelül több száz dollárból) áll, bár természetesen használhat normál hálózati kártyákat). Az ilyen megoldásokat főként nagy forgalmú webhelyeken alkalmazzák, ahol egy szerver nem tudja kezelni az összes bejövő kérést. Egy ilyen rendszer kiszolgálócsomópontjai közötti terhelés elosztása lehetővé teszi egyetlen webhely létrehozását több kiszolgálón.

Beowulf, avagy számítási teljesítmény

A fent leírtakhoz hasonló megoldásokat gyakran Beowulf klaszternek nevezik. Az ilyen rendszereket elsősorban a maximális számítási teljesítményre tervezték. Ezért a megbízhatóság és a hibatűrés növelésére szolgáló további rendszerek egyszerűen nem állnak rendelkezésre. Ennek a megoldásnak rendkívül vonzó ára van, valószínűleg ezért vált a legnagyobb népszerűségre számos oktatási és kutatási szervezetben. A Beowulf projekt 1994-ben jelent meg - felmerült az ötlet, hogy nyilvánosan elérhető Intel alapú számítógépekből és olcsó Ethernet hálózatokból párhuzamos számítástechnikai rendszereket (klasztereket) hozzanak létre, ezekre a számítógépekre telepítve a Linuxot és az egyik szabadon terjesztett kommunikációs könyvtárat (PVM, majd MPI). . Kiderült, hogy sok problémaosztály esetén és elegendő számú csomóponttal az ilyen rendszerek egy szuperszámítógépéhez hasonló teljesítményt nyújtanak. A gyakorlat azt mutatja, hogy egy ilyen rendszer felépítése meglehetősen egyszerű. Ehhez nem kell más, mint egy nagy teljesítményű kapcsoló és több, a Linux operációs rendszerrel csatlakoztatott munkaállomás (szerver). Ez azonban nem elég. Ahhoz, hogy ez a vashalom életre keljen, speciális szoftverre van szükség a párhuzamos számításokhoz. Az üzenettovábbítási modellben a leggyakoribb párhuzamos programozási felület az MPI (Message Passing Interface). Az „Üzenetátadási felület” elnevezés önmagáért beszél. Ez egy jól szabványosított mechanizmus párhuzamos programok üzenetküldési modellben való felépítésére. Szinte az összes szuperszámítógépes platformra, valamint UNIX és Windows NT munkaállomások hálózatára létezik ingyenes (!) és kereskedelmi megvalósítás. Jelenleg az MPI osztályának legszélesebb körben használt és dinamikusan fejlődő interfésze. Az MPI ajánlott ingyenes megvalósítása az Argonne National Laboratory-ban kifejlesztett MPICH csomag. Az MPI szabványosítását az MPI Forum végzi. A szabvány legújabb verziója a 2.0. Ebben a verzióban olyan fontos funkciókkal bővült az MPI, mint a dinamikus folyamatvezérlés, az egyirányú kommunikáció (Put/Get), a párhuzamos bemenet/kimenet. A nagy számítási teljesítmény iránti állandó kereslet egy vonzó piac kialakulásához vezetett sok gyártó. Némelyikük saját technológiát fejlesztett ki a számítógépek klaszterbe való csatlakoztatására. Közülük a leghíresebbek a Myrinet a MyriComtól és a cLAN a Giganettől. A Myrinet nyílt szabvány. Ennek megvalósítására a MyriCom a hálózati berendezések széles választékát kínálja viszonylag alacsony áron. Fizikai szinten a SAN (System Area Network), a LAN (CL-2) és az üvegszálas hálózatok támogatottak. A Myrinet technológia nagy hálózati skálázási képességeket biztosít, és jelenleg nagyon széles körben használják nagy teljesítményű klaszterek építésére. A Giganet szoftvert és hardvert fejleszt a fürtkiszolgálók központi feldolgozóegységei közötti közvetlen interakcióhoz gigabites sebességgel, megkerülve az operációs rendszer funkcióit. A megoldás ára: körülbelül 2500 dollár egy 8 portos kapcsolóért, 150 dollár egy adapterért a Myrinethez, körülbelül 6250 dollár a 8 portos kapcsolóért és 800 dollár egy adapterért a Giganethez. Utóbbi egyébként megkapta a „Best of Show” díjat a Microsoft Tech Ed 2000 kiállításon. Példaként bemutatjuk a Beowulf-klaszter megvalósítását az Orosz Föderáció Tudományos és Műszaki Politikai Minisztériumának Nagyteljesítményű Számítástechnikai és Adatbázisok Intézetében. A „PARITY” nevű fürt a személyi számítógépek és munkaállomások nyilvánosan elérhető összetevői alapján jön létre, és 3,2 GFLOP/sec teljes csúcsteljesítményt biztosít. A fürt négy kétprocesszoros számítási csomópontból áll, amelyek Intel Pentium II/450 MHz processzorokon alapulnak. Mindegyik csomópont 512 MB RAM-mal és 10 GB-os Ultra Wide SCSI merevlemezzel rendelkezik. A klaszter számítási csomópontjait nagy teljesítményű Myrinet switch (1,28 GB/s sávszélességű csatornák, full duplex) köti össze. Van egy redundáns hálózat is, amelyet a felügyelethez és a konfigurációhoz használnak (100 Mbit Fast Ethernet). A Linux operációs rendszer (Red Hat 5.2 disztribúció) a számítási fürt csomópontjaira van telepítve. Az MPI/PVM üzenettovábbítási interfészek párhuzamos alkalmazások programozására szolgálnak.

Mini klaszter a Delltől és a Compaqtól

A fürtépítéshez szükséges switch megoldáson kívül számos megoldás létezik – hardveres és szoftveres egyaránt. Egyes megoldások összetettek, és „úgy, ahogy vannak” – „mindent egy dobozban” szállítanak. Az utolsó lehetőség - nevezzük „dobozban lévő klaszternek” - szintén meglehetősen népszerű megoldás, mivel tömegpiacra készült, és belépő szintű klaszter (teljesítmény és skálázási paraméterek tekintetében). Az ilyen rendszerek felépítése, a belső alkatrészek összekapcsolása, a megbízhatóság és a hibatűrés azonban teljes mértékben összhangban vannak a „nagy” rendszerekkel. A fürt működésének megértéséhez vegyünk két hasonló termelési rendszert – a Compaq-ot és a Dell-t. A számítógéppiac ezen jól ismert szereplőinek fürtjei két DELL-szerverből épülnek fel - a PowerEdge 6100 vagy a PowerEdge 4200, illetve a Compaq - Proliant 1850R-ből. A használt szoftver a Microsoft Cluster Server (Compaq, Dell) vagy a Novell High-Availability Services for NetWare 4.0 / Clustering Services for NetWare 5.0 (Compaq). A szoftver lehetővé teszi két szerver konfigurálását úgy, hogy ha a fürt egyik szervere meghibásodik, annak munkája és alkalmazásai azonnal és automatikusan áttelepülnek a másik szerverre, kiküszöbölve az állásidőt. A klaszter mindkét szervere biztosítja az erőforrásait a termelési munkák elvégzéséhez, így egyikük sem várja hiába a másik meghibásodását Az ábrán bemutatott konfiguráció egy tipikus fürt a hibabiztos elv megvalósításával, biztosítva a az összetevők magas szintű rendelkezésre állása és duplikálása rendszerszinten. A két szerver közötti kommunikáció a helyi hálózat egy dedikált szakaszának úgynevezett szívverésen keresztül történik. Ha az elsődleges szerveren hiba lép fel, a második szerver, amely figyeli a szívverés kapcsolaton keresztül érkező üzeneteket, megtudja, hogy az elsődleges szerver nem működik, és átadja magának a meghibásodott gép által végzett terhelést. A funkciók közé tartozik azoknak az alkalmazásoknak, folyamatoknak és szolgáltatásoknak a futtatása, amelyek szükségesek ahhoz, hogy válaszoljanak az ügyfeleknek a leállított kiszolgálóhoz való hozzáférésre vonatkozó kérésére. Bár a fürt minden kiszolgálójának rendelkeznie kell minden olyan erőforrással, amely egy másik kiszolgáló funkcióinak átvételéhez szükséges, az elvégzett elsődleges feladatok teljesen eltérőek lehetnek. A hibabiztos fürt részét képező másodlagos kiszolgáló megfelel a forró készenléti képesség követelményének, de saját alkalmazásait is futtathatja. Az erőforrások hatalmas megkettőzése ellenére azonban egy ilyen fürtnek van egy szűk keresztmetszete - az SCSI-busz és a megosztott külső memóriarendszer interfésze, amelynek meghibásodása a fürt meghibásodását vonja maga után. Bár a gyártók szerint ennek a valószínűsége elhanyagolható, az ilyen mini-klasztereket elsősorban autonóm működésre tervezték, állandó felügyelet és adminisztráció nélkül. Használati példa a nagyvállalatok távoli irodáinak megoldása a legkritikusabb alkalmazások (adatbázisok, levelezőrendszerek stb.) magas rendelkezésre állásának (7S24) biztosítására. Tekintettel a nagy teljesítményű és egyben hibatűrő belépő szintű rendszerek iránti növekvő keresletre, ezeknek a klasztereknek a piaca meglehetősen kedvezőnek tűnik. Az egyetlen „de” az, hogy a fürtrendszerek potenciális fogyasztója sem hajlandó körülbelül 20 ezer dollárt fizetni egy kétkiszolgálós rendszerért.

Száraz maradék

Összegzésként meg kell jegyezni, hogy a klasztereknek végre tömegpiacuk van. Ez a következtetés könnyen levonható a Standish Group International elemzőinek előrejelzései alapján, akik szerint a következő két évben a telepített klaszterrendszerek számának globális növekedése 160%-os lesz. Az IDC elemzői ráadásul úgy számoltak, hogy a klaszterpiac volumene 1997-ben még csak 85 millió dollár volt, de tavaly ez a piac már 367,7 millió dollárt „érték” A növekedési tendencia nyilvánvaló. A klaszteres megoldások iránti igény ugyanis ma már nemcsak a nagy adatközpontokban jelentkezik, hanem olyan kis cégeknél is, amelyek nem akarnak a „fukar kétszer fizet” elv szerint élni, és rendkívül megbízható és könnyen méretezhető klaszterrendszerekbe fektetik a pénzüket. Szerencsére több mint elegendő lehetőség van egy fürt megvalósítására. Bármely megoldás kiválasztásakor azonban nem szabad megfeledkezni arról, hogy a klaszter összes paramétere kölcsönösen függ egymástól. Más szavakkal, egyértelműen prioritást kell adnia a szükséges fürtfunkcióknak, mivel a teljesítmény növekedésével a rendelkezésre állás csökken. A termelékenység növelése és a szükséges rendelkezésre állás biztosítása elkerülhetetlenül a megoldás költségének növekedéséhez vezet. Így a felhasználónak meg kell tennie a legfontosabb dolgot – meg kell találnia a klaszter pillanatnyi képességeinek arany középútját. Ezt annál is nehezebb megtenni, mivel ma a klaszterpiacon változatosabb megoldásokat kínálnak A cikk elkészítéséhez WWW-szerverek anyagait használták fel: http://www.dell.ru/, http://www. compaq.ru/, http://www.ibm.ru/ , http://www.parallel.ru/ , http://www.giganet.com/ , http://www.myri.com/

ComputerPress 10"2000

Anyag a Wikipédiából - a szabad enciklopédiából

Hálózati terheléselosztási (NLB) fürtök

Működésük elve a kérések egy vagy több bemeneti csomóponton keresztül történő elosztásán alapul, amelyek átirányítják azokat feldolgozásra a többi számítási csomópontra. Egy ilyen klaszter kezdeti célja a teljesítmény, de gyakran alkalmaznak technikákat is a megbízhatóság javítására. Az ilyen struktúrákat szerverfarmoknak nevezzük. A szoftver lehet kereskedelmi (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) vagy ingyenes (OpenMosix, Sun Grid Engine, Linux Virtual Server).

Számítástechnikai klaszterek

A klasztereket számítástechnikai célokra használják, különösen a tudományos kutatásban. A számítási klaszterek esetében jelentős mutató a processzor magas teljesítménye a lebegőpontos műveletekben (flop) és az összekapcsoló hálózat alacsony késleltetése, és kevésbé jelentős az I/O műveletek sebessége, ami az adatbázisok és webszolgáltatások szempontjából fontosabb. A számítási fürtök lehetővé teszik a számítási idő csökkentését egyetlen számítógéphez képest azáltal, hogy a feladatot párhuzamos végrehajtó ágakra osztják, amelyek egy összekapcsolódó hálózaton keresztül cserélnek adatot. Az egyik tipikus konfiguráció általánosan elérhető összetevőkből összeállított, Linux operációs rendszert futtató számítógépek gyűjteménye, amelyek Ethernet, Myrinet, InfiniBand vagy más, viszonylag olcsó hálózaton keresztül kapcsolódnak össze. Az ilyen rendszert általában Beowulf klaszternek nevezik. A nagy teljesítményű klasztereket speciálisan azonosítják (az angol rövidítéssel jelölve). HPC Cluster - Nagy teljesítményű számítástechnikai fürt). A legerősebb nagy teljesítményű számítógépek listája (az angol rövidítéssel is jelölhető HPC) a világranglista TOP500-ban található. Oroszország fenntartja a FÁK legerősebb számítógépeinek minősítését.

Elosztott számítástechnikai rendszerek (grid)

Az ilyen rendszereket általában nem tekintik klasztereknek, de elveik nagymértékben hasonlóak a klasztertechnológiához. Ezeket rácsrendszereknek is nevezik. A fő különbség az egyes csomópontok alacsony rendelkezésre állása, vagyis az, hogy nem lehet egy adott időpontban garantálni a működését (a csomópontok működés közben kapcsolódnak és válnak le), ezért a feladatot számos, egymástól független folyamatra kell felosztani. Egyéb. Egy ilyen rendszer a klaszterekkel ellentétben nem olyan, mint egyetlen számítógép, hanem a számítások elosztásának egyszerűsített eszközeként szolgál. A konfiguráció instabilitását ebben az esetben nagyszámú csomópont kompenzálja.

Programozottan szervezett kiszolgálók fürtje

A fürtrendszerek méltó helyet foglalnak el a leggyorsabbak listáján, miközben árban jelentősen felülmúlják a szuperszámítógépeket. 2008 júliusában az SGI Altix ICE 8200 klaszter (Chippewa Falls, Wisconsin, USA) a 7. helyen áll a TOP500 értékelésben.

A szuperszámítógépek viszonylag olcsó alternatívája a Beowulf-koncepcióra épülő klaszterek, amelyek közönséges olcsó számítógépekből épülnek fel szabad szoftveren. Egy ilyen rendszer gyakorlati példája a Stone Soupercomputer az Oak Ridge National Laboratory-ban (Tennessee, USA, 1997).

A legnagyobb magánkézben lévő klasztert (1000 processzor) John Koza építette.

Sztori

A klaszterek létrehozásának története elválaszthatatlanul összefügg a számítógépes hálózatok korai fejlesztéseivel. A számítógépek közötti nagysebességű kommunikáció kialakulásának egyik oka a számítási erőforrások összevonásának reménye volt. Az 1970-es évek elején a TCP/IP fejlesztőcsapat és a Xerox PARC laboratórium létrehozta a hálózati szabványokat. Megjelent a DEC által gyártott PDP-11 számítógépekhez készült Hydra operációs rendszer is, az ennek alapján létrehozott klaszter a C.mpp nevet kapta (Pittsburgh, Pennsylvania, USA, 1971). Azonban csak 1983 körül hoztak létre olyan mechanizmusokat, amelyek megkönnyítik a feladatok és fájlok hálózaton történő elosztását, főleg a SunOS-ről (a Sun Microsystems BSD-alapú operációs rendszere).

A klaszter első kereskedelmi projektje az ARCNet volt, amelyet a Datapoint hozott létre 1977-ben. Nem vált nyereségessé, ezért a klaszterépítés csak 1984-ig fejlődött, amikor a DEC megépítette VAX/VMS operációs rendszerre épülő VAXclusterét. Az ARCNet és a VAXcluster nem csak közös számítástechnikára készült, hanem a fájlrendszer és a perifériák megosztására is, figyelembe véve az adatok integritásának és egyértelműségének megőrzését. A VAXCluster (ma VMSCluster) az OpenVMS operációs rendszer szerves része, amely DEC Alpha és Itanium processzorokat használ.

Két másik korai klasztertermék, amely elismerésre tett szert, a Tandem Hymalaya (1994, osztály) és az IBM S/390 Parallel Sysplex (1994).

A fürtök közönséges személyi számítógépekből történő létrehozásának története sokat köszönhet a Parallel Virtual Machine projektnek. 1989-ben ez a számítógépeket virtuális szuperszámítógépgé összekapcsoló szoftver lehetővé tette a fürtök azonnali létrehozását. Ennek eredményeként az akkor létrejött összes olcsó klaszter összteljesítménye teljesítményben meghaladta a „komoly” kereskedelmi rendszerek kapacitásainak összegét.

Az adatátviteli hálózattal összekapcsolt, olcsó személyi számítógépekre épülő klaszterek létrehozását 1993-ban az amerikai repülési ügynökség, a NASA folytatta, majd 1995-ben kifejlesztették a speciálisan ezen az elven tervezett Beowulf klasztereket. Az ilyen rendszerek sikere ösztönözte a grid hálózatok fejlesztését, amelyek a UNIX létrehozása óta léteznek.

Szoftver

A szerverek közötti kommunikáció szervezésének széles körben használt eszköze az MPI könyvtár, amely támogatja a nyelveket és a Fortran-t. Használják például egy időjárás-modellező programban.

A Solaris operációs rendszer Solaris Cluster szoftvert biztosít, amely magas szintű rendelkezésre állást és rendelkezésre állást biztosít a Solarist futtató szerverek számára. Az OpenSolarishoz létezik egy nyílt forráskódú implementáció, az úgynevezett OpenSolaris HA Cluster.

Számos program népszerű a GNU/Linux felhasználók körében:

  • A distcc, MPICH stb. speciális eszközök a programok működésének párhuzamosítására. A distcc lehetővé teszi a párhuzamos fordítást a GNU fordítógyűjteményben.
  • Linux Virtual Server, Linux-HA - csomóponti szoftver a kérések elosztásához számítástechnikai szerverek között.
  • A MOSIX, az openMosix, a Kerrighed és az OpenSSI a kernelbe épített, teljes értékű fürtkörnyezetek, amelyek automatikusan elosztják a feladatokat a homogén csomópontok között. OpenSSI, openMosix és Kerrighed létrehozzák csomópontok között.

A fürtmechanizmusokat a tervek szerint a 2003-ban a FreeBSD 4.8-ból kiágazó DragonFly BSD kernelbe építik be. A hosszú távú tervek között szerepel az is, hogy a egységes operációs rendszer környezet.

A Microsoft HA-fürtöt állít elő a Windows operációs rendszerhez. Úgy gondolják, hogy a Digital Equipment Corporation technológiája alapján hozták létre, legfeljebb 16 (2010 óta) csomópontot támogat egy fürtben, valamint a SAN-ban (Storage Area Network) való működést. Az elosztott alkalmazások támogatására egy API-interfész készletet használnak, amelyek nem teszik lehetővé a fürtben való munkát.

A 2006 júniusában kiadott Windows Compute Cluster Server 2003 (CCS) olyan csúcskategóriás alkalmazásokhoz készült, amelyek fürt számítástechnikát igényelnek. A kiadványt számos olyan számítógépen való telepítésre tervezték, amelyek egy fürtbe vannak összeállítva a szuperszámítógép teljesítményének elérése érdekében. A Windows Compute Cluster Server minden fürtje egy vagy több főgépből áll, amelyek elosztják a feladatokat, és több szolgagépből, amelyek a fő munkát végzik el. 2008 novemberében bemutatták a Windows HPC Server 2008-at a Windows Compute Cluster Server 2003 helyére.

Írjon véleményt a "Cluster (számítógépek csoportja)" cikkről

Megjegyzések

Lásd még

Linkek

Egy klasztert (számítógépek egy csoportját) jellemző részlet

– No, a fenébe, most száradjunk meg – mondta Petyának.
Az erdei őrházhoz közeledve Denisov megállt, és benézett az erdőbe. Az erdőn át, a fák között egy férfi kabátban, szárcipőben, kazanyi kalapban, vállán fegyverrel, övében baltával, hosszú, könnyű léptekkel, hosszú lábakon, hosszú, lógó karokkal ment. Ez az ember meglátva Denisovot, sietve bedobott valamit a bokorba, és levetette lógó karimájú vizes kalapját, odament a főnökhöz. Tikhon volt. Himlőtől és ráncoktól tarkított, kis keskeny szemű arca önelégült örömtől ragyogott. Felemelte a fejét, és mintha visszatartaná a nevetést, Denisovra meredt.
- Nos, hova esett? - kérdezte Denisov.
- Hol voltál? „A franciákat követtem” – válaszolta Tyihon merészen és sietősen, rekedtes, de dallamos basszusban.
- Miért másztál fel napközben? Marha! Nos, nem vetted?...
– Elvettem – mondta Tikhon.
- Hol van?
– Igen, először vittem el hajnalban – folytatta Tyihon, és szélesebbre húzta lapos lábait a farcipőjében –, és bevittem az erdőbe. Úgy látom, nincs rendben. Azt hiszem, hadd menjek, és vegyek még egy óvatosabbat.
– Nézd, te gazember, ez így van – mondta Denisov az esaulnak. - Miért nem tetted ezt?
– Miért vezetnénk – szakította félbe Tyihon sietve és dühösen –, nem alkalmas. Nem tudom, melyikre van szüksége?
- Micsoda vadállat!... Nos?...
– Valaki más után mentem – folytatta Tikhon –, így másztam be az erdőbe, és lefeküdtem. – Tyihon hirtelen és rugalmasan a hasára feküdt, és az arcukba képzelte, hogyan csinálta. „Egyet és utolérjük” – folytatta. – Ilyen módon kirabolom. – Tikhon gyorsan és könnyedén felugrott. – Mondom, menjünk az ezredeshez. Milyen hangos lesz. És itt négyen vannak. Nyárssal rohantak rám. „Így ütöttem őket baltával: miért vagy, Krisztus veled” – kiáltotta Tikhon, karját hadonászva, fenyegetően összeráncolta a homlokát, és kinyújtotta a mellkasát.
– Láttuk a hegyről, hogyan kértél egy sort a tócsákon keresztül – mondta Esaul, és összehúzta csillogó szemét.
Petya nagyon szeretett volna nevetni, de látta, hogy mindenki visszatartja a nevetést. Gyorsan szemét Tyihon arcáról Esaul és Denisov arcára mozdította, és nem értette, mit jelent ez az egész.
– Ne is képzeld – mondta Denisov dühösen köhögve –, miért nem tette?
Tikhon egyik kezével a hátát, a másikkal a fejét kezdte vakarni, és hirtelen egész arca csillogó, ostoba mosolyra húzódott, felfedve egy hiányzó fogat (amiért Shcherbatynak becézték). Denisov elmosolyodott, Petya pedig vidám nevetésben tört ki, amihez maga Tyihon is csatlakozott.
"Igen, ez teljesen helytelen" - mondta Tikhon. – A ruhái rosszak, szóval hova vigyük? Igen, és egy goromba ember, a becsületed. Miért, azt mondja, én magam Anaral fia vagyok, nem megyek, mondja.
- Micsoda barom! - mondta Denisov. - Meg kell kérdeznem...
„Igen, megkérdeztem tőle” – mondta Tikhon. - Azt mondja: Nem ismerem jól. Sok a miénk, mondja, de mindegyik rossz; csak egy név – mondja. „Ha jól vagy – mondja –, mindenkit elvisz” – fejezte be Tyihon, és vidáman és határozottan Denisov szemébe nézett.
– Tessék, öntök bele száz gogot, és te is ezt teszed – mondta szigorúan Denisov.
- Miért haragudna - mondta Tyihon -, hát én nem láttam a franciáját? Csak sötétedjen, hozok, amit akarsz, legalább hármat.
– Nos, menjünk – mondta Denisov, és egészen az őrházig lovagolt, dühösen és némán összeráncolta a homlokát.
Tyihon hátulról jött, és Petya hallotta, hogy a kozákok vele és vele együtt nevetnek néhány csizmán, amelyet egy bokorba dobott.
Amikor a nevetés, amely Tyihon szavain és mosolyán eluralkodott rajta, elmúlt, és Petya egy pillanatra rájött, hogy ez a Tikhon megölt egy embert, zavarba jött. Visszanézett a foglyul ejtett dobosra, és valami belefúródott a szívébe. De ez a kínos helyzet csak egy pillanatig tartott. Szükségét érezte, hogy feljebb emelje a fejét, felviduljon, és jelentőségteljes pillantással kérdezze meg Esauult a holnapi vállalkozásról, hogy ne legyen méltatlan ahhoz a társadalomhoz, amelyben tartózkodik.
A kiküldött tiszt az úton találkozott Denisovoval azzal a hírrel, hogy most maga Dolokhov érkezik, és minden rendben van a részéről.
Denisov hirtelen jókedvű lett, és magához hívta Petyát.
– Nos, mesélj magadról – mondta.

Amikor Petya elhagyta Moszkvát, elhagyva rokonait, csatlakozott ezredéhez, és nem sokkal ezután tisztnek vitték a tábornokhoz, aki egy nagy különítményt vezetett. Petya tisztté való előléptetésétől és különösen az aktív hadseregbe való belépéstől fogva, ahol részt vett a Vjazemszkij csatában, állandóan boldogan izgatott örömben volt a tény miatt, hogy nagyszerű, és folyamatosan Lelkes sietség, hogy ne hagyja ki a valódi hősiesség egyetlen esetét sem. Nagyon örült annak, amit a hadseregben látott és tapasztalt, ugyanakkor úgy tűnt neki, hogy ahol nem, ott most a legvalóságosabb, leghősiesebb dolgok történnek. És sietett oda, ahol nem volt.
Amikor október 21-én tábornoka kifejezte óhaját, hogy küldjön valakit Denisov különítményéhez, Petya olyan szánalmasan kérte, hogy küldje el, hogy a tábornok nem tudta visszautasítani. De a tábornok elküldve neki, emlékezett Petya őrült cselekedetére a Vjazemszkij csatában, ahol Petya ahelyett, hogy végigment volna az úton, ahová küldték, láncban vágtatott a franciák tüze alatt, és ott kétszer lőtt a pisztolyából. - elküldte őt, a tábornokot, nevezetesen megtiltotta Petyának, hogy részt vegyen Denisov bármely akciójában. Ettől Petya elpirult, és összezavarodott, amikor Denisov megkérdezte, maradhat-e. Mielőtt elindult volna az erdő szélére, Petya úgy gondolta, hogy szigorúan teljesítenie kell kötelességét, és azonnal vissza kell térnie. De amikor meglátta a franciákat, meglátta Tikhont, megtudta, hogy azon az éjszakán minden bizonnyal támadni fognak, a fiatalok egyik pillantásról a másikra való átmenet sebességével úgy döntött magában, hogy tábornoka, akit eddig nagyon tisztelt, szemét, a német, hogy Denisov hős, és Esaul hős, és Tyihon hős, és hogy szégyellné elhagyni őket a nehéz időkben.
Már besötétedett, amikor Denisov, Petya és Esaul felhajtottak az őrházhoz. A félhomályban lehetett látni nyerges lovakat, kozákokat, a tisztáson kunyhót felhúzó huszárokat, és (hogy a franciák ne lássák a füstöt) vöröslő tüzet raknak egy erdei szakadékban. Egy kis kunyhó bejáratában egy kozák az ingujját feltűrve bárányt aprított. Magában a kunyhóban három tiszt volt Denisov csapatából, akik az ajtón kívül asztalt állítottak fel. Petya levetette nedves ruháját, hagyta megszáradni, és azonnal segíteni kezdett a tiszteknek az ebédlőasztal felállításában.
Tíz perccel később az asztal készen volt, szalvétával letakarva. Az asztalon vodka, rum lombikban, fehér kenyér és sóval sült bárány volt.
A tisztekkel az asztalnál ülve, és kezével tépte a zsíros, illatos bárányt, amelyen a disznózsír folyt át, Petya lelkes gyermeki állapotában volt a gyengéd szeretet minden ember iránt, és ennek eredményeként bízott a többi ember szeretetében. magának.
- Szóval mit gondolsz, Vaszilij Fedorovics - fordult Gyenyiszovhoz -, rendben van, hogy veled maradok egy napig? - És meg sem várva a választ, válaszolt magának: - Végül is azt a parancsot kaptam, hogy derítse ki, hát majd megtudom... Csak te engedsz be a nagyon... főbe. Nincs szükségem díjra... De én akarom... - Petya összeszorította a fogát, és körülnézett, felkapta a fejét és intett a kezével.
– A legfontosabbhoz… – ismételte meg Deniszov mosolyogva.
- Csak kérem, adjon teljes parancsot, hogy parancsolhassak - folytatta Petya -, mire van szüksége? Ó, kérsz egy kést? - fordult a tiszthez, aki le akarta vágni a bárányt. És átadta a tollkését.
A tiszt megdicsérte a kést.
- Kérlek, vedd magadnak. Sok ilyenem van... – mondta Petya elvörösödve. - Apák! – Teljesen elfelejtettem – kiáltotta hirtelen. – Csodálatos mazsolám van, tudod, az a fajta mag nélkül. Van egy új sutlerünk - és olyan csodálatos dolgok. Tíz fontot vettem. Hozzászoktam valami édeshez. Akarod?.. - És Petya beszaladt a folyosóra a kozákjához, és hozott egy zacskót, amelyben öt kiló mazsola volt. - Egyetek, uraim, egyetek.
- Nem kell egy kávéskanna? – fordult Esaulhoz. "A mi sutlerünktől vettem, csodálatos!" Csodálatos dolgai vannak. És nagyon őszinte. Ez a fő dolog. mindenképp elküldöm neked. Vagy lehet, hogy a kovakő előkerült és elszaporodott – mert ez megtörténik. Vittem magammal, itt van... - mutatott a táskákra, - száz kovakő. Nagyon olcsón vettem. Kérem, vegyen be annyit, amennyire szüksége van, vagy ennyi... - És hirtelen, attól tartva, hogy hazudott, Petya megállt és elpirult.
Kezdett eszébe jutni, csinált-e még valami hülyeséget. És ennek a napnak az emlékeit végigjárva feltűnt neki a francia dobos emléke. „Nagyon jó nekünk, de mi van vele? Hová vitték? Táplált volt? Megbántottál?" - azt gondolta. De miután észrevette, hogy hazudott a kovakőről, most megijedt.
„Megkérdezhetnéd – gondolta –, és azt mondják: maga a fiú sajnálta a fiút. Holnap megmutatom nekik, milyen fiú vagyok! Zavarban lennél, ha megkérdezném? - gondolta Petya. – Hát, mindegy! - és azonnal elpirulva és félve a tisztekre nézve, hátha gúny lesz az arcukon, így szólt:
– Felhívhatom ezt a fiút, akit elfogtak? adj neki enni valamit... talán...
– Igen, szánalmas fiú – mondta Denisov, és láthatóan nem talált semmi szégyellnivalót ebben az emlékeztetőben. - Hívd ide. A neve Vincent Bosse. Hívás.
– Felhívom – mondta Petya.
- Hívj, hívj. – Szánalmas fiú – ismételte Denisov.
Petya az ajtóban állt, amikor Denisov ezt mondta. Petya a tisztek közé kúszott, és közel jött Denisovhoz.
– Hadd csókoljalak meg, kedvesem – mondta. - Ó, milyen nagyszerű! milyen jó! - És miután megcsókolta Denisovot, kiszaladt az udvarra.
- Bosse! Vincent! – kiáltotta Petya az ajtóban megállva.
- Kit akarsz, uram? - szólt egy hang a sötétből. Petya azt válaszolta, hogy a fiú francia, akit ma elvittek.
- A! Tavaszi? - mondta a kozák.
Vincent neve már megváltozott: a kozákok - Vesennyre, a férfiak és katonák pedig - Visenyára. Mindkét adaptációban ez a tavaszi emlékeztető egybeesett egy fiatal fiú gondolatával.
– Ott melegedett a tűz mellett. Szia Visenya! Visenya! Tavaszi! – hangok és nevetés hallatszott a sötétben.
– És a fiú okos – mondta a huszár Petya mellett. – Épp most etettük. A szenvedély éhes volt!
Lépések hallatszottak a sötétben, és a dobos mezítláb csobbanva a sárban közeledett az ajtóhoz.
– Ah, c'est vous! – mondta Petya. - Entrez, entrez. [Ó te vagy az! Éhes vagy? Ne félj, nem tesznek veled semmit. Belépés, belépés.]
„Merci, monsieur, [Köszönöm, uram.]” – válaszolta a dobos remegő, szinte gyerekes hangon, és törölgetni kezdte koszos lábát a küszöbön. Petya sokat akart mondani a dobosnak, de nem merte. Mellette állt a folyosón, és váltott. Aztán a sötétben megfogtam a kezét és megráztam.
– Entrez, entrez – ismételte csak halkan suttogva.
– Ó, mit csináljak vele! - mondta magában Petya és kinyitva az ajtót, átengedte a fiút.
Amikor a dobos belépett a kunyhóba, Petya távol ült tőle, megalázónak tartotta, hogy rá figyel. Csak érezte a pénzt a zsebében, és kételkedett abban, hogy kár lenne-e odaadni a dobosnak.

Petya figyelmét elterelte a dobosról, akinek Denisov utasítására vodkát, birkahúst adtak, és akit Denisov orosz kaftánba öltöztetett, hogy anélkül, hogy a foglyokkal együtt elküldené, a buliban maradjon. Dolokhov érkezése. Petya a hadseregben sok történetet hallott Dolokhovnak a franciákkal szembeni rendkívüli bátorságáról és kegyetlenségéről, és ezért attól a pillanattól kezdve, hogy Dolokhov belépett a kunyhóba, Petya anélkül, hogy levette volna a szemét, ránézett, és egyre jobban felbátorodott, és megrándult. felemelt fejjel, hogy ne legyen méltatlan még egy olyan társadalomhoz is, mint Dolokhov.
Dolokhov megjelenése furcsán megdöbbentette Petyát az egyszerűségével.
Gyenyiszov sakkba öltözött, szakállt viselt, mellkasán Csodatévő Szent Miklós képmása volt, és beszédmódjában, minden modorában megmutatta helyzetének sajátosságát. Ezzel szemben Dolokhov korábban Moszkvában, aki perzsa öltönyt viselt, most a legelőkelőbb gárdatisztnek tűnt. Az arca tisztára borotvált volt, védőruhában bélelt kabát volt, a gomblyukban George, és egy egyszerű sapka volt rajta. Levette nedves köpenyét a sarokban, és felment Gyeniszovhoz, anélkül, hogy üdvözölte volna senkit, azonnal kérdezősködni kezdett a dologról. Denisov mesélt neki a nagy csapatok szállítási terveiről, Petya elküldéséről, és arról, hogyan reagált mindkét tábornokra. Aztán Denisov elmondott mindent, amit tudott a francia különítmény helyzetéről.
– Ez igaz, de tudnod kell, milyen és hány katonára kell menned – mondta Dolokhov. Anélkül, hogy pontosan tudná, hányan vannak, nem indíthatja el a vállalkozást. Szeretem gondosan csinálni a dolgokat. Nos, az úriemberek közül valaki el akarna menni velem a táborába? Az egyenruhám nálam van.
- Én, én... veled megyek! – sikoltotta Petya.
– Egyáltalán nem kell elmenned – mondta Denisov Dolokhovhoz fordulva –, és semmiért nem engedem be.
- Nagyszerű! - kiáltott fel Petya, - miért ne mennék?
- Igen, mert nincs rá szükség.
– Nos, bocsáss meg, mert… mert… megyek, ez minden. Elviszel? – fordult Dolokhovhoz.
– Miért… – felelte szórakozottan Dolokhov, és a francia dobos arcába nézett.
- Mióta van nálad ez a fiatalember? – kérdezte Denisovot.
- Ma elvitték, de nem tud semmit. magamra hagytam.
- Nos, hova teszed a többit? - mondta Dolokhov.
- Hogyan hova? – Őrizetbe küldlek! – kiáltott fel hirtelen Denisov, és bátran kijelentem, hogy nincs a lelkiismeretemen, szívesen elküldök valakit? mondd meg, a katona becsülete.
– Helyes, hogy egy tizenhat éves fiatal gróf ilyen kedvességet mond – mondta Dolokhov hidegen vigyorogva –, de itt az ideje, hogy hagyd.
- Nos, nem mondok semmit, csak azt mondom, hogy biztosan veled megyek - mondta Petya félénken.
„És itt az ideje, hogy te és én, testvérem, lemondjunk ezekről a jókedvekről” – folytatta Dolokhov, mintha különös örömet lelne abban, hogy erről a témáról beszél, amely bosszantotta Denisovot. - Nos, miért vitted ezt neked? - mondta a fejét csóválva. - Akkor miért sajnálod őt? Hiszen ismerjük ezeket a nyugtáit. Száz embert küldesz nekik, és harmincan jönnek. Éheznek vagy megvernek. Tehát mindegy, hogy nem veszik el őket?

A klasztertechnológiák az MPP rendszerek architektúrájába ágyazott ötletek fejlődésének logikus folytatásaivá váltak. Ha egy MPP-rendszer processzormodulja egy komplett számítástechnikai rendszer, akkor a következő lépés önmagát javasolja: miért ne használjunk hagyományos, kereskedelmi forgalomban kapható számítógépeket számítási csomópontként. A kommunikációs technológiák fejlődése, nevezetesen a nagy sebességű hálózati berendezések és speciális szoftverek megjelenése, mint például az MPI rendszer, amely üzenetátviteli mechanizmust valósít meg szabványos hálózati protokollokon keresztül, általánosan elérhetővé tette a klasztertechnológiákat. Ma már nem nehéz kis klaszterrendszert létrehozni úgy, hogy a számítógépek számítási teljesítményét egy külön laboratóriumban vagy tanteremben kombinálják.

A fürttechnológiák vonzó tulajdonsága, hogy lehetővé teszik a különböző típusú számítógépek egységes számítástechnikai rendszerré történő kombinálását, a személyi számítógépektől a nagy teljesítményű szuperszámítógépekig a kívánt teljesítmény elérése érdekében. A fürttechnológiák tömegesen gyártott komponensekből szuperszámítógép-osztályú rendszerek létrehozásának eszközeként terjedtek el, ami jelentősen csökkenti a számítástechnikai rendszer költségeit. Konkrétan a COCOA projekt volt az elsők között, amelyet megvalósítottak, amelyben 25 kétprocesszoros személyi számítógépre épültek, amelyek összköltsége körülbelül 100 000 dollár, egy 48 processzoros Cray T3D teljesítményével egyenértékű rendszert, amely több millió dollárba kerül. dollár jött létre.

Természetesen ezeknek a rendszereknek a teljes egyenértékűségéről nem kell beszélni. Ahogy az előző részben említettük, az elosztott memóriarendszerek teljesítménye nagymértékben függ a kommunikációs környezet teljesítményétől. A kommunikációs környezet két paraméterrel teljesen jellemezhető: késleltetés- késleltetési idő üzenet küldésekor, és áteresztőképesség- az információátvitel sebessége. Tehát a Cray T3D számítógép esetében ezek a paraméterek 1 μs, illetve 480 Mb/s, egy klaszternél pedig, amelyben a Fast Ethernet hálózatot használják kommunikációs közegként, 100 μs és 10 Mb/s. Ez részben magyarázza a szuperszámítógépek igen magas költségeit. Az olyan paraméterekkel, mint a szóban forgó fürt paraméterei, nem sok olyan feladatot lehet hatékonyan megoldani, amely kellően nagy számú processzoron megoldható.

Akkor röviden fogalmazva fürt teljes értékű számítógépek összekapcsolt készlete, amelyet egyetlen számítási erőforrásként használnak. A fürtrendszer előnyei a független számítógépekkel szemben nyilvánvalóak. Először is, számos küldőrendszert fejlesztettek ki a feladatok kötegelt feldolgozására, amelyek lehetővé teszik, hogy egy feladatot a fürt egészére küldjön feldolgozásra, nem pedig egyetlen számítógépre. Ezek a diszpécserrendszerek automatikusan szétosztják a feladatokat a szabad számítástechnikai csomópontok között, vagy pufferelnek, ha ilyen nincs, ami egyenletesebb és hatékonyabb terhelést tesz lehetővé a számítógépeken. Másodszor, lehetővé válik több számítógép számítási erőforrásainak megosztása egy probléma megoldása érdekében.


A fürtök létrehozásához általában egyszerű egyprocesszoros személyi számítógépeket vagy két- vagy négyprocesszoros SMP-kiszolgálókat használnak. Ebben az esetben nincs korlátozás a csomópontok összetételére és architektúrájára vonatkozóan. Minden csomópont saját operációs rendszert futtathat. A leggyakrabban használt szabványos operációs rendszerek a Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT. Azokban az esetekben, amikor a klaszter csomópontjai heterogének, beszélünk heterogén klaszterek.

A klaszterek létrehozásánál két megközelítés különböztethető meg. Az első megközelítést kis fürtrendszerek létrehozásakor alkalmazzák. A fürt teljesen működőképes számítógépeket egyesít, amelyek továbbra is önálló egységként működnek, például osztálytermi számítógépek vagy laboratóriumi munkaállomások. A második megközelítést olyan esetekben alkalmazzák, amikor egy nagy teljesítményű számítási erőforrást célirányosan hoznak létre. Ezután a számítógépes rendszeregységeket kompaktan speciális állványokba helyezik, és egy vagy több teljes funkciós számítógépet, úgynevezett gazdaszámítógépet osztanak ki a rendszer kezelésére és a feladatok végrehajtására. Ebben az esetben nincs szükség a számítási csomópontok számítógépeinek grafikus kártyákkal, monitorokkal, lemezmeghajtókkal és egyéb perifériás berendezésekkel való felszerelésére, ami jelentősen csökkenti a rendszer költségeit.

Számos technológiát fejlesztettek ki a számítógépek fürtökbe történő csatlakoztatására. Jelenleg a legszélesebb körben használt technológia a Fast Ethernet. Ez a kommunikációs berendezések egyszerű használatának és alacsony költségének köszönhető. Ezt azonban nyilvánvalóan elégtelen cseresebességgel kell fizetni. Valójában ez a berendezés 10 MB/sec maximális átviteli sebességet biztosít a csomópontok között, míg a RAM átviteli sebessége 250 MB/s és magasabb. A többprocesszoros rendszerek lineáris algebrai problémáinak megoldására tervezett ScaLAPACK szubrutincsomag fejlesztői, amelyekben nagy a kommunikációs műveletek aránya, a következő követelményt fogalmazzák meg egy többprocesszoros rendszerrel szemben: „Két csomópont közötti processzorok közötti csere sebessége, MB/-ben mérve. mp, legalább 1/10 csúcsteljesítménynek kell lennie egy számítási csomópontnál, Mflops-ban mérve"http://rsusu1.rnd.runnet.ru/tutor/method/m1/liter1.html - . Így, ha Pentium III 500 MHz-es osztályú számítógépeket (csúcsteljesítmény 500 Mflops) használunk számítási csomópontként, akkor a Fast Ethernet berendezések csak a szükséges sebesség 1/5-ét biztosítják. Ez a helyzet a Gigabit Ethernet technológiákra való átállással részben korrigálható.

Számos vállalat kínál speciális, nagyobb sebességű hálózatokra épülő fürtmegoldásokat, mint például a Scali Computer SCI-je (~100 Mb/s) és a Mirynet (~120 Mb/sec). A nagy teljesítményű munkaállomások (SUN, HP, Silicon Graphics) gyártói is aktívan részt vettek a klasztertechnológiák támogatásában.

Először is meg kell határoznia, hogy kinek szól a cikk, hogy az olvasók eldönthessék, megéri-e időt szánni rá.

A cikk megírásának szükségessége a kijevi ENTEREX’2002 kiállításon tartott szeminárium elolvasása után merült fel. Ekkor, 2002 elején láttam, hogy a klaszterrendszerek témaköre iránti érdeklődés jelentősen megnőtt a pár évvel ezelőttihez képest.

A szemináriumon és ebben a cikkben nem azt a célt tűztem ki magam elé, hogy elemzem a klaszterrendszereken alkalmazott konkrét problémák megoldási lehetőségeit, ez egy különálló és nagyon tág téma. Azt a feladatot tűztem ki magam elé, hogy megismertessem az olvasókkal a klaszterrendszerek felépítésének terminológiáját és eszközeit, valamint megmutassam, milyen feladatokra hasznos a klaszterezés. A kételkedők teljes meggyőzése érdekében a cikk konkrét példákat közöl a klaszterrendszerek megvalósításáról és elérhetőségeimet, amelyeken keresztül lehetőség szerint kész vagyok válaszolni a klasztertechnológiákkal kapcsolatos kérdésekre, valamint megfogadni észrevételeiket, tanácsaikat.

Klaszter rendszerek koncepciója

1. ábra Klaszterrendszer

  • LAN – Helyi hálózat
  • SAN - Storage Area Network, adattároló hálózat

A számítástechnikai rendszerek osztályozásában először a Digital Equipment Corporation (DEC) határozta meg a „klaszter” kifejezést.

A DEC definíciója szerint a klaszter olyan számítógépek csoportja, amelyek összekapcsolódnak és egyetlen információfeldolgozó csomópontként működnek.

A fürt egyetlen rendszerként működik, vagyis a felhasználói vagy alkalmazási feladathoz a számítógépes berendezések teljes gyűjteménye egy számítógépnek néz ki. Pontosan ez a legfontosabb a klaszterrendszer felépítésénél.

A Digital első klaszterei VAX gépekre épültek. Ezeket a gépeket már nem gyártják, de még mindig azokon a telephelyeken működnek, ahol sok évvel ezelőtt telepítették őket. És talán a legfontosabb, hogy a tervezés során lefektetett általános elvek ma is a klaszterrendszerek építésének alapját képezik.

A klaszterrendszerekre vonatkozó általános követelmények a következők:

  1. Magas rendelkezésre állás
  2. Nagy teljesítményű
  3. Méretezés
  4. Erőforrások megosztása
  5. Könnyű karbantartás

Természetesen a privát megvalósításokban a követelmények egy része előtérbe kerül, míg mások háttérbe szorulnak. Például egy fürt implementálásakor, amelynél a teljesítmény a legfontosabb, kevesebb figyelmet fordítanak a magas rendelkezésre állásra az erőforrások megtakarítása érdekében.

Általánosságban elmondható, hogy a klaszter többprocesszoros rendszerként működik, ezért fontos megérteni az ilyen rendszerek osztályozását a szoftver és hardver erőforrások elosztása keretében.


2. ábra Szorosan csatolt többprocesszoros rendszer


3. ábra Mérsékelten csatolt többprocesszoros rendszer


4. ábra Lazán csatolt többprocesszoros rendszer

Az általam használt PC-platformok jellemzően fürtrendszer-megvalósításokat használnak szorosan és mérsékelten csatolt többprocesszoros architektúra modellekben.

Felosztás magas rendelkezésre állású és nagy teljesítményű rendszerekre

A funkcionális besorolásban a klaszterek „nagy teljesítményű” (HP), „nagy rendelkezésre állás” (HA) és „vegyes rendszerek” csoportokra oszthatók.

A nagy sebességű fürtöket jelentős számítási teljesítményt igénylő feladatokhoz használják. A klasszikus területek, ahol ilyen rendszereket használnak, a következők:

  • képfeldolgozás: renderelés, mintafelismerés
  • tudományos kutatás: fizika, bioinformatika, biokémia, biofizika
  • iparág (földrajzi információs problémák, matematikai modellezés)

és sokan mások…

A magas rendelkezésre állású rendszereknek minősülő klasztereket mindenhol használják, ahol az esetleges állásidő költsége meghaladja a fürtrendszer felépítéséhez szükséges költségeket, például:

  • számlázási rendszerek
  • Banki műveletek
  • e-kereskedelem
  • cégvezetés stb...

A vegyes rendszerek egyesítik az első és a második jellemzőit. Elhelyezésükkor meg kell jegyezni, hogy a nagy teljesítményű és magas rendelkezésre állási paraméterekkel is rendelkező fürt teljesítményében minden bizonnyal veszít a nagy sebességű számítástechnikára összpontosító rendszerrel szemben, és az esetleges állásidőben a magas rendelkezésre állási módra összpontosító rendszerrel szemben.

A nagy teljesítményű klaszterek problémái


5. ábra Nagy sebességű klaszter

Szinte minden párhuzamos számítás-orientált feladatban lehetetlen elkerülni, hogy egyik részfeladatból a másikba adatokat kelljen átvinni.

Így egy nagy teljesítményű fürtrendszer teljesítményét a csomópontok és a köztük lévő kapcsolatok teljesítménye határozza meg. Ezen túlmenően ezeknek a kapcsolatoknak a sebességparamétereinek a rendszer általános teljesítményére gyakorolt ​​hatása az elvégzett feladat természetétől függ. Ha egy feladat gyakori adatcserét igényel a részfeladatokkal, akkor maximális figyelmet kell fordítani a kommunikációs interfész sebességére. Természetesen minél kevésbé hatnak egymásra egy párhuzamos feladat részei, annál kevesebb időbe telik a végrehajtása. Ez bizonyos követelményeket támaszt a párhuzamos feladatok programozásával kapcsolatban is.

A részfeladatok közötti adatcsere fő problémái abból fakadnak, hogy a központi processzor és a csomópont RAM-ja közötti adatátvitel sebessége jelentősen meghaladja a számítógépek közötti interakciós rendszerek sebességi jellemzőit. Ráadásul a processzorok gyorsítótárának és a csomópontok közötti kommunikáció sebességének különbsége erősen befolyásolja a rendszer működésének változását a nálunk megszokott SMP rendszerekhez képest.

Az interfészek teljesítményét két paraméter jellemzi: a folyamatos adatfolyam áteresztőképessége és az időegység alatt továbbítható legkisebb csomagok maximális száma. A kommunikációs interfészek megvalósításának lehetőségeit a „Nagy teljesítményű fürtök megvalósításának eszközei” részben fogjuk megvizsgálni.

A klaszterrendszerek magas rendelkezésre állásának problémái

Napjainkban a magas rendelkezésre állású rendszerek többféle típusa elterjedt a világon. Közülük a fürtrendszer olyan technológiák megtestesülése, amelyek magas szintű hibatűrést biztosítanak a legalacsonyabb költségek mellett. A klaszter hibatűrését az összes létfontosságú komponens megkettőzése biztosítja. A leginkább hibatűrő rendszernek ne legyen egyetlen pontja, azaz aktív eleme, amelynek meghibásodása a rendszer funkcionalitásának elvesztéséhez vezethet. Ezt a jellemzőt általában NSPF-nek (No Single Point of Failure) nevezik.


6. ábra: Klaszterrendszer hibapontok nélkül

A magas rendelkezésre állású rendszerek kiépítésénél a fő cél a minimális állásidő biztosítása.

Ahhoz, hogy a rendszer magas rendelkezésre állási mutatókkal rendelkezzen, szükséges:

  • hogy alkatrészei a lehető legmegbízhatóbbak legyenek
  • ahhoz, hogy hibatűrő legyen, kívánatos, hogy ne legyenek meghibásodási pontjai
  • és az is fontos, hogy könnyen karbantartható és lehetővé tegye az alkatrészek megállás nélküli cseréjét

Ezen paraméterek bármelyikének figyelmen kívül hagyása a rendszer működésének elvesztéséhez vezethet.

Nézzük meg röviden mindhárom pontot.

Ami a maximális megbízhatóságot illeti, ez magas és ultra-magas integrációjú elektronikus alkatrészek felhasználásával történik, fenntartva a normál működési feltételeket, beleértve a termikusakat is.

A hibatűrést speciális komponensek (ECC, Chip Kill memóriamodulok, hibatűrő tápegységek stb.), valamint klaszterezési technológiák alkalmazásával biztosítják. A fürtözésnek köszönhetően olyan működő séma érhető el, ahol az egyik számítógép meghibásodása esetén a feladatok újraelosztásra kerülnek a megfelelően működő fürtcsomópontok között. Sőt, a fürtszoftver-gyártók egyik legfontosabb feladata, hogy meghibásodás esetén minimális rendszer-helyreállítási időt biztosítsanak, hiszen a rendszerhibatűrésre pontosan az úgynevezett nem tervezett leállások minimalizálása érdekében van szükség.

Sokan elfelejtik, hogy a nagy rendelkezésre állású rendszerek egyik legfontosabb paramétere a könnyű karbantartás, ami a tervezett állásidő csökkentését szolgálja (például a meghibásodott berendezések cseréje). És ha a rendszer nem teszi lehetővé az alkatrészek cseréjét a teljes komplexum leállítása nélkül, akkor a rendelkezésre állási arány csökken.

Vegyes architektúrák


7. ábra: Nagy sebességű feladatátvevő fürt

Manapság gyakran találkozhatunk vegyes fürtarchitektúrákkal, amelyek egyszerre magas rendelkezésre állású rendszerek és nagy sebességű fürtarchitektúrák, amelyekben az alkalmazási feladatok rendszercsomópontok között vannak elosztva. Egy hibatűrő komplexum jelenléte, amelynek sebessége új csomópont hozzáadásával növelhető, a legoptimálisabb megoldásnak tekinthető a számítási rendszer felépítése során. De az ilyen vegyes klaszterarchitektúrák felépítésének már maga a sémája is ahhoz vezet, hogy nagyszámú drága komponens kombinálására van szükség a nagy teljesítmény és a redundancia egyidejű biztosítása érdekében. És mivel egy nagy teljesítményű fürtrendszerben a legdrágább komponens a nagysebességű kommunikációs rendszer, ennek megkettőzése jelentős pénzügyi költségekkel jár. Meg kell jegyezni, hogy a magas rendelkezésre állású rendszereket gyakran használják olyan OLTP-feladatokhoz, amelyek optimálisan működnek szimmetrikus többprocesszoros rendszereken. Az ilyen fürtrendszerek megvalósítása gyakran 2 csomópontos opciókra korlátozódik, amelyek elsősorban a magas rendelkezésre állás biztosítását célozzák. A közelmúltban azonban népszerű megoldássá vált az olcsóbb, több mint kettőből álló rendszerek használata vegyes HA/HP fürtrendszerek építéséhez.

Ezt különösen a The Register ügynökség oldalán közzétett információ erősíti meg:

"Az Oracle Corporation elnöke bejelentette, hogy a közeljövőben a három Unix szervert, amelyeken a vállalat üzleti alkalmazásainak nagy része fut, egy Linux operációs rendszert futtató Intel processzorokon alapuló szerverblokk váltja fel. Larry Ellison ragaszkodik ahhoz, hogy a A fürttámogatás csökkenti a költségeket és növeli a hibatűrést, amikor alkalmazásokkal és adatbázisokkal dolgozik."

Eszközök a nagy teljesítményű klaszterek megvalósításához

Napjaink legnépszerűbb kommunikációs technológiái a fürtarchitektúrán alapuló szuperszámítógépek építésére a következők:

Myrinet, Virtual Interface Architecture (a Giganet cLAN-ja az első kereskedelmi hardvermegvalósítások egyike), SCI (Scalable Coherent Interface), QsNet (Quadrics Supercomputers World), memóriacsatorna (a Compaq Computer és az Encore Computer Corp által fejlesztett), valamint a kút - ismert Fast Ethernet és Gigabit Ethernet.


8. ábra: Folyamatos adatfolyam átviteli sebesség


9. ábra Nulla hosszúságú csomag átviteli ideje

Ezek a diagramok (8. és 9. ábra) lehetővé teszik a különböző technológiák hardveres implementációinak teljesítményét, de nem szabad elfelejteni, hogy valós feladatoknál és különféle hardverplatformok használatakor a várakozási idő és az adatátviteli sebesség 20-40%. , és néha 100%-kal rosszabb, mint a lehetséges maximális.

Például, ha MPI-könyvtárakat használ cLAN kommunikációs kártyákhoz és Intel alapú szerverekhez PCI busszal, a tényleges csatorna átviteli sebesség 80-100 MByte/sec, a késleltetés körülbelül 20 μs.

A nagy sebességű interfészek, például az SCI használata során felmerülő egyik probléma az, hogy a PCI architektúra nem alkalmas az ilyen típusú nagy sebességű eszközökkel való munkavégzésre. De ha újratervezi a PCI Bridge-et, hogy egyetlen adatátviteli eszközre összpontosítson, akkor ez a probléma megoldódik. Ilyen megvalósítások előfordulnak egyes gyártók megoldásaiban, például a SUN Microsystemsnél.

Így a nagy sebességű klaszterrendszerek tervezésekor és teljesítményük kiszámításakor figyelembe kell venni a fürtcsomópontokban az adatok feldolgozásával és továbbításával kapcsolatos teljesítményveszteségeket.

1. táblázat: A nagy sebességű kommunikációs interfészek összehasonlítása

TechnológiaÁtviteli sebesség MByte/sKésési idő µs/csomagEgy kártya/kapcsoló ára 8 porthozPlatform támogatásEgy komment
Gyors Ethernet12.5 158 50/200 Linux, UNIX, WindowsAlacsony árak, népszerű
Gigabit Ethernet125 33 150/3500 Linux, UNIX, WindowsA modernizáció kényelme
Myrinet245 6 1500/5000 Linux, UNIX, WindowsNyílt szabvány, népszerű
VI (cLAN a Giganettől)150 8 800/6500 Linux, WindowsAz első hardver ipari megvalósítás VI
SCI400 1.5 1200/5000 * Linux, UNIX, WindowsSzabványosított, széles körben használt
QsNet340 2 N/A**True64 UNIXAlphaServer SC és Quadrics rendszerek
Memória csatorna100 3 N/ATrue64 UNIXCompaq AlphaServerben használatos

* Az SCI hardver (és támogató szoftver) lehetővé teszi az úgynevezett MASH topológiák felépítését kapcsolók használata nélkül

** nincs adat


10. ábra Szorosan csatolt többprocesszoros rendszer aszimmetrikus memória-hozzáféréssel

Az alacsony késleltetést biztosító kommunikációs interfészek egyik érdekessége, hogy használhatók NUMA architektúrájú rendszerek, valamint többprocesszoros SMP rendszereket szoftver szinten szimulálni képes rendszerek. Egy ilyen rendszer előnye, hogy használhatunk szabványos operációs rendszereket és SMP-megoldásokhoz tervezett szoftvereket, de a processzorok közötti kommunikáció magas, az SMP-hez képest többszörös késleltetése miatt egy ilyen rendszer teljesítménye nem lesz megfelelő. nehéz megjósolni.

Párhuzamosító eszközök

Számos különböző megközelítés létezik a párhuzamos számítási rendszerek programozására:

  • szabványos, széles körben használt programozási nyelvekben kommunikációs könyvtárak és interfészek segítségével a processzorok közötti kommunikáció szervezésére (PVM, MPI, HPVM, MPL, OpenMP, ShMem)
  • speciális párhuzamos programozási nyelvek és párhuzamos kiterjesztések használata (Fortran és C/C++, ADA, Modula-3 párhuzamos implementációi)
  • szekvenciális programok automatikus és félautomata párhuzamosítására szolgáló eszközök használata (BERT 77, FORGE, KAP, PIPS, VAST)
  • programozás szabványos nyelveken speciális könyvtárak párhuzamos eljárásaival, amelyek bizonyos területeken felmerülő problémák megoldására összpontosítanak, például: lineáris algebra, Monte Carlo módszerek, genetikai algoritmusok, képfeldolgozás, molekuláris kémia stb. (ATLAS, DOUG, GALOPPS, NAMD, ScaLAPACK).

Számos olyan eszköz is létezik, amely leegyszerűsíti a párhuzamos programok tervezését. Például:

  • KÓD- Grafikus rendszer párhuzamos programok létrehozásához. Egy párhuzamos programot gráfként ábrázolunk, amelynek csúcsai a program egymást követő részei. A PVM és MPI könyvtárakat használják üzenetek továbbítására.
  • TRAPPER- A német Genias cég kereskedelmi terméke. Grafikus programozási környezet, amely párhuzamos szoftverek készítéséhez szükséges összetevőket tartalmaz.

A nagy sebességű fürtrendszerek felhasználóinak tapasztalatai szerint azok a programok működnek a leghatékonyabban, amelyek kifejezetten a processzorok közötti kommunikáció igényét figyelembe véve készültek. És bár az osztott memória interfészt vagy automatikus párhuzamosító eszközöket használó csomagokban való programozás sokkal kényelmesebb, manapság a leggyakoribb könyvtárak az MPI és a PVM.

Tekintettel az MPI (The Message Passing Interface) hatalmas népszerűségére, szeretnék egy kicsit mesélni róla.

Az "Üzenetátadási felület" egy szabvány, amely párhuzamos programok létrehozására szolgál, és üzenetküldési modellt használ. Léteznek MPI-megvalósítások a C/C++ és a Fortran számára ingyenes és kereskedelmi verziókban is a legtöbb elterjedt szuperszámítógépes platformhoz, beleértve a Unix, Linux és Windows csomópontokra épülő nagy teljesítményű fürtrendszereket. Az MPI Fórum () felelős az MPI szabványosításáért. A 2.0-s szabvány új verziója számos új érdekes mechanizmust és eljárást ír le a párhuzamos programok működésének megszervezésére: dinamikus folyamatvezérlés, egyirányú kommunikáció (Put/Get), párhuzamos I/O. Sajnos azonban a szabvány ezen verziójának még nincs teljes kész implementációja, bár néhány újítást már aktívan alkalmaznak.

Az MPI funkcionalitásának értékelésére szeretném figyelmébe ajánlani a lineáris egyenletrendszerek megoldási feladatának számítási idejének grafikonját a klaszterben részt vevő processzorok számától függően. A fürt Intel processzorokra és SCI (Scalable Coherent Interface) csomópontok közötti kapcsolatrendszerre épül. Természetesen ez egy speciális probléma, és a kapott eredményeket nem szabad általános modellként értelmezni a kívánt rendszer teljesítményének előrejelzésére.


11. ábra Lineáris egyenletrendszerek megoldási feladatának számítási idejének függősége a klaszterben lévő processzorok számától függően

A grafikonon a kísérlet eredményeként kapott két görbe, a kék - lineáris gyorsulás és a piros - látható. Vagyis minden új csomópont használatának eredményeként a lineárisnál nagyobb gyorsulást kapunk. A kísérlet szerzője azt állítja, hogy ilyen eredményeket a gyorsítótár hatékonyabb felhasználásának köszönhetünk, ami meglehetősen logikus és érthető. Ha valakinek van ötlete, ötlete ezzel kapcsolatban, azt megköszönném, ha megosztaná (e-mail címem: [e-mail védett]).

Eszközök a magas rendelkezésre állású fürtök megvalósításához

A magas rendelkezésre állású klaszterek a következőkre oszthatók:

  • Shared Nothing Architecture (architektúra erőforrás-megosztás nélkül)
  • Megosztott lemez architektúra


12. ábra Megosztott szabad architektúra

A nem szálas architektúra nem használ megosztott tárhelyet. Használata során minden csomópontnak saját lemezmeghajtója van, amelyek nincsenek megosztva a fürtrendszer csomópontjai között. Valójában csak a kommunikációs csatornák vannak elválasztva hardver szinten.


13. ábra: Megosztott lemez architektúra

A megosztott lemezes architektúrát klasszikusan nagy mennyiségű adat feldolgozását célzó, magas rendelkezésre állású fürtrendszerek építésére használják. Egy ilyen rendszer megosztott adattároló rendszerből és fürtcsomópontokból áll, amelyek elosztják a megosztott adatokhoz való hozzáférést. Ha nagy a tárolókapacitás, és amikor adatfeldolgozás-orientált feladatokkal dolgozik, a megosztott lemezekkel rendelkező architektúra hatékonyabb. Ebben az esetben nincs szükség az adatok több másolatának megőrzésére, és egyidejűleg, ha egy csomópont meghibásodik, a feladatok azonnal elérhetőek lehetnek más csomópontok számára.

Ha egy feladatban lehetséges az adatok logikai felosztása úgy, hogy a kérések egy bizonyos részhalmazából származó kérés feldolgozható legyen az adatok egy részének felhasználásával, akkor az erőforrás-megosztás nélküli rendszer hatékonyabb megoldás lehet.

Véleményem szerint érdekes a heterogén klaszterrendszerek felépítésének lehetősége. Például a Tivoli Sanergy szoftver lehetővé teszi olyan rendszerek létrehozását, amelyek képesek megosztani az adathozzáférést a heterogén csomópontok között. Egy ilyen megoldás nagyon hasznos lehet olyan rendszerekben, amelyek a szervezeten belüli videoinformációk vagy egyéb adatok kollektív feldolgozását végzik, ahol a megoldások szükséges köre egyszerűen nem létezik egyetlen platformon, vagy ahol már van egy megalapozott hardver- és szoftverpark, hatékonyabban kell használni.


14. ábra Heterogén klaszterrendszer

Manapság a legnépszerűbb kereskedelmi rendszerek a két csomópontból álló feladatátvevő fürtök. Léteznek Aktív-Aktív és Aktív-Passzív modellek a hibatűrő fürtrendszerek megvalósítására a szoftvererőforrások elosztásával kapcsolatban.


15. ábra Aktív-aktív modell

Az Active-Active modellben gyakorlatilag egy hibatűrő megoldással együtt egy nagy sebességű megoldást kapunk, hiszen egy feladat több szerveren fut egyszerre. Ez a beállítás például az Oracle Prallel Server, MS SQL 2000, IBM DB2 rendszerekben valósul meg. Vagyis egy ilyen modell megvalósítása csak akkor lehetséges, ha az alkalmazásszoftver a fürt módban való működésre fókuszál (kivéve a megosztott RAM-mal rendelkező fürtrendszereket). Az Active-Active modellben lehetőség van egy feladat sebességének skálázására egy új csomópont hozzáadásával, ha természetesen a szoftver támogatja a szükséges számú csomópontot. Például az Oracle Parallel Server 8.0.5 támogatja a 2–6 csomópontból álló fürtön történő működést.


16. ábra: Aktív-aktív fürt 3 csomóponton

A felhasználók nagyon gyakran találkoznak ezzel a problémával, amikor a kész szoftvermegoldások hibatűrő működését kell biztosítaniuk. Sajnos az Active-Active modell ebben az esetben nem működik. Ilyen helyzetekben olyan modellt használnak, amely biztosítja a sikertelen csomóponton futó feladatok más csomópontokra való áttelepítését. Így egy Active-Passive implementációt kapunk.


17. ábra Aktív-passzív modell

Tekintettel arra, hogy sok esetben a felelősségi körök elosztásával egy feladatot többre is feloszthatunk, illetve azt is, hogy általában egy vállalkozásnak sokféle feladatot kell ellátnia, az úgynevezett pszeudoaktív-aktív klaszterrendszer modell kerül bevezetésre.


18. ábra Pszeudoaktív-aktív fürt 3 csomóponton

Ha több szoftvererőforrás hibatűrő működését kell biztosítania, akkor csak adjon hozzá egy új csomópontot a rendszerhez, és futtassa a szükséges feladatokat a fürtön, amelyek ha ez a csomópont meghibásodik, egy másik csomóponton hajtódnak végre. Ezt a modellt a Caldera OpenUnix és Unixware ReliantHA szoftverében valósították meg, amely támogatja a 2-4 csomópont közötti fürtözést, az MSCS (Microsoft Cluster Service) és a Linux Failover Cluster modellekben.

A hibatűrő fürtrendszerek kommunikációs rendszere ugyanarra a berendezésre építhető, mint a nagysebességű klasztereknél. Megosztott lemezmeghajtóval rendelkező architektúra megvalósítása esetén azonban nagy sebességű hozzáférést kell biztosítani egy megosztott adattároló rendszerhez. Ennek a problémának manapság számos lehetséges megoldása van.

Ha a legegyszerűbb 2-csomópontos modellt használjuk, akkor a lemezekhez való hozzáférés egy közös SCSI-buszhoz való közvetlen csatlakozáson keresztül építhető fel,


19. ábra Architektúra közös SCSI busszal

vagy önálló lemezalrendszer használata beépített SCSI-SCSI vezérlővel. Ez utóbbi esetben a lemezek a lemezalrendszer belső független csatornáihoz csatlakoznak.


20. ábra: Lehetőség SCSI-SCSI lemez alrendszer használatával

Az SCSI-SCSI lemez alrendszert használó opció méretezhetőbb, funkcionálisabb és hibatűrőbb. Annak ellenére, hogy van egy másik híd a csomópont és a lemezek között, egy ilyen rendszer sebessége általában nagyobb, mivel telefonos hozzáférést kapunk a meghajtóhoz (a helyzet hasonló a hub használatához és a helyi hálózat bekapcsolásához ). Ellentétben a lemezekhez való hozzáférés közös SCSI-buszon való megosztásának lehetőségével, a különálló, független lemezalrendszerrel is kényelmesen, hibapontok nélkül lehet rendszereket felépíteni, és több csomópontból álló konfigurációkat is fel lehet építeni.

A közelmúltban az SCSI protokoll új soros interfésze - FC (Fibre Channel) - kezdett népszerűvé válni. Az úgynevezett tárolóhálózatok - SAN (Storage Area Network) - az FC alapján épülnek fel.


21. ábra: Fibre Channel alapú SAN-t használó fürtrendszer

A Fibre Channel fő előnyei közé tartozik szinte minden funkciója.

  • Magas adatátviteli sebesség
  • Protokollfüggetlenség (0-3 szint)
  • Nagy távolságok a pontok között
  • Alacsony késleltetés rövid csomagok továbbításakor
  • Nagy adatátviteli megbízhatóság
  • Gyakorlatilag korlátlan méretezés
  • Többpontos topológiák

A Fibre Channel ezeket a figyelemre méltó tulajdonságokat annak köszönheti, hogy tervezésében mind a csatorna-, mind a hálózati interfészek szakértői részt vettek, és mindkettő pozitív tulajdonságait egy FC interfészben tudták ötvözni.

Az FC jelentőségének megértéséhez összehasonlító táblázatot adok az FC és a párhuzamos SCSI interfész között.

2. táblázat. Az FC és a párhuzamos SCSI interfész összehasonlító jellemzőinek táblázata

Manapság az FC-eszközök drágábbak, mint a párhuzamos SCSI-eszközök, de az árkülönbség az utóbbi időben erősen csökkent. A lemezek és az adattároló rendszerek költsége már majdnem megegyezik a párhuzamos SCSI-megvalósításokkal, csak az FC adapterek biztosítanak jelentős költségkülönbséget.

Van egy másik nagyon érdekes lehetőség a fürt architektúra megvalósítására - egy fürtrendszer megosztott memóriával (beleértve a RAM-ot is) Megosztott memóriafürt. Valójában ez a klaszter egy közepesen csatolt többprocesszoros rendszerben és egy szorosan csatolt rendszerben is működhet. Egy ilyen rendszert, mint a cikk elején említettük, NUMA-nak hívják.


22. ábra: Osztott memória fürt modell

Az osztott memória-fürt olyan szoftvert (fürtszolgáltatást) használ, amely egyetlen rendszerképet biztosít, még akkor is, ha a fürt erőforrás-allokáció nélküli architektúraként épül fel, amelyet ennek megfelelően az operációs rendszer lát.

A magas rendelkezésre állású fürtrendszerekről szóló történet lezárásaként szeretnék statisztikát közölni a különböző rendszerek leállási idejéről.


23. ábra Különböző rendszerek átlagos állásidejének összehasonlítása

Bemutatjuk az átlagadatokat, valamint az egyik gyártó cég reklámanyagaiból vett adatokat, tehát ezeket bizonyos fokú kritikussággal kell kezelni. Az általuk leírt általános kép azonban teljesen helytálló.

Mint látható, a magas rendelkezésre állású fürtrendszerek nem jelentenek csodaszert az állásidő minimalizálására. Ha a rendszerleállás rendkívül kritikus, akkor a hibatűrő vagy a folyamatos rendelkezésre állási osztályba tartozó rendszereket kell használni, amelyek rendelkezésre állási tényezője egy nagyságrenddel magasabb, mint a magas rendelkezésre állási osztályú rendszereké.

Példák bevált megoldásokra

Mivel minden technológia sikerét a gyakorlati felhasználási példák igazolják, konkrét lehetőségeket szeretnék bemutatni több, véleményem szerint legfontosabb klaszteres megoldás megvalósítására.

Először is a nagy sebességű klaszterekről.

Az egyik leghasznosabb példa szerintem, hogy a világ legerősebb szuperszámítógépei listájának 18. kiadásában az első helyeket, sőt a legtöbb helyet az IBM SP2 és a Compaq AlphaServer SC rendszerei foglalják el. Mindkét rendszer masszívan párhuzamos számítási rendszer (MPP), amelyek szerkezetileg hasonlóak a nagy teljesítményű fürtmegoldásokhoz.

Az IBM SP2 RS/6000 gépeket használ csomópontként, amelyeket egy SP Switch2 köt össze. A kapcsoló átviteli sebessége egy irányban 500 MB/s, a késleltetés 2,5 μsec.

Compaq AlphaServer SC. A csomópontok 4 processzoros rendszerek, mint például a Compaq AlphaServer ES45, amelyek QsNet kommunikációs interfészen keresztül kapcsolódnak össze, amelyek paramétereit fentebb említettük.

Ugyanezen szuperszámítógép-listán megtalálhatók a szokásos Intel platformokra és SCI- és Myrinet-kapcsolókra épített gépek, sőt még a hagyományos Fast és Gigabit Ethernet is. Sőt, mind az első két opcióban, mind a közönséges berendezésekre épített nagysebességű fürtrendszereken MPI-csomagokat használnak a programozáshoz.

És végül egy szép példát szeretnék hozni egy méretezhető, magas rendelkezésre állású fürtrendszerre. Egy fürtmegoldás hardvermodellje az IBM DB/2 adatbázis hibatűrő nagy sebességű feldolgozásához.


24. ábra: IBM DB2 fürt

Ez minden. Ha valakinek kérdése, tanácsa vagy csevegési kedve van, szívesen fogadjuk. Koordinátáimat a cikk végén találod.

Irodalom

  • „Párhuzamos architektúrák méretezése”, Greg Pfister, az IBM vezető műszaki szakértője.
  • „Lehetséges a hibatűrés a Windows számára?” - Natalya Pirogova, az Open Systems kiadó anyagai.
  • "Feladat párhuzamosítási rendszerek használata lazán csatolt klaszterben" - M.N.Ivanov.
  • „A Stratus cég hibatűrő számítógépei” – Victor Shnitman, az Open Systems kiadó anyagai.
  • „Modern nagy teljesítményű számítógépek” - V. Shnitman, az Információs Technológiai Központ információs és elemző anyagai.
  • "Egy lépés az adattároló hálózatok felé", a YUSTAR cég információs és elemző anyagai.
  • „A virtuális interfész architektúra evolúciója” – Thorsten von Aiken, Werner Vogels, az Open Systems kiadó anyagai.
  • A "Research Computing Center MSU" Párhuzamos Információs Technológiák Laboratóriumának anyagai.
  • Materials Cluster Computing Info Center.
  • SCI Europe anyagok.
  • A VI Forum (Virtual Architecture Developers Forum) anyagai.
  • Kaldera anyagok.
  • Delfin anyagok.
  • Emulex anyagok.
  • Anyagok az Intel Americas, Inc. részlegétől, a KAI Software-től. (KAI).
  • Anyagok a Myricom, Inc.-től.
  • Oracle anyagok.
  • Intel műszaki támogatási ajánlások.

Top