Mitä ovat klusterijärjestelmien PC-viestit. Klusterijärjestelmät: Tiivistelmä: Tietokoneet ja oheislaitteet. Veritas Cluster Server -ohjelmistokomponentit

Klusterilaskenta ei ole uusi ala. Kiinnostus niitä kohtaan on kuitenkin viime aikoina lisääntynyt merkittävästi - monet organisaatiot pitävät klustereita pääasiallisena työkaluna ratkaista ongelmia, kuten sovellusten suorituskyvyn lisääminen, korkean käytettävyyden varmistaminen sekä tietokonejärjestelmiensä korkea skaalattavuus.

Klusteriteknologian viime vuosikymmenen kehitys on mahdollistanut halpojen tietokoneiden käytön niiden rakentamiseen. Tällaisten klustereiden kustannustehokkuus, laskentateho ja joustavuus ovat tehneet niistä houkuttelevan vaihtoehdon perinteisiin supertietokoneisiin perustuvalle keskitetylle laskentamallille (tässä sanalla "klusteri" tarkoitamme massatuotetta, toisin kuin "erikoistilaus". ”).

Klusterit nousivat edulliseksi ja tehokkaaksi vaihtoehdoksi yksikoteloisille supertietokoneille, joilla on alkuperäinen suljettu arkkitehtuuri. Valmiisiin komponentteihin rakennettuja niitä käytetään laajalti korkean suorituskyvyn laskennassa, saatavuudessa ja skaalautumisessa. Ja jos ensimmäinen mahdollisuus kiinnostaa pääasiassa akateemisia piirejä, niin kaksi viimeistä ovat erittäin houkuttelevia kaikenkokoisille yrityksille. Eikä vain houkutteleva, vaan myös edullinen.

Nykyään halvan klusterin massatuotannossa olevista komponenteista voi koota melkein mikä tahansa itseään kunnioittava tietokoneyritys, ja sellaisen klusterin käyttöjärjestelmän, kuten Windows Computing Cluster Server 2003, julkaisun myötä, joka mahdollistaa melko yksinkertaisen asennuksen, lähtötason klusteriratkaisut ovat tulossa pienten ja keskisuurten yritysten saataville. Eikä ehkä vaikuta kohtuuttomalta olettaa, että laitteisto- ja ohjelmistokomponenttien ja nopeiden verkkoteknologioiden pysyvä hintojen lasku tekee pian lähtötason klustereista minkä tahansa mittakaavan tietojärjestelmien yleisen elementin.

Siksi klusterilaskentaan omistettuun viikon aiheeseen yritimme sisällyttää yleiskatsauksen lisäksi myös artikkeleita tietyistä tuotteista, joille Ukrainan liike-elämässä on lähitulevaisuudessa epäilemättä kysyntää. Erityisesti lukija löytää täältä sekä Testilaboratoriossamme suoritetun käytännön oppitunnin että kuvauksen Windows Computing Cluster Server 2003/2008 -klusterikäyttöjärjestelmistä, joilla on kaikki mahdollisuudet tulla suosituiksi.

Ensinnäkin muistetaan klusterin määritelmä. Tämä on paikallisen (toisin kuin hajautetun) laskentajärjestelmän nimi, joka koostuu useista itsenäisistä tietokoneista, jotka on yhdistetty toisiinsa tiedonsiirtokanavilla. Klusterin sijainti on siinä, että sen kaikki alijärjestelmät ovat "näkyvissä" yhdessä hallinnollisessa toimialueessa ja sitä hallitaan yhtenä laskentajärjestelmänä. Klusteriin kuuluvia tietokoneita kutsutaan solmuiksi. Tyypillisesti nämä ovat massatuotettuja yleistietokoneita, jotka voivat toimia itsenäisesti. Solmut voivat olla yhden tai moniprosessorin (SMP-konfiguraatio). Klassisessa suunnittelussa kaikki solmut jakavat ulkoisen muistin kiintolevyryhmässä, kun sovelluksia suoritetaan, käyttämällä sisäisiä kiintolevyjä erikoistuneempiin toimintoihin. Solmujen välisessä viestinnässä käytetään yleensä jotain standardiverkkotekniikkaa, vaikka tämä ei sulje pois erikseen kehitettyjä viestintäkanavia. Klusteriverkko on erillinen - se on eristetty ulkoisesta verkkoympäristöstä.

Luokitus

Klusterit voidaan luokitella eri kriteerien mukaan, mutta useimmiten ne jaetaan kolmeen kategoriaan, jotka määräytyvät sovelluksen luonteen ja tarkoituksen mukaan.

High Availability (HA) -klusterit. Joskus niitä kutsutaan myös vikasietoisiksi. Tällaiset klusterit on suunniteltu tarjoamaan loppukäyttäjille keskeytymätön pääsy dataan tai palveluihin (tyypillisesti verkkopalveluihin). Tyypillisesti yksi sovelluksen esiintymä toimii yhdessä solmussa, ja kun tämä solmu ei ole käytettävissä, toinen solmu ottaa sen hallinnan (kuva 1). Tämä arkkitehtuuri mahdollistaa myös korjaukset ja ennaltaehkäisevät huollot keskeyttämättä palveluita. Lisäksi jos yksi solmu epäonnistuu, palvelu voidaan palauttaa vaikuttamatta muiden käytettävyyteen. Totta, järjestelmän suorituskyky heikkenee.

Korkean käytettävyyden klusterit ovat paras valinta kriittisten sovellusten tai tietokantojen, sähköpostin, tiedostojen, tulostus-, web- ja sovelluspalvelimien ajamiseen. Toisin kuin hajautettu ja rinnakkaislaskenta, nämä klusterit mahdollistavat helposti ja läpinäkyvästi organisaatioiden olemassa olevat ei-klusterikohtaiset sovellukset, jolloin verkko voi laajentua saumattomasti liiketoiminnan kasvaessa.

Kuormituksen tasapainotusklusterit. Tämäntyyppinen klusteri jakaa saapuvat pyynnöt useille solmuille, jotka käyttävät samoja ohjelmia tai isännöivät samaa sisältöä (kuva 2). Jokainen solmu pystyy käsittelemään samaa sovellusta tai sisältöä koskevia pyyntöjä. Jos jokin solmuista epäonnistuu, pyynnöt jaetaan uudelleen muiden kesken. Tyypillisesti tällaisia ​​klustereita käytetään web-hostingissa.

Molemmat edellä käsitellyt klusteriteknologiat voidaan yhdistää sovellusten luotettavuuden, saatavuuden ja skaalautuvuuden lisäämiseksi.

Klusterit tehokkaaseen tietojenkäsittelyyn (High-Performance Cluster, HPC). Perinteisesti rinnakkaislaskentaa suoritettiin moniprosessorijärjestelmissä, jotka on suunniteltu erityisesti tähän tarkoitukseen. Niissä monet prosessorit jakoivat yhteisen muistin ja väylärajapinnan yhdessä tietokoneessa. Nopean kytkentätekniikan tultua mahdolliseksi yhdistää tietokoneita klustereiksi rinnakkaislaskentaa varten.

Rinnakkaisklusteri on järjestelmä, joka käyttää useita solmuja laskelmien rinnakkaisemiseen tietyn ongelman ratkaisemiseksi. Toisin kuin kuormituksen tasapainotus ja korkean käytettävyyden klusterit, jotka jakavat pyynnöt/tehtävät niitä kokonaisuutena käsittelevien solmujen kesken rinnakkaisympäristössä, pyyntö jaetaan useisiin alitehtäviin, jotka puolestaan ​​jaetaan käsittelyä varten klusterin solmujen kesken. Rinnakkaisklustereita käytetään pääasiassa sovelluksissa, jotka vaativat intensiivisiä matemaattisia laskelmia.

Klusterin komponentit

Klusterien perusrakennusosat (komponentit) on jaettu useisiin luokkiin: itse solmut, klusteriohjelmistot, solmujen välillä dataa vaihtava verkko ja vastaavat verkkoprotokollat.

Solmut

Suunnittelusolmut ovat siirtyneet perinteisestä jalustakotelosta yksitelineisiin moniprosessorijärjestelmiin ja korttipalvelimiin, jotka tarjoavat suuremman prosessoritiheyden tiukassa ympäristössä.

Viime aikoina prosessorien suorituskyky, muisti, kiintolevyjen käyttönopeus ja niiden kapasiteetti ovat lisääntyneet merkittävästi. On mielenkiintoista huomata, että tämän, joissakin tapauksissa eksponentiaalisen suorituskyvyn kasvun myötä näiden tekniikoiden kustannukset ovat laskeneet merkittävästi.

Tyypillisessä tapauksessa klusterin solmu voi olla ohjaussolmu (master) tai laskentasolmu (orja) (kuva 3). Pääsolmuja voi olla vain yksi. Se vastaa klusterin toiminnasta ja on myös avain klusterin väliohjelmistoon, reititysprosesseihin, lähettämiseen ja kunkin laskentasolmun tilan valvontaan. Jälkimmäiset suorittavat laskelmia ja operaatioita tiedontallennusjärjestelmän kanssa. Nämä solmut ovat pohjimmiltaan täysin toimivia itsenäisiä tietokoneita, ja ne myydään tyypillisesti pöytäkoneina tai palvelimina.

Ohjelmisto

Kuten tavallinen pöytätietokone, klusterin käyttöjärjestelmä on jokaisen solmun sydän. Se on näkymättömästi läsnä minkä tahansa käyttäjän toiminnan aikana, olipa kyseessä tiedostojärjestelmän käyttö, viestien lähettäminen tai lisäprosessin käynnistäminen. Käyttäjät voivat valita erilaisia ​​ohjelmointiparadigmoja tai väliohjelmistoja, mutta klusterin käyttöjärjestelmä on kaikille sama.

Tyypillinen käyttöjärjestelmän suunnitteluluonnos on esitetty taulukossa. Se näyttää perinteisen solmun peruslohkot. Klusterikäyttöjärjestelmän ensisijainen rooli on ensisijaisesti multipleksoida useita käyttäjäprosesseja yhdeksi laitteistokomponenttijoukoksi (resurssienhallinta) ja tarjota hyödyllisiä abstraktioita korkean tason ohjelmistoille. Jotkut näistä abstraktioista sisältävät muistin rajojen suojauksen, prosessin/säikeen ja viestinnän koordinoinnin sekä laitehallinnan. On huomattava, että useimmat klusterikohtaiset toiminnot suoritetaan väliohjelmistolla. Ja tähän on syitä. Itse asiassa klusterin käyttöjärjestelmä on melko monimutkainen, eikä aina ole selvää, kuinka tehdyt muutokset vaikuttavat muihin järjestelmiin. Siksi on parempi tehdä tarvittavat muutokset väliohjelmistotasolla, ja siihen lisätyt uudet toiminnot voidaan siirtää muihin käyttöjärjestelmiin.

Yllä olevassa klusterin määritelmässä mainittiin, että se näkyy järjestelmänvalvojalle ja käyttäjälle yhtenä laskentajärjestelmänä. Tämä saavutetaan käyttämällä Yksi järjestelmäkuva (SSI). Se piilottaa käytettävissä olevien resurssien heterogeenisen ja hajautetun luonteen ja esittelee ne käyttäjille ja sovelluksille yhtenä laskentaresurssina. SSI voidaan toteuttaa yhdellä tai useammalla seuraavista tasoista: laitteisto, käyttöjärjestelmä, väliohjelmisto ja/tai sovellus. Tässä on esimerkki useista SSI-klusterin tarjoamista avainpalveluista:

  • yksi pääsypiste;
  • yhtenäinen käyttöliittymä;
  • yhden prosessin tilaa;
  • yksi muisti ja I/O-tila;
  • yhtenäinen tiedostohierarkia;
  • yksi ainoa valvonta- ja hallintapiste.

Järjestelmät, kuten Digital/Compaq Memory Channel ja Distributed Shared Memory, tarjoavat SSI:n laitteistotasolla ja antavat käyttäjille mahdollisuuden tarkastella klusteria jaettuna muistijärjestelmänä. SCO UnixWare NonStop Cluster, Sun Solaris-MC, GLUNIX ja MOSIX käyttöjärjestelmät tukevat SSI:tä ytimen tasolla.

SSI:n käyttöönotolla kullakin edellä mainitulla tasolla on hyvät ja huonot puolensa. Näin ollen laitteistokerros voi tarjota korkeimman läpinäkyvyyden, mutta jäykän arkkitehtuurinsa ansiosta se ei ole yhtä joustava kuin järjestelmän laajennuksiin ja parannuksiin vaaditaan. Ydinkerros tarjoaa SSI:n sekä kehittäjille että loppukäyttäjille, mutta on liian kallista ja vaikeasti muokattavissa. Sovelluskerroksen tärkein etu ydinkerrokseen verrattuna on, että ensimmäisessä SSI toteutetaan vaiheittain ja käyttäjä saa ominaisuudet välittömästi, kun taas jälkimmäisessä tuote ei pääse markkinoille ennen kuin kaikki ytimen komponentit tukevat SSI:tä. Väliohjelmistokerros on kompromissi kahden edellä mainitun SSI-toteutusmekanismin välillä.

Verkkolaitteet ja protokollat

Julkisten klustereiden luominen oli mahdollista vain solmujen välisen viestinnän riittävien verkkotekniikoiden ansiosta. Julkiset klusterit sisältävät yhden tai useamman omistetun verkon viestipakettien lähettämiseksi hajautetun järjestelmän sisällä. Tämä erottaa klusterin itsenäisistä tietokoneista, jotka on löyhästi kytketty jaetun lähiverkon kautta.

Nykyään klusterikehittäjillä on runsaasti mahdollisuuksia valita verkkoteknologiaa. Koska klustereiden verkkolaitteiden kustannukset vaihtelevat "melkein tyhjästä" useisiin tuhansiin dollareihin solmua kohti, tämä ei välttämättä ole viimeinen komponentti tuotteen hintaa määritettäessä. Käytännössä on esimerkkejä erittäin tehokkaiden klustereiden rakentamisesta käyttämällä edullisia verkkolaitteita, jotka näkyvät tavallisessa lähiverkossa. Samalla yksittäiset, erityisesti klusteriviestintään suunnitellut verkkotuotteet ovat kustannuksiltaan verrattavissa työasemiin. Verkkoteknologian valinta riippuu useista tekijöistä: hinnasta, suorituskyvystä, yhteensopivuudesta muiden klusterin laitteistojen ja ohjelmistojen kanssa sekä klusterissa toimivien sovellusten viestintäominaisuuksista.

Verkon suorituskykyä kuvataan yleensä latenssilla ja kaistanleveydellä. Latenssi on aika, joka kuluu tietopyynnöstä sen vastaanottamiseen tai aika, joka kuluu tietojen siirtämiseen tietokoneelta toiselle, mukaan lukien viestin luomiseen tarvittava ohjelmisto ja aika, joka kuluu bittien siirtoon. Ihannetapauksessa klustereita varten kirjoitetuissa sovelluksissa pitäisi olla mahdollisimman vähän viestintää. Jos sovellus lähettää suuren määrän lyhytsanomia, sen suorituskyky riippuu verkon latenssista, mutta jos pitkiä viestejä vaihdetaan, sen suorituskyvyllä on suuri vaikutus tähän parametriin. Ilmeisesti sovelluksen suorituskyky on paras alhaisella latenssilla ja suurella kaistanleveydellä. Näiden kahden vaatimuksen täyttäminen edellyttää tehokkaita tiedonsiirtoprotokollia, jotka minimoivat ylikuormituksen ja nopeita verkkolaitteita.

Viestintä- tai verkkoprotokollat ​​määrittelevät säännöt ja käytännöt, joita kaksi tai useampi verkossa oleva tietokone käyttää tietojen vaihtamiseen. Ne voivat olla yhteyksiin perustuvia tai yhteydettömiä, tarjota eri luotettavuustasoja - täydellä toimitustakuulla ja ilman toimitustakuuta pakettien järjestyksessä, synkronisia (ilman puskurointia) ja asynkronisia (puskuroimalla).

Klusteriviestinnässä käytetään sekä perinteisiä, alun perin Internetiä (IP) varten kehitettyjä verkkoprotokollia että erityisesti luotuja. Lisäksi on olemassa kaksi suhteellisen uutta standardia, jotka on myös suunniteltu erityisesti klustereita varten. Emme viivyttele lukijoillemme varsin tutussa IP-protokollassa, emmekä muissakaan, koska ne ovat kaikki varsin spesifisiä. Listaamme vain heidän nimensä, jotta kiinnostuneet voivat kääntyä joko kirjallisuuden tai "kaikkitietävän" Internetin puoleen. Näitä ovat erityisesti Active Messages, Fast Messages, Virtual Memory Mapped Communication System, U-net ja Basic Interface for Parallelism protokollat. Katsotaanpa kahta standardia.

Vuoteen 1997 mennessä matalan latenssin protokollien tutkimus oli edennyt niin pitkälle, että se johti lopulta uuden standardin luomiseen klusteriviestinnälle, Virtual Interface Architecture (VIA). Samaan aikaan teollisuudessa kehitettiin standardeja jaetuille tallennusalajärjestelmille. Näiden ponnistelujen tulos oli InfiniBand.

VIA on viestintästandardi, joka kokoaa yhteen eri projektien parhaat saavutukset. Sen loi akateemisten ja teollisten kumppaneiden konsortio, mukaan lukien Intel, Compaq ja Microsoft. Heterogeenisiä laitteita tukeva versio VIA 1.1 tuli saataville vuoden 2001 alussa. Kuten nimestä voi päätellä, VIA perustuu virtuaalisen verkkorajapinnan konseptiin. Standardi edellyttää, että ennen viestin lähettämistä vastaanotto- ja lähetyspuskurit on allokoitava ja sidottava fyysiseen muistiin. Kun puskurit ja niihin liittyvät tietorakenteet on muodostettu, järjestelmäkutsuja ei tarvita. Vastaanotto- ja lähetystoiminnot käyttäjäsovelluksessa koostuvat kahvan kirjoittamisesta jonoon. Sovellus voi valita, odottaako vahvistusta toiminnon valmistumisesta vai jatkaako päätyötään sanoman käsittelyn aikana.

Vaikka VIA voidaan asettaa suoraan sovellusohjelmoinnin käyttöön, monet järjestelmäkehittäjät uskovat, että se on liian alhainen taso sovelluksille, koska viimeksi mainitun on vastattava fyysisen muistin osan varaamisesta ja sen tehokkaasta käytöstä. Useimpien käyttöjärjestelmä- ja väliohjelmistovalmistajien odotetaan tarjoavan VIA:lle käyttöliittymän, joka tukee sovellusohjelmointia. Niinpä useimmat tietokantatoimittajat toimittivat syksyllä 2000 tuotteistaan ​​VIA:n päällä toimivia versioita. Muita klusteriohjelmistoja, kuten tiedostojärjestelmiä, on tulossa nopeasti saataville.

InfiniBand-standardia tuki teollisuuskumppanien konsortio, mukaan lukien Compaq, Dell, HP, IBM, Intel, Microsoft ja Sun Microsystems. InfiniBand-arkkitehtuuri korvaa jaetun väylän, joka on nykyaikaisten tietokoneiden standardi I/O-järjestelmä, nopealla sarja-, kanavapohjaisella kankaalla. Kaikki järjestelmät ja laitteet yhdistetään kankaaseen käyttämällä isäntäkanavasovitinta (HCA), joka yhdistää isäntäprosessorin InfiniBand-kangasverkkoon, tai Target Channel Adapterilla (TCA), joka yhdistää InfiniBandin muihin I/O-laitteisiin, kuten Ethernetiin, Kuitukanavalla tai tallennusjärjestelmillä. InfiniBand-linkki on kaksisuuntainen ja toimii 2,5 Gb/s nopeudella yhteen suuntaan point-to-point topologiassa. Data lähetetään paketteina ja siirtotiloja on kuusi: luotettava ja epäluotettava yhteys, luotettava ja epäluotettava datagrammi, monilähetys ja raakapaketit ("raaka"-tila). Lisäksi InfiniBand tukee suoraa etäkäyttöä muistiin, jonka avulla yksi prosessori voi lukea tai kirjoittaa toisen muistiin.

Solmujen välistä viestintää tukevat verkkolaitteet voidaan luokitella neljään luokkaan - riippuen siitä, muodostetaanko yhteys I/O-väylään vai muistiväylään ja pääasiallisesta kommunikaatiotavasta - käyttämällä sanomia tai jaettuna. levymuisti.

Neljästä yhteenliittämisluokasta viestipohjaiset ja I/O-väyläjärjestelmät ovat yleisimpiä, koska ne tarjoavat selkeimmän liitännän tietokoneeseen. I/O-väylässä on ainakin laitteistokeskeytys, joka voi ilmoittaa prosessorille, että tiedot ovat valmiita luettavaksi. Tällaisia ​​järjestelmiä on toteutettu kaikissa yleisesti saatavilla olevissa verkkoteknologioissa sekä useissa viimeaikaisissa tuotteissa, jotka on suunniteltu erityisesti klusterilaskentaa varten.

Järjestelmät, joissa on I/O-väyläyhteys ja jaettu levymuisti, sisältävät tietokoneita, joissa on jaettu levyalijärjestelmä. Muistiliitännät ovat harvinaisempia, koska muistiväylä on yleensä suunniteltu eri tavalla jokaiselle tietokonetyypille. Monet tällaiset järjestelmät on kuitenkin toteutettu ohjelmistossa tai I/O-portin ja muistin välisen kuvausmekanismin, kuten muistikanavan, kautta.

Lisäksi on hybridijärjestelmiä, joissa yhdistyvät useiden luokkien ominaisuuksia, esimerkiksi InfiniBand mahdollistaa sekä datan lähettämisen levylle että viestien lähettämisen muihin solmuihin. Samoin Scalable Coherent Interface (SCI) voi myös käyttää molempia vaihtomekanismeja.

Klusteriverkot

Klusterijärjestelmäverkko voidaan rakentaa perinteisten lähiverkoissa käytettävien verkkotuotteiden pohjalta tai suunniteltu erityisesti klusterilaskentaa varten. Jälkimmäisessä tapauksessa se tarjoaa ylimääräistä laitteistotukea, joka vähentää latenssia.

Nykyään kytketyt Ethernet-tekniikat ovat alhaisten porttikustannusten ja rajapintojen standardoinnin ansiosta johtavat liitäntäjärjestelminä laajasti saatavilla olevissa klustereissa. Monet tietokoneet on varustettu sisäänrakennetuilla 1 GE -porteilla, sinun tarvitsee vain ostaa edullinen kytkin. Kasvaneiden vaatimusten vuoksi käytetään kuitenkin myös erikoisverkkoja. Niiden yksityiskohtainen kuvaus veisi meidät paljon mahdollisten rajojen yli, joten annamme täydellisyyden vuoksi vain hyvin lyhyttä tietoa yksittäisistä niistä.

Giganet (cLAN). cLAN (collapsed LAN) -tekniikka, jonka nyt omistaa Emulex, kehitettiin tukemaan VIA:ta laitteistossa. Tämä oli alan ensimmäinen VIA-standardin alkuperäinen laitteistototeutus. Verkon tärkeimmät ominaisuudet ovat seuraavat.

Viestintämallin alimmalla tasolla on epäkoherentti hajautettu jaettu muisti (DSM). Osa sovelluksen virtuaalisesta osoiteavaruudesta on loogisesti kartoitettu verkon yli toisen solmun fyysiseen muistiin. Tietoa siirretään sovellusten välillä kirjoittamalla jaetulle muistialueelle prosessorin vakiokirjoituskäskyjä käyttäen. Etäsolmun puskuria edustaa Remote Direct Memory Access -eväste, joka antaa omistajasolmulle luvan käyttää puskuria.

Myrinet. Tämän kaksisuuntaisen verkon toimittaa Myricom. Sitä käytetään laajasti monissa akateemisissa projekteissa, erityisesti Berkeley Network of Workstations -verkostossa (NOW). Fyysisesti verkko koostuu kahdesta valokaapelista (alavirran ja ylävirran puolella), jotka on kytketty isäntään yhteisen liittimen kautta. Tietokoneet yhdistetään reitittimien tai kytkimien avulla (nämä voidaan määrittää tarjoamaan redundantteja polkuja). Vaihto ilman pakettipuskurointia (cut-through) on tuettu, mikä mahdollistaa viestien siirtämisen päästä päähän mahdollisimman pienellä viiveellä. Myrinetissä on sisäänrakennettu ohjelmoitava prosessori - sen avulla voit kokeilla monia viestintäprotokollia.

Myrinet toteuttaa useita mekanismeja varmistaakseen vikasietoisuuden. Näitä ovat virtauksen ohjaus, virheenhallinta ja kanavien toimivuuden (sydämen lyönnin) tarkistaminen.

Uusin versio, niin sanottu neljännen sukupolven Myrinet 10G, tukee 10 Gb/s tiedonsiirtonopeutta kumpaankin suuntaan ja on yhteensopiva 10 GE:n kanssa PHY-tasolla. Verkon latenssi on erittäin alhainen - vain 5 µs.

QsNet. Tämän nopean, matalan latenssin verkon on kehittänyt Quadrics Supercomputers World (QSW). Rakenteellisesti QsNet sisältää kaksi alijärjestelmää:

  • verkkorajapinnan, joka koostuu yhdestä tai useammasta verkkosovittimesta kussakin solmussa;
  • moniväyläinen tietoverkko, joka yhdistää tietokoneet klusteriin.

Verkkoliitäntä perustuu mukautettuihin Elan-siruihin. Elan III -muunnos yhdistää erillisen I/O-prosessorin CPU:n purkamiseen, PCI-väylän (66 MHz, 64 bittiä), duplex-kanavan (400 MHz, 8 bittiä), muistinhallintayksikön (MMU), välimuistin ja paikallinen muistiliitäntä. Siru suorittaa kolmen tyyppisiä perustoimintoja:

  • etäluku ja kirjoitus;
  • tietojen suora siirto yhden prosessorin käyttäjän virtuaalisesta osoiteavaruudesta toiseen ilman synkronointia;
  • protokollan hallinta.

Verkko on rakennettu erityisten kytkimien pohjalta, jotka on yhdistetty erityiseen runkoon muodostaen paksun puutopologian (mitä lähempänä oksa on juurta, sitä paksumpi se on, eli sen kapasiteetti on suurempi).

Vuonna 2003 julkaistu verkkomuutos perustuu PCI-X 133 MHz väylään ja sen latenssi on 1,22 μs.

Scalable Coherent Interface (SCI). Tämä on ensimmäinen erityisesti klusterilaskentaa varten kehitetty yhteenliittämistekniikka, joka on saatettu standardiin. SCI-arkkitehtuuri perustuu point-to-point-yhteyksiin, pieniin pakettikokoihin ja split-tapahtumiin. IEEE 1596 -standardi julkaistiin vuonna 1992, ja siinä määriteltiin verkon fyysinen kerros ja sitä korkeammat verkkojaetulle jaetulle välimuistin koherentille (valinnaiselle) muistille. Korkeammilla tasoilla standardi kuvaa hajautetun, osoitinpohjaisen koherentin välimuistin suunnittelun. Tämä rakenne mahdollistaa SCI-etämuistin tallentamisen välimuistiin: aina kun etämuistissa olevia tietoja muutetaan, kaikki välimuistirivit kaikissa solmuissa, joihin ne on tallennettu, mitätöidään. SCI-etämuistin välimuistiin tallentaminen parantaa suorituskykyä ja mahdollistaa jaetun muistin suoran, läpinäkyvän ohjelmoinnin.

Nämä eivät tietenkään ole kaikki tekniikat, joiden perusteella voit rakentaa melko tehokkaan klusterin. Aloitustason klusterit käyttävät tyypillisesti erikoistumattomia ratkaisuja, jotka käyttävät perinteisiä verkkotekniikoita, kuten Ethernet, ATM tai Fibre Channel.

Nykyään markkinat tarjoavat laajan valikoiman klustereita, jotka eroavat prosessorien tyypistä ja nopeudesta, solmujen jakaman muistin koosta, solmujen yhteenliittämistekniikasta, malleista ja ohjelmointiliitännöistä. Sinun on kuitenkin ymmärrettävä, että heidän avullaan saavutettu tulos riippuu suurelta osin niiden sovellusten ominaisuuksista, joita aiot ottaa käyttöön.

Peruskäyttöjärjestelmän suunnitteluluonnos
Käyttäjätila Järjestelmän prosessit Käyttäjäprosessit
ei käytä
väliohjelmisto
Käyttäjäprosessit väliohjelmistoa käyttämällä
Väliohjelmisto
Järjestelmäpalvelut Käyttäjäkirjastot
Ydin Väliohjelmistoon liittyvät ydinlaajennukset
Tiedostojärjestelmät/Kommunikaatio/Ohjelmallinen käyttöliittymä
Muistinhallinta Ajastin Kuljettajat
Laitteiston abstraktiokerros
Laitteistoresurssit Ajastimet ja keskeytykset
RAM prosessorit Levyt Verkko Cluster Interconnect muut

Niiden toimintaperiaate perustuu pyyntöjen jakamiseen yhden tai useamman syöttösolmun kautta, jotka ohjaavat ne käsittelyä varten muihin laskentasolmuihin. Tällaisen klusterin alkuperäinen tavoite on suorituskyky, mutta usein niissä käytetään myös luotettavuutta parantavia tekniikoita. Tällaisia ​​rakenteita kutsutaan palvelinfarmiksi. Ohjelmistot voivat olla joko kaupallisia (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) tai ilmaisia ​​(OpenMosix, Sun Grid Engine, Linux Virtual Server).

Laskentaklusterit

Klustereita käytetään laskentatarkoituksiin, erityisesti tieteellisessä tutkimuksessa. Laskentaklustereille merkittäviä indikaattoreita ovat prosessorin korkea suorituskyky liukulukuoperaatioissa (flops) ja yhteenliittävän verkon alhainen latenssi, ja vähemmän merkittäviä ovat I/O-toimintojen nopeus, joka on tärkeämpää tietokantojen ja verkkopalveluiden kannalta. Laskentaklusterit mahdollistavat laskenta-ajan lyhentämisen yksittäiseen tietokoneeseen verrattuna jakamalla tehtävän rinnakkaisiin suoritushaaroihin, jotka vaihtavat tietoja yhteenliittyvän verkon kautta. Yksi tyypillinen kokoonpano on kokoelma tietokoneita, jotka on koottu yleisesti saatavilla olevista komponenteista, joissa on Linux-käyttöjärjestelmä ja jotka on yhdistetty Ethernetin, Myrinetin, InfiniBandin tai muiden suhteellisen halpojen verkkojen kautta. Tällaista järjestelmää kutsutaan yleensä Beowulf-klusteriksi. Suorituskykyiset klusterit on erityisesti tunnistettu (merkitty englanninkielisellä lyhenteellä HPC-klusteri - Tehokas laskentaklusteri). Luettelo tehokkaimmista korkean suorituskyvyn tietokoneista (voidaan myös merkitä englanninkielisellä lyhenteellä HPC) löytyy maailman rankingista TOP500. Venäjä ylläpitää IVY:n tehokkaimpien tietokoneiden luokitusta.

Hajautetut laskentajärjestelmät (grid)

Tällaisia ​​järjestelmiä ei yleensä pidetä klustereina, mutta niiden periaatteet ovat pitkälti samanlaisia ​​kuin klusteriteknologian. Niitä kutsutaan myös verkkojärjestelmiksi. Suurin ero on kunkin solmun alhainen käytettävyys, eli mahdottomuus taata sen toimintaa tietyllä hetkellä (solmut kytketään ja irrotetaan toiminnan aikana), joten tehtävä on jaettava useisiin prosesseihin, jotka ovat riippumattomia jokaisesta. muu. Tällainen järjestelmä, toisin kuin klusterit, ei ole kuin yksittäinen tietokone, vaan se toimii yksinkertaistettuna tapana jakaa laskelmia. Konfiguraation epävakautta tässä tapauksessa kompensoi suuri määrä solmuja.

Ohjelmallisesti järjestetty palvelimien klusteri

Klusterijärjestelmät ovat arvokkaalla paikalla nopeimpien luettelossa, mutta ovat hinnaltaan huomattavasti supertietokoneita parempia. Heinäkuusta 2008 lähtien SGI Altix ICE 8200 -klusteri (Chippewa Falls, Wisconsin, USA) on 7. sijalla TOP500-luokituksessa.

Suhteellisen halpa vaihtoehto supertietokoneille ovat Beowulf-konseptiin perustuvat klusterit, jotka rakennetaan tavallisista edullisista ilmaisiin ohjelmistoihin perustuvista tietokoneista. Yksi käytännön esimerkki tällaisesta järjestelmästä on Stone Soupercomputer Oak Ridge National Laboratoryssa (Tennessee, USA, 1997).

Suurimman yksityishenkilön omistaman klusterin (1000 prosessoria) rakensi John Koza.

Tarina

Klusterin luomisen historia liittyy erottamattomasti tietoverkkojen alan varhaiseen kehitykseen. Yksi syy tietokoneiden välisen nopean tiedonsiirron syntymiseen oli toivo laskentaresurssien yhdistämisestä. 1970-luvun alussa TCP/IP-kehitysryhmä ja Xerox PARC -laboratorio loivat verkkostandardit. DEC:n tuottama PDP-11-tietokoneiden Hydra-käyttöjärjestelmä ilmestyi myös tällä perusteella luotu klusteri nimeksi C.mpp (Pittsburgh, Pennsylvania, USA, 1971). Kuitenkin vasta vuoden 1983 tienoilla luotiin mekanismeja, jotka helpottavat tehtävien ja tiedostojen jakamista verkon yli, pääasiassa SunOS:sta (Sun Microsystemsin BSD-pohjainen käyttöjärjestelmä).

Klusterin ensimmäinen kaupallinen projekti oli ARCNet, jonka Datapoint loi vuonna 1977. Siitä ei tullut kannattavaa, ja siksi klusterin rakentaminen kehittyi vasta 1984, jolloin DEC rakensi VAX/VMS-käyttöjärjestelmään perustuvan VAXclusterin. ARCNet ja VAXcluster on suunniteltu paitsi yhteisen laskennan lisäksi myös tiedostojärjestelmän ja oheislaitteiden jakamiseen ottaen huomioon tietojen eheyden ja yksiselitteisyys. VAXCluster (nyt VMSCluster) on olennainen osa OpenVMS-käyttöjärjestelmää, joka käyttää DEC Alpha- ja Itanium-suorittimia.

Kaksi muuta tunnettua varhaista klusterituotetta ovat Tandem Hymalaya (1994, luokka) ja IBM S/390 Parallel Sysplex (1994).

Tavallisista henkilökohtaisista tietokoneista klustereiden luomisen historia on paljolti Parallel Virtual Machine -projektin ansiota. Vuonna 1989 tämä ohjelmisto tietokoneiden yhdistämiseksi virtuaaliseksi supertietokoneeksi mahdollisti klustereiden luomisen välittömästi. Tämän seurauksena kaikkien tuolloin luotujen halpojen klusterien kokonaissuorituskyky ylitti suorituskyvyltään "vakavien" kaupallisten järjestelmien kapasiteettien summan.

Halviin henkilökohtaisiin tietokoneisiin perustuvien klusterien luomista tiedonsiirtoverkolla jatkettiin vuonna 1993 American Aerospace Agency NASA:n toimesta, sitten vuonna 1995 kehitettiin tähän periaatteeseen suunniteltuja Beowulf-klustereita. Tällaisten järjestelmien menestys on edistänyt kehitystä

Yksi nykyaikaisimmista trendeistä laskentajärjestelmien luomisen alalla on klusterointi. Suorituskyvyn ja saatavuuden kannalta klusterointi on vaihtoehto symmetrisille moniprosessorijärjestelmille.

Kuten olemme jo todenneet, laskentaklusteri on M1MR- järjestelmä (monitietokone), joka koostuu useista yksittäisistä tietokoneista (laskentaklusterisolmuista), joita yhdistää yksi viestintäympäristö.

Klusterisolmu voi olla joko yhden prosessorin VM tai VS SMP tai MRR. Jokainen solmu pystyy toimimaan itsenäisesti ja erillään klusterista.

Jokaisella solmulla on oma paikallinen RAM-muisti. Tässä tapauksessa solmuille ei yleensä ole yhteistä fyysistä RAM-muistia. Laskentaklustereiden viestintäympäristö sallii yleensä solmut kommunikoida keskenään vain välittämällä viestejä. Yleensä laskentaklusteria tulisi pitää yhtenä laitteistona ja ohjelmistona, jossa on yksi viestintäjärjestelmä, yksi ohjauskeskus ja kuormituksen suunnittelu.

Klusterilaskennan arkkitehtuuri tiivistyy useiden solmujen yhdistämiseen nopeaan verkkoon. Termin "klusterilaskenta" rinnalla käytetään usein nimiä, kuten työasemaklusteri, hyperlaskenta ja verkkopohjainen rinnakkaislaskenta.

Klustereilla on kaksi tehtävää:

  • saavuttaa korkea laskentateho;
  • parantaa lentokoneiden luotettavuutta.

Ensimmäisen kaupallisen klusterin loi DEC-yhtiö 80-luvun alussa. viime vuosisadalla. Klusterisolmuina voidaan käyttää sekä identtisiä lentokoneita (homogeeniset klusterit) että erilaisia ​​(heterogeeniset klusterit). Arkkitehtuuriltaan klusteroitu tietokonejärjestelmä on löyhästi kytketty järjestelmä.

Klusteroinnilla saavutetut edut:

  • absoluuttinen skaalautuvuus. On mahdollista luoda suuria klustereita, jotka ylittävät jopa tehokkaimmat yksittäiset VM:t laskentatehon suhteen. Klusteri voi sisältää kymmeniä solmuja, joista jokainen on multiplekseri;
  • skaalautuva. Klusteri on rakennettu siten, että sitä voidaan laajentaa lisäämällä uusia solmuja pienissä erissä;
  • korkea käytettävyystekijä. Koska jokainen klusterin solmu on itsenäinen virtuaalikone tai lentokone, yhden solmun vika ei johda klusterin toiminnan menettämiseen. Monissa järjestelmissä ohjelmisto tukee automaattisesti vikasietoisuutta;
  • erinomainen hinta/laatusuhde. Minkä tahansa suorituskyvyn klusteri voidaan luoda yhdistämällä standardi

VM, kun taas sen kustannukset ovat alhaisemmat kuin yhden virtuaalikoneen

vastaavalla laskentateholla.

Laitteistotasolla klusteri on yksinkertaisesti kokoelma itsenäisiä tietokonejärjestelmiä, jotka on yhdistetty verkon kautta. Kun koneita yhdistetään klusteriin, suoraa koneiden välistä viestintää tuetaan lähes aina. Ratkaisut voivat olla yksinkertaisia, Ethernet-laitteistoon perustuvia tai monimutkaisia ​​nopeiden verkkojen kanssa, joiden suorituskyky on satoja megatavuja sekunnissa (järjestelmä /?5/6000 SP 1VM-yritys, muistikanavaan perustuvat digitaaliset järjestelmät, Compaq Corporationin ServerNet).

Klusterisolmut tarkkailevat toistensa suorituskykyä ja vaihtavat tiettyjä tietoja. Suorituskykyä seurataan erityisellä sykesignaalilla. Klusterisolmut lähettävät tämän signaalin toisilleen niiden normaalin toiminnan varmistamiseksi.

Olennainen osa klusteria on erikoisohjelmisto, jonka tehtävänä on varmistaa keskeytymätön toiminta yhden tai useamman solmun vian sattuessa. Tällainen ohjelmisto jakaa uudelleen laskentakuorman, kun yksi tai useampi klusterin solmu epäonnistuu, sekä palauttaa laskelmat, kun solmu epäonnistuu. Lisäksi, kun klusterilla on jaetut levyt, klusterin ohjelmisto ylläpitää yhtä tiedostojärjestelmää.

Laskentaklusterisolmut voivat toimia eri käyttöjärjestelmissä. Useimmiten käytetään kuitenkin tavallisia UNIX-tyyppisiä järjestelmiä. Huomaa, että rinnakkaisten sovellusohjelmien kehittämisen kannalta homogeenisten laskentaklustereiden ja laskentaklustereiden välillä ei ole perustavanlaatuisia eroja. MRR- järjestelmät.

Laskentaklusterien luokitus tyypin mukaan

solmuprosessorit

Laskentaklusterit luokitellaan ensisijaisesti solmuprosessorien luonteen mukaan (kuva 9.10).

Henkilökohtaisia ​​tietokoneita, työasemia ja MP-palvelimia käytetään yleensä solmuina laskentaklusterissa. Jos sitä käytetään klusterisolmuna SMP- järjestelmässä, tällaista laskentaklusteria kutsutaan *5ZhR-klusteriksi.

Jos henkilökohtaisia ​​tietokoneita tai työasemia käytetään laskentaklusterin solmuina, niin tavallinen järjestelmä on

Riisi. 9.10.

tilanne, jossa klusterin ongelman ratkaisemisen aikana jatketaan peräkkäisten käyttäjätehtävien suorittamista tämän klusterin solmuissa. Tämän seurauksena klusterisolmujen suhteellinen suorituskyky vaihtelee satunnaisesti ja laajalla alueella. Ratkaisu ongelmaan olisi kirjoittaa itsesopeutuva käyttäjäohjelma. Tehokas ratkaisu tähän ongelmaan näyttää kuitenkin erittäin ongelmalliselta. Tilannetta pahentaa, jos laskentaklusterin solmutietokoneiden joukossa on tiedostopalvelimia. Samaan aikaan klusterin ongelmaa ratkaistaessa viestintäympäristön kuormitus voi vaihdella suuresti, mikä tekee tehtävän viestintäkustannuksista arvaamattomia.

Laskentaklusterien luokittelu solmujen homogeenisuuden mukaan

Kuten kaikki A//A//)-järjestelmät, laskentaklusterit jaetaan homogeenisiin klusterijärjestelmiin (homogeeniset laskentaklusterit) ja heterogeenisiin klusterijärjestelmiin (heterogeeniset laskentaklusterit).

Yleensä kun he puhuvat laskentaklustereista, he tarkoittavat homogeenisia laskentaklustereita. Klusteria kasvatettaessa on kuitenkin usein tarpeen käyttää prosessoreita, jotka eroavat paitsi suorituskyvyltään myös arkkitehtuuriltaan klusterin solmuprosessoreista. Siksi homogeeninen laskentaklusteri voi vähitellen muuttua heterogeeniseksi. Tämä heterogeenisuus aiheuttaa seuraavat ongelmat: prosessorien suorituskyvyn erot vaikeuttavat työn jakamista prosessorien välillä; prosessoriarkkitehtuurierot edellyttävät erilaisten suoritettavien tiedostojen valmistelua eri solmuille, ja jos tietojen esittämisessä on eroja, se voi vaatia niiden formaattien muuntamista lähetettäessä viestejä solmujen välillä.

Laskentaklusterien luokittelu solmutoimintojen mukaan

Laskentaklusterisolmut voivat olla täysin toimivia tietokoneita, jotka voivat toimia myös itsenäisinä yksiköinä. Tällaisen klusterin suorituskyky on yleensä heikko.

Suorituskykyisten laskentaklustereiden luomiseksi solmutietokoneiden järjestelmäyksiköt on tehty paljon yksinkertaisemmiksi kuin ensimmäisessä tapauksessa (ei täysin toimivia). Isäntätietokoneita ei tarvitse varustaa näytönohjaimilla, näytöillä, levyasemilla ja muilla oheislaitteilla. Oheislaitteet asennetaan vain yhteen tai muutamaan ohjaustietokoneeseen (YOUG-tietokoneet). Tämä lähestymistapa voi vähentää merkittävästi järjestelmän kustannuksia.

Klusterien luokittelussa käytetään myös useita muita luokituskriteerejä (kuva 9.11).


Riisi. 9.11.

  • luokitus komponenttien standardin mukaan;
  • luokittelu toiminnallisen suuntautumisen mukaan. Laskentaklusterien luokittelu komponenttien standardin mukaan. Komponenttien standardoinnin kannalta voidaan erottaa kaksi klusterijärjestelmien luokkaa:
    • 1) laskentaklusteri on rakennettu kokonaan vakiokomponenteista;
    • 2) klusteria rakennettaessa käytetään eksklusiivisia tai ei yleisesti saatavilla olevia komponentteja.

Ensiluokkaisilla laskentaklustereilla on alhaiset hinnat ja helppo ylläpito. Klusteriteknologiat ovat yleistyneet keinona luoda suhteellisen halpoja supertietokoneluokan järjestelmiä massatuotetuista komponenteista.

Toisen luokan klusterit tarjoavat erittäin korkean suorituskyvyn, mutta ovat luonnollisesti kalliimpia.

Laskentaklusterien luokittelu niiden toiminnallisen painopisteen mukaan. Toiminnallisesti klusterijärjestelmät voidaan jakaa:

Nopeille klusterijärjestelmille (High Performance) -

YAR-klusterit;

Korkean käytettävyyden klusterijärjestelmät (High Availability) - PÄÄLLÄ-

klustereita.

Nopeat klusterit käytetään alueilla, jotka vaativat suurta laskentatehoa. Korkean käytettävyyden klusterit käytetään aina, kun mahdollisen seisokkiajan kustannukset ylittävät vikasietoisen järjestelmän rakentamiseen vaadittavat kustannukset.

Nopean laskentaklusterin suorituskyky riippuu luonnollisesti sen solmujen suorituskyvystä. Toisaalta klusterin, kuten minkä tahansa hajautetun muistin järjestelmän, suorituskyky riippuu voimakkaasti viestintäympäristön suorituskyvystä. Yleensä laskentaklustereita rakennettaessa käytetään melko halpoja viestintävälineitä. Tällaiset ympäristöt tarjoavat yhdestä kahteen suuruusluokkaa heikomman suorituskyvyn kuin supertietokoneiden viestintäympäristöt. Siksi suurissa klusterijärjestelmissä ei ole monia ongelmia, jotka voitaisiin ratkaista melko tehokkaasti.

Viestintäympäristön suorituskyvyn vaikutus klusterijärjestelmän yleiseen suorituskykyyn riippuu suoritettavan tehtävän luonteesta. Jos tehtävä vaatii tiheää tiedonvaihtoa alitehtävien välillä, jotka ratkaistaan ​​laskentaklusterin eri solmuissa, niin viestintäympäristön nopeuteen tulee kiinnittää mahdollisimman paljon huomiota. Vastaavasti mitä vähemmän tehtävän osat ovat vuorovaikutuksessa keskenään, sitä vähemmän voidaan kiinnittää huomiota viestintäympäristön nopeuteen.

Tietokoneiden yhdistämiseksi klusteriin on kehitetty monia tekniikoita.

Jotta laskentajärjestelmän käytettävyystaso olisi korkea, sen komponenttien on oltava mahdollisimman luotettavia, järjestelmä on vikasietoinen ja komponenttien "kuuma" vaihto on mahdollista (järjestelmää pysäyttämättä). Klusterin ansiosta, jos jokin järjestelmän tietokoneista epäonnistuu, tehtävät voidaan automaattisesti (käyttöjärjestelmän toimesta) jakaa uudelleen laskentaklusterin muiden (toiminnallisten) solmujen kesken. Siten klusterin vikasietoisuus varmistetaan monistamalla kaikki laskentajärjestelmän tärkeät komponentit. Suosituimmat kaupalliset vikasietojärjestelmät ovat tällä hetkellä kahden solmun klusterit.

On toinenkin laskentaklusteriluokka - tietokoneverkot (GRID), yhdistämällä useiden klustereiden, moniprosessoristen ja yhden prosessorin tietokoneiden resurssit, jotka voivat kuulua eri organisaatioihin ja sijaita eri maissa.

Rinnakkaisohjelmien kehittäminen tietokoneverkkoihin on monimutkaista seuraavien ongelmien vuoksi. Tehtävälle allokoidut resurssit (solmujen lukumäärä, niiden arkkitehtuuri, suorituskyky) määritetään vain sillä hetkellä, kun verkko käsittelee tilauksen tämän tehtävän suorittamiseksi. Siksi ohjelmoija ei pysty kehittämään ohjelmaa tiettyä tietokoneverkkokokoonpanoa varten. Ohjelma on kehitettävä niin, että se voi dynaamisesti (ilman uudelleenkääntämistä) mukautua valittuun verkkokokoonpanoon. Lisäksi viestintäympäristön heterogeenisyyteen lisätään sen ominaisuuksien vaihtelu, joka johtuu verkon kuormituksen muutoksista. Parhaimmillaan ohjelma tulee suunnitella ottamaan huomioon tämä viestintäympäristön heterogeenisuus, mikä on erittäin vaikea tehtävä. Kuten yllä totesimme, samanlainen ongelma esiintyy myös henkilökohtaisiin tietokoneisiin tai työasemiin rakennetuissa laskentaklustereissa.

Klusterilaskentajärjestelmien tehokas suorituskyky (todellinen sovellusten suorituskyky, RAP) arvioidaan olevan 5–15 % heidän huipputehokkuudestaan ​​(huippumainostehon, PAP). Vertailun vuoksi: parhaissa vektoriprosessoreista koostuvissa matalan prosessorin järjestelmissä tämän suhteen arvioidaan olevan 30-50%.

Klusterilaskentajärjestelmistä on tullut jatkoa MPA-järjestelmien arkkitehtuuriin upotetun idean kehitykselle. Jos MPA-järjestelmässä prosessorimoduuli toimii täydellisenä laskentasolmuna, niin klusterijärjestelmissä tällaisina laskentasolmuina käytetään kaupallisesti saatavilla olevia tietokoneita. Viestintäteknologioiden kehittyminen, nimittäin nopeiden verkkolaitteiden ja erityisten ohjelmistokirjastojen, esimerkiksi MPI:n (Message Passing Interface), joka toteuttaa viestien välitysmekanismin standardiverkkoprotokollia käyttäen, ilmaantuminen on tehnyt klusteriteknologiat yleisesti saataville. Tällä hetkellä luodaan monia pieniä klusterijärjestelmiä yhdistämällä laboratorio- tai luokkahuoneiden tietokoneiden laskentatehoa.

Klusteriteknologioiden houkutteleva piirre on, että vaaditun suorituskyvyn saavuttamiseksi ne mahdollistavat heterogeenisten järjestelmien rakentamisen, eli erityyppisten tietokoneiden yhdistämisen yhdeksi laskentajärjestelmäksi henkilökohtaisista tietokoneista tehokkaisiin supertietokoneisiin. Klusteriteknologiat ovat yleistyneet keinona luoda supertietokoneluokan järjestelmiä massatuotetuista komponenteista, mikä alentaa merkittävästi laskentajärjestelmän kustannuksia. Erityisesti yksi ensimmäisistä vuonna 1998 toteutetuista hankkeista oli COCOA (COCOA), jossa 25 kahden prosessorin henkilökohtaiseen tietokoneeseen, joiden kokonaiskustannukset ovat noin 100 000 dollaria, perustuva järjestelmä, jonka suorituskyky vastaa 48 -prosessori Cray T3D maksoi useita miljoonia dollareita .

Lyle Long, Penn State Universityn ilmailutekniikan professori, uskoo, että suhteellisen halvat klusterilaskentajärjestelmät voisivat hyvinkin toimia vaihtoehtona kalliille supertietokoneille tieteellisissä organisaatioissa. Hänen johdollaan yliopistoon rakennettiin COCOA-klusteri. Tämän hankkeen puitteissa 25 ra-

DELLin tukiasemat, joista jokainen sisältää kaksi Pentium II/400 MHz -suoritinta, 512 Mt RAM-muistia, 4 Gt:n SCSI-kiintolevyn ja Fast Ethernet -verkkosovittimen. Solmujen yhdistämiseen käytetään 24-porttista Baynetworks 450T -kytkintä, jossa on yksi laajennusmoduuli. Asennettu ohjelmisto sisältää RedHat Linux -käyttöjärjestelmän, Fortran 90- ja HPF-kääntäjät Portland Groupilta, vapaasti hajautetun MPI - Message Passing Interface Chameleon (MPICH) -toteutuksen ja DQS-jonojärjestelmän.

38. Aerospace Science Meeting and Exhibit -tapahtumassa esitellyssä paperissa Long kuvaa rinnakkaisversiota laskennallisesta kuormituksen tasapainotusohjelmasta, jota käytetään ennustamaan helikopterien melutasoja eri paikoissa. Vertailun vuoksi tämä laskentaohjelma ajettiin kolmella eri 48-prosessorisella tietokoneella melun laskemiseksi 512 pisteessä. Cray T3E -järjestelmässä laskenta kesti 177 sekuntia, SGI Origin2000 -järjestelmässä - 95 sekuntia ja COCOA-klusterissa - 127 sekuntia. Siten klusterit ovat erittäin tehokas laskenta-alusta tämän luokan tehtäville.

Toinen klusterijärjestelmien etu supertietokoneisiin verrattuna on, että niiden omistajien ei tarvitse jakaa prosessoriaikaa muiden käyttäjien kanssa, kuten suurissa supertietokonekeskuksissa. Erityisesti COCOA tarjoaa yli 400 tuhatta tuntia prosessoriaikaa vuodessa, kun taas superlaskentakeskuksissa voi olla vaikea saada 50 tuhatta tuntia.

Näiden järjestelmien täydellisestä vastaavuudesta ei tietenkään tarvitse puhua. Kuten tiedetään, hajautetun muistin järjestelmien suorituskyky riippuu suuresti kytkentäympäristön suorituskyvystä, jota voidaan luonnehtia kahdella parametrilla: latenssi - viiveaika viestin lähettämisessä ja suorituskyky - tiedonsiirron nopeus. Esimerkiksi Cray T3D -tietokoneelle nämä parametrit ovat 1 μs ja 480 Mb/s, vastaavasti, ja klusterille, jossa kytkentävälineenä käytetään Fast Ethernet -verkkoa, 100 μs ja 10 Mb/s. Tämä selittää osittain supertietokoneiden erittäin korkeat kustannukset. Harkittavan klusterin kaltaisilla parametreilla ei ole paljon tehtäviä, jotka voidaan ratkaista tehokkaasti riittävän suurella määrällä prosessoreita.

Yllä olevan perusteella annamme määritelmän: klusteri on yhdistetty joukko täysimittaisia ​​tietokoneita, joita käytetään yhtenä laskentaresurssina. Klusterisolmuina voidaan käyttää sekä identtisiä (homogeeniset klusterit) että erilaisia ​​(heterogeeniset klusterit) tietokoneita. Arkkitehtuuriltaan klusterilaskentajärjestelmä on löyhästi kytketty. Klusterien luomiseen käytetään yleensä joko yksinkertaisia ​​yhden prosessorin henkilökohtaisia ​​tietokoneita tai kahden tai neljän prosessorin SMP-palvelimia. Tässä tapauksessa solmujen koostumukselle ja arkkitehtuurille ei aseteta rajoituksia. Jokainen solmu voi käyttää omaa käyttöjärjestelmäänsä. Yleisimmin käytetyt vakiokäyttöjärjestelmät ovat Linux, FreeBSD, Solaris, Tru64 Unix ja Windows NT.

Kirjallisuudessa mainitaan neljä etua, jotka saavutetaan klusteroimalla laskentajärjestelmä:

absoluuttinen skaalautuvuus;

skaalautuva;

korkea käytettävyystekijä;

hinta/laatusuhde.

Selitämme kaikki edellä mainitut klusterilaskentajärjestelmän ominaisuudet.

Omaisuus absoluuttinen skaalautuvuus tarkoittaa, että on mahdollista luoda suuria klustereita, jotka ylittävät jopa tehokkaimpien yksittäisten tietokoneiden laskentatehon. Klusteri voi sisältää kymmeniä solmuja, joista jokainen on moniprosessori.

Parannettava skaalautuvuusominaisuus tarkoittaa, että klusteria voidaan laajentaa lisäämällä uusia solmuja pienissä erissä. Näin käyttäjä voi aloittaa pienestä järjestelmästä ja laajentaa sitä tarpeen mukaan.

Koska jokainen klusterin solmu on itsenäinen laskentakone tai järjestelmä, yhden solmun vika ei johda klusterin toiminnallisuuden menettämiseen. Monissa järjestelmissä ohjelmisto tukee automaattisesti vikasietoisuutta.

Ja lopuksi, klusterijärjestelmät tarjoavat sen, mitä supertietokoneet eivät voi saavuttaa hinta/laatu suhde. Mitä tahansa suorituskykyisiä klustereita voidaan luoda käyttämällä tavallisia "rakennuspalikoita", ja klusterin hinta on pienempi kuin yksi

yötietokone, jolla on vastaava prosessointiteho.

Siten laitteistotasolla klusteri on kokoelma itsenäisiä laskentajärjestelmiä, jotka on yhdistetty verkkoon. Ratkaisut voivat olla yksinkertaisia, Ethernet-laitteistoon perustuvia, tai monimutkaisia, ja niissä on nopeita verkkoja, joiden suorituskyky on satoja megatavuja sekunnissa.

Olennainen osa klusteria on erikoisohjelmisto, jonka tehtävänä on ylläpitää laskelmia yhden tai useamman solmun epäonnistuessa. Tällainen ohjelmisto jakaa uudelleen laskentakuorman, kun yksi tai useampi klusterin solmu epäonnistuu, sekä palauttaa laskelmat, kun solmu epäonnistuu. Lisäksi, kun klusterilla on jaetut levyt, klusterin ohjelmisto ylläpitää yhtä tiedostojärjestelmää.

Klusterijärjestelmäarkkitehtuurien luokittelu

Kirjallisuudessa kuvataan erilaisia ​​tapoja klusterijärjestelmien luokitteluun. Yksinkertaisin luokittelu perustuu levytaulukoiden käyttötapaan: yhdessä vai erikseen.

Kuvassa 5.5.1 ja 5.5.2 esittävät kahden solmun klustereiden rakenteita, joiden koordinaatio varmistetaan viestinvälitykseen käytettävällä nopealla linjalla. Tämä voi olla paikallinen verkko, jota käyttävät myös klusteriin kuulumattomat tietokoneet, tai vuokrajohto. Kiinteän linjan tapauksessa yhdellä tai useammalla klusterisolmulla on pääsy paikalliseen tai maailmanlaajuiseen verkkoon, mikä varmistaa palvelinklusterin ja etäasiakasjärjestelmien välisen viestinnän.

Erona esitettyjen klustereiden välillä on se, että paikallisverkon tapauksessa solmut käyttävät paikallisia levyryhmiä ja dedikoidun linjan tapauksessa solmut jakavat yhden redundantin itsenäisten kiintolevyryhmien tai ns. RAIDin (Redundant). Joukko itsenäisiä levyjä). RAID koostuu useista ohjaimen hallitsemista levyistä, jotka on yhdistetty toisiinsa nopeilla kanavilla ja jotka ulkoinen järjestelmä havaitsee yhtenä kokonaisuutena. Käytetyn ryhmän tyypistä riippuen voidaan tarjota eriasteisia vikasietokykyä ja suorituskykyä.

CPU

CPU

Suuri nopeus

CPU

CPU

valtatie

Laite

Laite

Laite

Laite

I/O

I/O

I/O

I/O

Levy

Levy

Riisi. 5.5.1. Klusterin kokoonpano ilman jaettuja levyjä

Levy

Laite

Laite

CPU

CPU

I/O

I/O

CPU

CPU

Laite

Laite

Laite

Laite

I/O

I/O

I/O

I/O

Levy

Suuri nopeus

Levy

valtatie

Riisi. 5.5.2. Klusterin määritys jaetuilla levyillä

Katsotaanpa yleisimpiä levyryhmien tyyppejä:

RAID0 (striping) on ​​kahden tai useamman kiintolevyn levyryhmä ilman redundanssia. Tiedot jaetaan tietolohkoihin ja kirjoitetaan molemmille (useammille) levyille samanaikaisesti. Etuna on merkittävä tuottavuuden kasvu. Haittapuolena on, että RAID0:n luotettavuus on selvästi pienempi kuin minkä tahansa levyn luotettavuus yksittäin ja heikkenee RAID0:n sisältämien levyjen määrän kasvaessa, koska minkä tahansa levyn vikaantuminen johtaa koko ryhmän toimimattomuuteen. .

RAID1 (peilaus) on ryhmä, joka koostuu vähintään kahdesta levystä. Edut ovat hyväksyttävä kirjoitusnopeus ja lukunopeuden lisäys kyselyitä rinnastettaessa sekä korkea luotettavuus: se toimii niin kauan, kun vähintään yksi levy matriisista toimii. Kahden levyn vian todennäköisyys kerralla on yhtä suuri kuin kunkin levyn vian todennäköisyyksien tulo. Käytännössä, jos jokin levyistä epäonnistuu, on ryhdyttävä kiireellisiin toimenpiteisiin: redundanssi on palautettava uudelleen. Tätä varten on suositeltavaa käyttää hot varalevyjä millä tahansa RAID-tasolla (paitsi nolla). Tämän lähestymistavan etuna on jatkuva saatavuus. Haittapuolena on, että joudut maksamaan kahden kiintolevyn hintaa saadaksesi yhden kiintolevyn käyttökapasiteetin.

RAID10 on peilattu ryhmä, jossa tiedot kirjoitetaan peräkkäin useille levyille, kuten RAID0:ssa. Tämä arkkitehtuuri on RAID0-ryhmä, jonka segmentit ovat RAID1-ryhmiä yksittäisten levyjen sijaan. Vastaavasti tämän tason taulukossa on oltava vähintään neljä levyä. RAID10 yhdistää korkean vikasietoisuuden ja suorituskyvyn.

Täydellisen kuvan klusterilaskentajärjestelmistä antaa klusterien luokittelu käytettyjen klusterointimenetelmien mukaan, jotka määrittävät järjestelmän tärkeimmät toiminnalliset piirteet:

klusterointi passiivisella redundanssilla;

klusterointi aktiivisella redundanssilla;

erilliset palvelimet;

palvelimet, joissa on yhteydet kaikkiin levyihin;

palvelimet, joissa on jaetut levyt.

Klusterointi redundanssilla on vanhin ja yleisin menetelmä. Toinen palvelimista ottaa haltuunsa koko laskentakuorman, kun taas toinen pysyy passiivisena, mutta on valmis ottamaan vastaan ​​laskelmat, jos pääpalvelin epäonnistuu. Aktiivinen (tai ensisijainen) palvelin lähettää ajoittain kelloviestin varapalvelimelle (toissijaiselle). Jos sykeviestejä ei ole, mikä katsotaan ensisijaisen palvelimen viaksi, toissijainen palvelin ottaa hallinnan. Tämä lähestymistapa parantaa saatavuutta, mutta ei paranna suorituskykyä. Lisäksi, jos ainoa viestintätyyppi solmujen välillä on viestintä ja jos kumpikaan klusterin palvelin ei jaa levyjä, varmuuskopiopalvelimella ei ole pääsyä ensisijaisen palvelimen hallitsemiin tietokantoihin.

Passiivinen redundanssi ei ole tyypillistä klustereille. Termi "klusteri" viittaa joukkoon toisiinsa kytkettyjä solmuja, jotka osallistuvat aktiivisesti laskentaprosessiin ja luovat yhdessä illuusion yhdestä tehokkaasta laskentakoneesta. Tätä kokoonpanoa kutsutaan tyypillisesti järjestelmäksi, jossa on aktiivinen toissijainen palvelin, ja klusterointimenetelmiä on kolme: erilliset palvelimet, palvelimet ilman levyn jakamista ja palvelimet, joissa on jaettu levy.

Ensimmäisessä menetelmässä jokaista klusterisolmua käsitellään itsenäisenä palvelimena, jolla on omat levynsä, eikä mitään järjestelmän levyistä ole jaettu. Järjestelmä tarjoaa korkean suorituskyvyn ja korkean käytettävyyden, mutta vaatii erikoisohjelmiston asiakaspyyntöjen jakamisen ajoittamiseen palvelimien välillä, jotta saavutetaan tasapainoinen ja tehokas kaikkien palvelimien käyttö. On välttämätöntä, että jos yksi solmuista epäonnistuu sovelluksen suorittamisen aikana, toinen klusterin solmu voi siepata ja lopettaa tämän sovelluksen. Tätä varten järjestelmän tietoja on varmuuskopioitava jatkuvasti, jotta jokaisella palvelimella on pääsy kaikkiin järjestelmän uusimpiin tietoihin. Näiden kustannusten vuoksi korkea käytettävyys saavutetaan vain suorituskyvyn kustannuksella.

Tiedonsiirron ylikuormituksen vähentämiseksi useimmat klusterit koostuvat nyt jaetuille levyille yhdistetyistä palvelimista, joita yleensä edustaa RAID-levyryhmä (katso kuva 5.5.2).

Yksi tämän lähestymistavan muunnelma olettaa, että levyn jakamista ei käytetä. Jaetut levyt on jaettu osioihin, ja jokaiselle klusterisolmulle on varattu oma osionsa. Jos yksi solmu epäonnistuu, klusteri voidaan konfiguroida uudelleen siten, että sen jaetun levyosion käyttöoikeudet siirretään toiselle solmulle.

Toinen vaihtoehto on, että useat palvelimet jakavat pääsyn jaetuille levyille ajan mittaan, jolloin millä tahansa solmulla on pääsy kaikkien jaettujen levyjen kaikkiin osioihin. Tämä lähestymistapa vaatii jonkinlaisen lukitusmekanismin sen varmistamiseksi, että vain yhdellä palvelimista on pääsy tietoihin kulloinkin.

Klusterit tarjoavat korkean käytettävyyden - niissä ei ole yhtä käyttöjärjestelmää ja jaettua muistia, eli välimuistin koherenssissa ei ole ongelmaa. Lisäksi kunkin solmun erityinen ohjelmisto valvoo jatkuvasti kaikkien muiden solmujen suorituskykyä. Tämä ohjaus perustuu kunkin solmun jaksoittaiseen "olen edelleen hereillä" -signaalin lähettämiseen. Jos signaalia ei vastaanoteta tietystä solmusta, tällaisen solmun katsotaan olevan epäkunnossa; sille ei anneta kykyä suorittaa I/O:ta, sen levyt ja muut resurssit (mukaan lukien verkko-osoitteet) osoitetaan uudelleen muille solmuille ja siinä käynnissä olevat ohjelmat käynnistetään uudelleen muissa solmuissa.

Klusterin suorituskykyasteikot ja solmut lisätään. Klusteri voi ajaa useita yksittäisiä sovelluksia, mutta yhden sovelluksen skaalaaminen edellyttää, että sen osat kommunikoivat viestejä vaihtamalla. Ei kuitenkaan voida sivuuttaa sitä, että klusterisolmujen välinen vuorovaikutus kestää paljon kauemmin kuin perinteisissä laskentajärjestelmissä. Mahdollisuus kasvattaa solmujen määrää lähes rajattomasti ja yhden käyttöjärjestelmän puute tekevät klusteriarkkitehtuureista erittäin skaalautuvia. Satojen ja tuhansien solmujen järjestelmiä on käytetty menestyksekkäästi.

Klustereita kehitettäessä voidaan erottaa kaksi lähestymistapaa. Ensimmäinen lähestymistapa on luoda pieniä klusterijärjestelmiä. Klusteri yhdistää täysin toimivat tietokoneet, jotka toimivat edelleen itsenäisinä yksiköinä, esimerkiksi luokkahuoneen tietokoneina tai laboratoriotyöasemina. Toinen lähestymistapa on luoda tarkoituksenmukaisesti tehokkaita laskentaresursseja. Tietokoneiden järjestelmäyksiköt on sijoitettu tiiviisti -

jotka sijaitsevat erityisissä telineissä, ja yksi tai useampi täysin toimiva tietokone, jota kutsutaan isäntätietokoneiksi, on varattu hallitsemaan järjestelmää ja suorittamaan tehtäviä. Tässä tapauksessa laskentasolmujen tietokoneita ei tarvitse varustaa grafiikkakorteilla, näytöillä, levyasemilla ja muilla oheislaitteilla, mikä vähentää merkittävästi järjestelmän kustannuksia.

Tietokoneiden yhdistämiseksi klusteriksi on kehitetty monia teknologioita. Tällä hetkellä eniten käytetty tekniikka on Ethernet, johtuen helppokäyttöisyydestä ja viestintälaitteiden halvoista kustannuksista. Sinun on kuitenkin maksettava tästä ilmeisen riittämättömällä valuuttakurssilla.

ScaLAPACK-alirutiinipaketin, joka on suunniteltu ratkaisemaan lineaarialgebra-ongelmia moniprosessorijärjestelmissä, joissa viestintäoperaatioiden osuus on suuri, kehittäjät muotoilevat vaatimuksen moniprosessorijärjestelmälle seuraavasti: ”Kahden solmun välisen prosessorien välisen vaihdon nopeus, mitattuna megatavuina. /s, on oltava vähintään 1/10 laskentasolmun huippusuorituskykyä MFLOPSissa mitattuna."

Klusteritopologiat

Tarkastellaan topologioita, jotka ovat ominaisia ​​niin sanotuille "pienille" klusteille, jotka koostuvat kahdesta neljään solmusta.

Klusteriparien topologia käytetään organisoitaessa kahden tai neljän solmun klustereita (kuva 5.5.3). Solmut on ryhmitelty pareittain, levyryhmät on liitetty molempiin solmuihin, jotka ovat osa paria, ja jokaisella parin solmulla on pääsy kaikkiin tämän parin levyryhmiin. Yhtä parin solmuista käytetään varmuuskopiona toiselle.

Neljän solmun klusteripari on yksinkertainen kahden solmun topologian laajennus. Hallinnan ja konfiguroinnin kannalta molempia klusteripareja pidetään yhtenä kokonaisuutena.

Tämän topologian avulla voidaan järjestää klustereita, joilla on korkea tiedon saatavuus, mutta vikasietoisuus toteutetaan vain parin sisällä, koska pariin kuuluvilla tiedontallennuslaitteilla ei ole fyysistä yhteyttä toiseen pariin.

Kytkin

klusterin

klusterin

klusterin

klusterin

Levy

Levy

Levy

Levy

Riisi. 5.5.3. Klusteriparien topologia

Topologia + 1 mahdollistaa kahden, kolmen ja neljän solmun klustereiden luomisen (kuva 5.5.4). Jokainen levyryhmä on kytketty vain kahteen klusterisolmuun. Levyryhmät on järjestetty RAID1 (peilaus) -järjestelmän mukaan. Yhdellä palvelimella on yhteys kaikkiin levyryhmiin ja se toimii varmuuskopiona kaikille muille (ensisijaisille tai aktiivisille) solmuille. Valmiustilapalvelinta voidaan käyttää korkean käytettävyyden tarjoamiseen, kun se on pariliitetty minkä tahansa aktiivisen solmun kanssa.

Topologiaa suositellaan organisoitaessa klustereita, joilla on korkea tiedon saatavuus. Konfiguraatioissa, joissa on mahdollista varata yksi solmu redundanssille, tämä topologia voi vähentää aktiivisten solmujen kuormitusta ja varmistaa, että epäonnistuneen solmun kuormitus voidaan replikoida valmiustilassa ilman suorituskyvyn heikkenemistä. Minkä tahansa ensisijaisen solmun ja varasolmun välillä on vikasietoisuus. Samaan aikaan topologia ei salli globaalia vikasietoisuutta, koska pääklusterisolmut ja niiden tiedontallennusjärjestelmät eivät ole yhteydessä toisiinsa.

×-topologia on samanlainen kuin +1-topologia, joten voit luoda kahden, kolmen ja neljän solmun klustereita, mutta toisin kuin se, sillä on suurempi joustavuus ja skaalautuvuus (kuva 5.5.5).

Kytkin

klusterin

klusterin

klusterin

klusterin

Kytkin

klusterin

klusterin

klusterin

klusterin

Kytkin

Levy

Levy

Levy

Riisi. 5.5.5. Topologia ×

Vain tässä topologiassa kaikilla klusterin solmuilla on pääsy kaikkiin levyryhmiin, jotka puolestaan ​​on rakennettu RAID1 (peilaus) -mallin mukaan. Topologian skaalautuvuus ilmenee siinä, että klusteriin on helppo lisätä uusia solmuja ja levyryhmiä muuttamatta järjestelmän yhteyksiä.

klusterin

klusterin

klusterin

klusterin

Levy

Levy

Levy

Levy

Riisi. 5.5.6. Täysin erillinen pääsytopologia

Täysin erillinen pääsytopologia mahdollistaa jokaisen levyryhmän liittämisen vain yhteen klusterisolmuun (kuva 1). 5.5.6 ). Suositellaan vain sovelluksille, joille on ominaista täysin erillinen pääsyarkkitehtuuri.

Turvallisuuskysymykset

1. Anna klusterilaskentajärjestelmän määritelmä.

2. Nimeä klusterilaskentajärjestelmien tärkeimmät edut ja haitat.

3. Mitä klusterilaskentajärjestelmien luokituksia teet?

4. Mitä klusterijärjestelmän topologioita tiedät? Nimeä niiden edut ja haitat.

Kirjallisuus

1. Moniprosessoristen laskentajärjestelmien arkkitehtuurit ja topologiat / A.V. Bogdanov, V.V. Korhov, V.V. Mareev, E.N. Stankova. - M.: INTUIT.RU, 2004. - 176 s.

2. Mikroprosessorijärjestelmät: oppikirja. opas yliopistoille /

E.K. Aleksandrov, R.I. Grushvitsky, M.S. Kupriyanov ja muut; muokannut D.V. Puzankova . - Pietari: Politekhnika, 2002. - 935 s.

Klusterijärjestelmä

Mikä on klusteri?

Klusteri on kokoelma palvelimia, asemia ja työasemia, jotka:
· Toimi yhtenä järjestelmänä;
· Esitetty käyttäjille yhtenä järjestelmänä;
· Hallittu yhtenä järjestelmänä;
Klusteri on myös mahdollisuus käyttää järjestelmäsi laskentaresursseja siten, että tuloksena oleva järjestelmä ylittää ominaisuuksiltaan osien kokonaisominaisuudet.

Klusterin tärkeimmät edut ovat:
· Korkean käytettävyyden varmistaminen verrattuna erilaisiin tietokoneisiin tai palvelimiin. Lisääntynyt järjestelmän käytettävyys varmistaa, että liiketoimintakriittiset sovellukset toimivat mahdollisimman pitkään. Kriittisiä sovelluksia ovat kaikki sovellukset, jotka vaikuttavat suoraan yrityksen kykyyn tuottaa voittoa, tarjota palvelua tai tarjota muita elintärkeitä toimintoja. Klusterin käyttäminen varmistaa, että jos palvelin tai sovellus lakkaa toimimasta normaalisti, toinen klusterin palvelin jatkaa tehtäviensä suorittamista ja ottaa viallisen palvelimen roolin minimoimaan järjestelmävian aiheuttamat käyttökatkot.
· Huomattava lisäys verkon yleisessä suorituskyvyssä (korkea skaalautuvuus).
Klusterin avulla voit lisätä joustavasti järjestelmän laskentatehoa lisäämällä siihen uusia solmuja keskeyttämättä käyttäjien työtä.
· Verkkopalvelujen korkean saatavuuden varmistaminen. Vaikka jokin klusterin palvelimista epäonnistuisi, kaikki klusterin tarjoamat palvelut pysyvät käyttäjien saatavilla.

Jako korkean käytettävyyden ja korkean suorituskyvyn järjestelmiin

Toiminnallisessa luokittelussa klusterit voidaan jakaa "High Performance" (HP), "High Availability" (HA) ja "Mixed Systems".
Nopeita klustereita käytetään tehtäviin, jotka vaativat merkittävää laskentatehoa. Klassiset alueet, joilla tällaisia ​​järjestelmiä käytetään, ovat:
· kuvankäsittely: renderöinti, kuvioiden tunnistus
· tieteellinen tutkimus: fysiikka, bioinformatiikka, biokemia, biofysiikka
teollisuus (maantieteelliset tietoongelmat, matemaattinen mallintaminen)
ja monet muut...
Klustereita, jotka luokitellaan korkean käytettävyyden järjestelmiksi, käytetään aina, kun mahdollisen seisokkiajan kustannukset ylittävät klusterijärjestelmän rakentamiseen tarvittavien kustannusten kustannukset, esimerkiksi:
laskutusjärjestelmät
· pankkitoiminta
· sähköinen kaupankäynti
· yrityksen johtaminen jne...
Sekajärjestelmissä yhdistyvät sekä ensimmäisen että toisen ominaisuudet. Niitä sijoitettaessa on huomioitava, että klusterin, jolla on sekä High Performance- että High Availability -parametrit, suorituskyky heikkenee varmasti nopeaan laskentaan keskittyvälle järjestelmälle ja mahdollisissa seisokeissa korkean käytettävyyden tilassa työskentelevälle järjestelmälle.

Mikä on korkean käytettävyyden klusteri?
Korkean käytettävyyden klusteri on eräänlainen klusterijärjestelmä, joka on suunniteltu varmistamaan kriittisten sovellusten tai palveluiden jatkuva toiminta. Korkean käytettävyyden klusterin käytöllä voidaan estää sekä laitteisto- ja ohjelmistovioista johtuvat suunnittelemattomat seisokit että ohjelmistopäivityksiin tai laitteiden ennaltaehkäisevään huoltoon tarvittavat suunnitellut seisokit.

Klusteri koostuu kahdesta solmusta (palvelimesta), jotka on liitetty yhteiseen levyryhmään. Kaikki tämän levyryhmän pääkomponentit - virtalähde, levyasemat, I/O-ohjain - ovat redundantteja ja hot-swap-kelpoisia. Klusterisolmut on yhdistetty toisiinsa sisäisellä verkolla vaihtaakseen tietoja nykyisestä tilastaan. Klusteri saa virtansa kahdesta riippumattomasta lähteestä. Jokaisen solmun yhteys ulkoiseen paikallisverkkoon myös monistetaan.
Siten kaikilla klusterin alijärjestelmillä on redundanssia, joten jos jokin elementti epäonnistuu, klusteri kokonaisuutena pysyy toiminnassa.

Kuinka klusteri toimii
Klusteri koostuu useista tietokoneista, joita kutsutaan solmuiksi ja joissa on UNIX- tai Windows-pohjainen käyttöjärjestelmä. Nämä palvelimet toimivat yhtenä kokonaisuutena suhteessa muuhun verkkoon: tehokkaana "virtuaalisena" palvelimena. Asiakkaat muodostavat yhteyden klusteriin tietämättä, mikä tietokone todella palvelee heitä. Klusterien tarjoama keskeytymätön pääsy saavutetaan havaitsemalla ajoissa laitteiston ja ohjelmiston toiminnan rikkomukset ja siirtämällä tietojenkäsittelyprosessit automaattisesti toimivaan solmuun. Vakioklusterissa jokainen solmu on vastuussa tietyn määrän resursseista. Solmun tai resurssihäiriön sattuessa järjestelmä siirtää osan resursseista toiseen solmuun ja varmistaa niiden saatavuuden asiakkaille.