Tehokkaat klusteriratkaisut. Veritas Cluster Server -ohjelmistokomponentit

Tietotekniikan nopea kehitys, prosessoidun ja siirrettävän datan kasvu ja samalla lisääntyneet vaatimukset luotettavuudelle, käytettävyydelle, vikasietokyvylle ja skaalautuvuudelle pakottavat katsomaan uudella tavalla jo vielä kaukana nuoresta klusterointiteknologiasta. Tämän tekniikan avulla voit luoda melko joustavia järjestelmiä, jotka täyttävät kaikki edellä mainitut vaatimukset. Olisi väärin ajatella, että klusterin asentaminen ratkaisee ehdottomasti kaikki ongelmat. Mutta on täysin mahdollista saavuttaa vaikuttavia tuloksia klusteroimalla. Sinun on vain ymmärrettävä selvästi, mikä se on, mitkä ovat merkittävimmät erot niiden yksittäisten lajikkeiden välillä, ja myös tiedettävä tiettyjen järjestelmien edut - niiden tehokkuuden kannalta yrityksesi kannalta.

IDC:n analyytikot arvioivat, että klusterimarkkinat olivat vuonna 1997 vain 85 miljoonaa dollaria, kun taas viime vuonna markkinoiden "arvo" oli jo 367,7 miljoonaa dollaria. Nouseva trendi on ilmeinen.

Yritetään siis pistää kaikki "i"-kirjaimet. Toistaiseksi klusterille ei ole selkeää määritelmää. Lisäksi ei ole olemassa yhtä standardia, joka selkeästi säätelee klusteria. Älä kuitenkaan vaivu epätoivoon, sillä klusteroinnin ydin ei tarkoita minkään standardin noudattamista. Ainoa asia, joka määrittää, että klusteri on klusteri, on joukko vaatimuksia tällaisille järjestelmille. Listataan nämä vaatimukset (neljä sääntöä): l luotettavuus, l toimintojen saatavuus (saatavuus), l skaalautuvuus, l laskentateho. Tämän perusteella muotoilemme klusterin määritelmän. Klusteri on järjestelmä mielivaltaisista laitteista (palvelimet, levyasemat, tallennusjärjestelmät jne.), jotka tarjoavat 99,999 %:n vikasietoisuuden ja täyttävät myös "neljä sääntöä". Esimerkiksi palvelinklusteri on ryhmä palvelimia (kutsutaan yleisesti klusterisolmuiksi), jotka on yhdistetty ja määritetty tarjoamaan käyttäjälle pääsyn klusteriin yhtenä yhtenäisenä resurssina.

vikasietoisuus

Epäilemättä klusterin pääominaisuus on vikasietoisuus. Tämän vahvistaa käyttäjäkysely: 95 % vastaajista vastasi, että he tarvitsevat luotettavuutta ja vikasietoisuutta klustereissa. Näitä kahta ei kuitenkaan pidä sekoittaa. Vikasietokyky tarkoittaa tiettyjen toimintojen saatavuutta vian sattuessa, eli se on toimintojen redundanssia ja kuormituksen tasapainottamista. Ja luotettavuus ymmärretään joukoksi keinoja, jotka tarjoavat suojan vikoja vastaan. Tällaiset vaatimukset klusterijärjestelmien luotettavuudelle ja vikasietoisuudelle johtuvat niiden käytön erityispiirteistä. Otetaan pieni esimerkki. Klusteri palvelee sähköistä maksujärjestelmää, joten jos asiakas jossain vaiheessa jää ilman operaattoriyrityksen palvelua, se tulee hänelle kalliiksi. Toisin sanoen järjestelmän tulee toimia jatkuvasti 24 tuntia vuorokaudessa, seitsemänä päivänä viikossa (7-24). Samalla 99 %:n vikasietoisuus ei selvästikään riitä, sillä se tarkoittaa, että yrityksen tai toimijan tietojärjestelmä on poissa käytöstä lähes neljänä päivänä vuodessa. Tämä ei ehkä vaikuta pitkältä ajalta, kun otetaan huomioon ennaltaehkäisevä huolto ja järjestelmän huolto. Mutta tämän päivän asiakas on täysin välinpitämätön syistä, miksi järjestelmä ei toimi. Hän tarvitsee palveluita. Joten hyväksyttävä vikasietoluku on 99,999%, mikä vastaa 5 minuuttia vuodessa. Sellaiset indikaattorit voidaan saavuttaa itse klusteriarkkitehtuurilla. Otetaan esimerkki palvelinklusterista: kukin klusterin palvelin pysyy suhteellisen itsenäisenä, eli se voidaan pysäyttää ja sammuttaa (esimerkiksi huoltoa tai lisälaitteiden asennusta varten) koko klusterin toimintaa häiritsemättä. Klusterin muodostavien palvelimien (klusterisolmut) tiivis vuorovaikutus takaa sovellusten maksimaalisen suorituskyvyn ja minimaalisen seisokkiajan johtuen siitä, että: l yhden solmun ohjelmistovian sattuessa sovellus jatkaa toimintaansa (tai käynnistyy automaattisesti uudelleen) muissa klusterin solmuissa; l klusterin solmun (tai solmujen) vika tai vikaantuminen mistä tahansa syystä (mukaan lukien henkilöstövirheet) ei tarkoita koko klusterin vikaa; l ennaltaehkäisevä ylläpito, uudelleenkonfigurointi ja ohjelmistoversion muutos useimmissa tapauksissa voidaan suorittaa klusterin solmuissa yksitellen keskeyttämättä sovellusten toimintaa klusterin muissa solmuissa Mahdollinen seisokki, jota perinteiset järjestelmät eivät pysty estämään, klusterissa johtaa joko lievään suorituskyvyn heikkenemiseen (jos solmut suljetaan alas) tai merkittävä vähennys (sovellukset eivät ole käytettävissä vain lyhyen ajan, joka tarvitaan siirtymiseen toiseen solmuun ) saavuttaaksesi 99,99 %:n saatavuustason.

Skaalautuvuus

Klusterijärjestelmien korkea hinta johtuu niiden monimutkaisuudesta. Siksi klusterin skaalautuvuus on varsin olennaista. Loppujen lopuksi tietokoneet, joiden suorituskyky vastaa tämän päivän vaatimuksia, eivät välttämättä täytä niitä tulevaisuudessa. Kun järjestelmässä on melkein mikä tahansa resurssi, joutuu ennemmin tai myöhemmin kohtaamaan suorituskykyongelman. Tässä tapauksessa on kaksi skaalausvaihtoehtoa: vaaka- ja pystysuuntainen. Useimmat tietokonejärjestelmät mahdollistavat useita tapoja parantaa suorituskykyään: lisää muistia, lisää prosessorien määrää moniprosessorijärjestelmissä tai lisää uusia sovittimia tai levyjä. Tätä skaalausta kutsutaan pystyskaalaukseksi, ja se voi tilapäisesti parantaa järjestelmän suorituskykyä. Järjestelmä asetetaan kuitenkin tuettuun enimmäismäärään muistia, suorittimia tai levyjä, ja järjestelmäresurssit loppuvat. Ja käyttäjä joutuu kohtaamaan saman ongelman tietokonejärjestelmän suorituskyvyn parantamisessa kuin ennenkin. Skaalaus mahdollistaa lisätietokoneiden lisäämisen järjestelmään ja työn jakamisen niiden välillä. Siten uuden järjestelmän suorituskyky kokonaisuudessaan ylittää edellisen. Tällaisen järjestelmän luonnollinen rajoitus on ohjelmisto, jonka valitset siinä käytettäväksi. Yksinkertaisin esimerkki tällaisen järjestelmän käytöstä on eri sovellusten jakaminen järjestelmän eri komponenttien kesken. Voit esimerkiksi siirtää toimistosovelluksesi yhteen klusterin Web-sovellussolmuun ja yritystietokannat kolmanteen. Tämä herättää kuitenkin kysymyksen siitä, kuinka nämä sovellukset ovat vuorovaikutuksessa keskenään. Jälleen skaalautuvuus rajoittuu yleensä sovelluksissa käytettyyn tietoon. Eri sovellukset, jotka vaativat pääsyn samoihin tietoihin, tarvitsevat tavan tarjota pääsy dataan tällaisen järjestelmän eri solmuista. Ratkaisu tässä tapauksessa on teknologiat, jotka itse asiassa tekevät klusterista klusterin, eivät yhteen kytkettyjen koneiden järjestelmää. Tässä tapauksessa on tietysti edelleen mahdollista klusterijärjestelmän pystyskaalaus. Siten pysty- ja vaakaskaalauksen ansiosta klusterimalli tarjoaa kuluttajille merkittävän investointisuojan. Vaakaskaalauksen vaihtoehtona kannattaa huomioida myös kuormitusta tasapainottavan kytkimen kautta yhdistetyn tietokoneryhmän käyttö (Load Balancing technology ). Kuvaamme yksityiskohtaisesti tätä melko suosittua vaihtoehtoa seuraavassa artikkelissa. Huomioimme tässä vain tällaisen ratkaisun alhaiset kustannukset, lähinnä kytkimen (6 000 dollaria ja enemmän, riippuen toiminnallisesta laitteistosta) ja isäntäsovittimen (useita satoja dollareita kutakin; vaikka Voit tietysti käyttää tavallisia verkkokortteja). Näitä ratkaisuja käytetään enimmäkseen suuren liikenteen Web-sivustoissa, joissa yksi palvelin ei pysty käsittelemään kaikkia saapuvia pyyntöjä. Kyky jakaa kuorma tällaisen järjestelmän palvelinsolmujen välillä mahdollistaa yhden Web-sivuston luomisen useille palvelimille.

Beowulf tai laskentateho

Usein edellä kuvattujen kaltaisia ​​ratkaisuja kutsutaan Beowulf-klusteriksi. Tällaiset järjestelmät on ensisijaisesti suunniteltu maksimaalista laskentatehoa varten. Siksi lisäjärjestelmiä ei yksinkertaisesti tarjota luotettavuuden ja vikasietoisuuden lisäämiseksi. Tällainen ratkaisu erottuu erittäin houkuttelevasta hinnasta, ja ehkä juuri siksi se on saavuttanut suurimman suosion monissa koulutus- ja tutkimusorganisaatioissa. Beowulf-projekti ilmestyi vuonna 1994 - syntyi ajatus luoda rinnakkaisia ​​laskentajärjestelmiä (klustereita) julkisesti saatavilla olevista Intel-pohjaisista tietokoneista ja edullisista Ethernet-verkoista, asentamalla Linux ja yksi ilmaisista viestintäkirjastoista (PVM ja sitten MPI) näihin tietokoneisiin. Kävi ilmi, että monissa ongelmaluokissa ja riittävällä määrällä solmuja tällaiset järjestelmät tarjoavat supertietokoneen suorituskykyä. Kuten käytäntö osoittaa, tällaisen järjestelmän rakentaminen on melko helppoa. Tähän tarvitaan vain tehokas kytkin ja useita siihen kytkettyjä työasemia (palvelimia) asennetulla Linux-käyttöjärjestelmällä. Tämä ei kuitenkaan riitä. Jotta tämä kasa laitteistoa herää henkiin, tarvitaan erityinen rinnakkaislaskennan ohjelmisto, jonka yleisin rinnakkaisohjelmointirajapinta viestinvälitysmallissa on MPI (Message Passing Interface). Nimi "Messaging Interface" puhuu puolestaan. Se on hyvin standardoitu mekanismi rinnakkaisten ohjelmien rakentamiseen viestintämallissa. Ilmaisia ​​(!) ja kaupallisia toteutuksia on lähes kaikille supertietokonealustoille sekä UNIX- ja Windows NT -työasemaverkoille. Tällä hetkellä MPI on luokkansa laajimmin käytetty ja dynaamisesti kehittyvä käyttöliittymä. Suositeltu ilmainen MPI-toteutus on Argonne National Laboratoryn MPICH-paketti. MPI-standardointia hoitaa MPI Forum. Standardin uusin versio on 2.0. Tässä versiossa MPI lisää tärkeitä toimintoja, kuten dynaamisen prosessin ohjauksen, yksisuuntaisen tiedonsiirron (Put / Get), rinnakkaisen I / O:n. Suuren laskentatehon jatkuva kysyntä on johtanut houkuttelevien markkinoiden syntymiseen monille valmistajille. Jotkut heistä ovat kehittäneet omia tekniikoitaan tietokoneiden yhdistämiseksi klusteriin. Tunnetuimmat niistä ovat MyriComin Myrinet ja Giganetin cLAN. Myrinet on avoin standardi. MyriCom tarjoaa toteutukseensa laajan valikoiman verkkolaitteita suhteellisen alhaisilla hinnoilla. Fyysinen kerros tukee SAN-verkkoa (System Area Network), LAN-verkkoa (CL-2) ja kuituoptiikkaa. Myrinet-teknologia tarjoaa verkon korkean skaalautuvuuden, ja sitä käytetään nyt erittäin laajalti tehokkaiden klustereiden rakentamisessa. Giganet kehittää ohjelmistoja ja laitteistoja klusteripalvelimien keskusyksiköiden suoraa vuorovaikutusta varten gigabitin nopeuksilla, ohittaen käyttöjärjestelmän toiminnot. Ratkaisu maksaa noin 2 500 dollaria 8-porttisesta kytkimestä, 150 dollaria Myrinet-sovittimesta, 6 250 dollaria 8-porttisesta kytkimestä ja 800 dollaria Giganet-sovittimesta. Jälkimmäinen muuten sai Best of Show -palkinnon Microsoft Tech Ed 2000 -tapahtumassa. Esimerkkinä mainitaan Beowulf-klusterin toteutus Venäjän federaation tiede- ja teknisen politiikan ministeriön korkean suorituskyvyn laskennan ja tietokantojen instituutissa. "PARITET"-niminen klusteri on luotu yleisesti saatavilla olevien henkilökohtaisten tietokoneiden ja työasemien komponenttien pohjalta, ja sen kokonaisteho on 3,2 GFLOP/s. Klusteri koostuu neljästä kahden prosessorin laskentasolmusta, jotka perustuvat Intel Pentium II / 450 MHz -prosessoreihin. Jokaisessa solmussa on 512 Mt RAM-muistia ja 10 Gt:n Ultra Wide SCSI -kiintolevy. Klusterin laskentasolmuja yhdistää korkean suorituskyvyn Myrinet-kytkin (kanavat kaistanleveydellä 1,28 Gt / s, full duplex). Ohjaukseen ja konfigurointiin käytetään myös redundanttia verkkoa (100 Mbit Fast Ethernet). Laskennalliset klusterisolmut on varustettu Linux-käyttöjärjestelmällä (Red Hat 5.2 -jakelu). MPI / PVM -viestintärajapintoja käytetään rinnakkaisten sovellusten ohjelmointiin.

Miniklusteri Delliltä ja Compaqilta

Klusterin rakentamiseen tarkoitetun kytkentäratkaisun lisäksi tarjolla on useita muita ratkaisuja, sekä laitteistoja että ohjelmistoja. Jotkut ratkaisut ovat monimutkaisia ​​ja toimitetaan "sellaisenaan" - "kaikki yhdessä laatikossa". Jälkimmäinen vaihtoehto - kutsutaan sitä "klusteriksi laatikossa" - on myös melko suosittu, koska se on suunniteltu massamarkkinoille ja on lähtötason klusteri (suorituskyvyn ja skaalautuvuuden suhteen). Tällaisten järjestelmien rakenne, sisäisten komponenttien yhteenliittäminen, luotettavuus ja vikasietoisuus ovat kuitenkin täysin sopusoinnussa "suurten" järjestelmien kanssa. Ymmärtääksemme, miten klusteri toimii, tarkastellaan kahta samanlaista tuotantojärjestelmää - Compaqia ja Dellia. Näiden tunnettujen tietokonemarkkinoiden toimijoiden klusterit rakennetaan kahdesta DELL-palvelimesta - PowerEdge 6100 tai PowerEdge 4200 ja puolestaan ​​Compaq - Proliant 1850R. Ohjelmistona käytetään Microsoft Cluster Server (Compaq, Dell) tai Novell High-Availability Services for NetWare 4.0 / Clustering Services for NetWare 5.0 (Compaq). Ohjelmiston avulla voit määrittää kaksi palvelinta siten, että jos toinen klusterin palvelimista epäonnistuu, sen työ ja sovellukset siirretään välittömästi automaattisesti toiselle palvelimelle, mikä eliminoi seisokit. Molemmat klusterin palvelimet tarjoavat resurssejaan tuotantotöiden suorittamiseen, joten kumpikaan ei ole lepotilassa odottamassa toisen epäonnistumista. Kuvassa näkyvä konfiguraatio on tyypillinen vikasietoperiaatteella toteutettu klusteri, joka tarjoaa korkean tason komponenttien saatavuus ja päällekkäisyys järjestelmätasolla. Kahden palvelimen välinen viestintä tapahtuu paikallisverkon omistetun alueen niin sanotun sykeyhteyden kautta. Kun ensisijaisessa palvelimessa tapahtuu vika, toinen palvelin, joka tarkkailee sykeviestejä, oppii, että ensisijainen palvelin ei ole toiminnassa, ja ottaa vastuulleen epäonnistuneen koneen työkuorman. Suoritetut toiminnot sisältävät sovellusten, prosessien ja palveluiden käynnistämisen, joita tarvitaan vastaamaan asiakkaan pyyntöihin päästä palvelimeen, joka on epäonnistunut. Vaikka jokaisella klusterin palvelimella on oltava kaikki resurssit, joita tarvitaan toisen palvelimen toimintojen ottamiseksi, suoritettavat perusvastuut voivat olla hyvin erilaisia. Toissijainen palvelin, joka on osa vikasietoklusteria, täyttää hot standby -ominaisuuden vaatimuksen, mutta se voi myös käyttää omia sovelluksiaan. Huolimatta resurssien massiivisesta päällekkäisyydestä, tällaisella klusterilla on kuitenkin pullonkaula - SCSI-väylän ja jaetun ulkoisen muistijärjestelmän välinen rajapinta, jonka epäonnistuminen johtaa klusterin epäonnistumiseen. Vaikka valmistajien mukaan tämän todennäköisyys on mitätön, tällaiset miniklusterit on ensisijaisesti suunniteltu itsenäiseen toimintaan ilman jatkuvaa valvontaa ja hallintoa. Käyttöesimerkkinä voidaan mainita suuryritysten etätoimistoille tarkoitettu ratkaisu kriittisimpien sovellusten (tietokannat, sähköpostijärjestelmät jne.) korkean käytettävyyden (7-24) varmistamiseksi. Tehokkaiden mutta joustavien lähtötason järjestelmien kasvavan kysynnän myötä näiden klustereiden markkinat näyttävät melko hyviltä. Ainoa "mutta" on, että kaikki klusterijärjestelmien potentiaaliset kuluttajat eivät ole valmiita maksamaan noin 20 000 dollaria kahden palvelimen järjestelmästä.

Kuiva jäännös

Yhteenvetona on huomattava, että klustereilla on vihdoin massamarkkinat. Tämä johtopäätös on helppo tehdä Standish Group Internationalin analyytikoiden ennusteiden perusteella, jotka väittävät, että seuraavan kahden vuoden aikana asennettujen klusterijärjestelmien määrän globaali kasvu on 160 %. Lisäksi IDC:n analyytikot ovat laskeneet, että klusterimarkkinat olivat vuonna 1997 vain 85 miljoonaa dollaria ja viime vuonna markkinoiden "arvoltaan" jo 367,7 miljoonaa dollaria. Nouseva trendi on ilmeinen. Itse asiassa klusteriratkaisujen tarve syntyy nykyään paitsi suurissa konesaleissa, myös pienissä yrityksissä, jotka eivät halua elää "halpa maksaa kaksi kertaa" -periaatteella ja sijoittavat rahansa erittäin luotettaviin ja helposti skaalautuviin klusterijärjestelmiin. Onneksi vaihtoehtoja klusterin toteuttamiseen on enemmän kuin tarpeeksi. Kun valitset ratkaisua, muista kuitenkin, että kaikki klusterin parametrit ovat toisistaan ​​riippuvaisia. Toisin sanoen, sinun on priorisoitava selkeästi klusterin vaadittavat toiminnot, koska suorituskyvyn kasvaessa käytettävyysaste (saatavuus) laskee. Tuottavuuden lisääminen ja vaaditun käytettävyystason varmistaminen johtaa väistämättä ratkaisun kustannusten nousuun. Käyttäjän tulee siis tehdä se tärkein asia - löytää kultainen keskitie klusterin kyvyistä tällä hetkellä. Tämä on sitä vaikeampi tehdä, mitä enemmän erilaisia ​​ratkaisuja tarjotaan nykyään klusterimarkkinoilla.. Artikkelin valmistelussa käytettiin materiaalia WWW-palvelimista: 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

Klusteri on joukko tietokoneita, jotka on kytketty toisiinsa nopeilla viestintäkanavilla ja jotka näyttävät yhdeltä yhteiseltä laitteistoresurssilta.

Gregory Pfister, joka oli yksi ensimmäisistä klusteriteknologian kehittäjistä, määritteli klusterin merkityksen seuraavilla sanoilla: "Klusteri on yksi hajautetun tai rinnakkaisen järjestelmän muodoista." Tällaiset järjestelmät voivat koostua joko useista tietokoneista, jotka on kytketty toisiinsa, tai niitä voidaan käyttää yhtenä yhtenäisenä tietokoneresurssina. Tällä hetkellä hyväksyttävimpänä vaihtoehdona klusterisolmujen valinnassa pidetään Intel-prosessoreihin perustuvia käyttöjärjestelmiä. Syitä on useita, joiden harkinnan tulosten perusteella optimaalisin vaihtoehto klustereiden rakentamiselle on luoda ne kaksiprosessorijärjestelmien pohjalta.

    Klusterit luokitellaan useisiin päätyyppeihin:
  • 1. Erittäin saatavilla olevat klusterit.
    Näitä klustereita käytetään varmistamaan kyseisen klusterin edustaman palvelun paras mahdollinen saatavuus. Jos yksi klusteri sisältää maksimimäärän solmuja, sillä hetkellä, kun yksi tai useampi palvelin epäonnistuu, on palveluntarjonnan takuu. Kannettavien tietokoneiden huolto- ja korjausyritykset neuvovat käyttäjiä, että käytettävyyden parantamiseksi vaadittavien solmujen vähimmäismäärä on enintään kaksi solmua. Tällaisten klustereiden luomiseen on olemassa monia erilaisia ​​ohjelmistokehityksiä.
  • 2. Klusterit kuormituksen tasaustoiminnoilla.
    Tämäntyyppisten klustereiden toimintaperiaate on pyyntöjen jakaminen yhden tai useamman tulosolmun kautta kerralla, jotka puolestaan ​​ohjaavat ne suoritettaviksi kaikille muille solmuille. Ensimmäisessä vaiheessa tämän klusterin kehittäjät uskoivat sen olevan vastuussa suorituskyvystä, mutta useimmissa tapauksissa, koska tällaiset klusterit on varustettu erityisillä menetelmillä, niitä käytetään luotettavuuden parantamiseen. Tällaisia ​​rakenteita kutsutaan myös pohjoisiksi maatiloiksi.
  • 3. Laskentaklusterit.
    Näitä klustereita käytetään laajalti laskennassa, nimittäin suoritettaessa erilaisia ​​tieteellisiä tutkimuksia, joita tehdään moniprosessoriklusterijärjestelmien kehittämisprosessissa. Laskentaklusterit erottuvat prosessorien korkeasta suorituskyvystä liukulukutoimintojen aikana ja yhteenliittävien verkkojen alhaisesta latenssista. Lisäksi laskentaklustereilla on joitakin ainutlaatuisia ominaisuuksia, ja ne vähentävät merkittävästi laskelmiin käytettyä aikaa.
  • 4. Hajautetun laskennan järjestelmät.
    Tällaisia ​​järjestelmiä ei pidetä klustereina, mutta ne eroavat samanlaisista tekniikoista, joita käytetään klustereiden luomiseen. Tärkein niiden ero on se, että näiden järjestelmien jokaisen solmun käytettävyys on erittäin alhainen, eli sen hedelmällistä toimintaa ei voida taata. Siksi tässä tapauksessa tietyn tehtävän suorittamiseksi se on jaettava useiden itsenäisten prosessorien kesken. Tämän tyyppisellä järjestelmällä, toisin kuin klusterilla, ei ole mitään tekemistä yhden tietokoneen kanssa, vaan se palvelee vain yksinkertaistettua tapaa jakaa saadut laskelmat. Tämän muunnelman epävakaa konfiguraatio kompensoidaan suurelta osin solmujen suurella määrällä.

Wikipediasta, ilmaisesta tietosanakirjasta

Network Load Balancing (NLB) -klusterit

Niiden toimintaperiaate perustuu pyyntöjen jakamiseen yhden tai useamman syöttösolmun kautta, jotka ohjaavat ne käsittelyä varten muihin laskennallisiin solmuihin. Tällaisen klusterin alkuperäinen tarkoitus on suorituskyky, mutta usein niissä käytetään myös luotettavuutta parantavia menetelmiä. Näitä rakenteita kutsutaan palvelinfarmiksi. Ohjelmisto (ohjelmisto) voi olla joko kaupallinen (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) tai ilmainen (OpenMosix, Sun Grid Engine, Linux Virtual Server).

Laske klusterit

Klustereita käytetään laskennallisiin tarkoituksiin, erityisesti tieteellisessä tutkimuksessa. Laskentaklustereille merkittäviä indikaattoreita ovat prosessorin korkea suorituskyky liukulukujen (flops) toiminnoissa ja taustaverkon alhainen latenssi, ja vähemmän merkittäviä - I / O-toimintojen nopeus, joka on tärkeämpää tietokannoille ja verkkopalveluille. Laskentaklusterit mahdollistavat laskenta-ajan lyhentämisen yksittäiseen tietokoneeseen verrattuna jakamalla tehtävän rinnakkain käynnissä oleviin haaroihin, jotka vaihtavat tietoja yhdistävän verkon kautta. Eräs tyypillinen kokoonpano on joukko tietokoneita, jotka on rakennettu julkisesti saatavilla olevista komponenteista, joissa on Linux-käyttöjärjestelmä ja jotka on yhdistetty Ethernetillä, Myrinetillä, InfiniBandilla tai muilla suhteellisen edullisilla verkkoilla. Tätä järjestelmää kutsutaan yleisesti Beowulf-klusteriksi. Suorituskykyiset klusterit erotetaan erityisesti (merkitty englanninkielisellä lyhenteellä HPC-klusteri - Tehokas laskentaklusteri). Luettelo tehokkaimmista korkean suorituskyvyn tietokoneista (voidaan myös merkitä englanninkielisellä lyhenteellä HPC) löytyy maailman TOP500-listalta. Venäjällä on IVY:n tehokkaimpien tietokoneiden luokitus.

Hajautetut laskentajärjestelmät (grid)

Tällaisia ​​järjestelmiä ei pidetä klustereina, mutta niiden periaatteet ovat pitkälti samanlaisia ​​kuin klusteriteknologia. 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 itsenäisiin prosesseihin. Tällainen järjestelmä, toisin kuin klusterit, ei näytä yhdeltä tietokoneelta, vaan toimii yksinkertaistettuna tapana jakaa laskelmia. Tässä tapauksessa konfiguraation epävakautta kompensoi suuri määrä solmuja.

Ohjelmallisesti järjestetty palvelimien klusteri

Klusteroidut järjestelmät ottavat oikeutetun paikkansa nopeimpien listalla, mutta ovat hinnaltaan huomattavasti supertietokoneita parempia. Heinäkuussa 2008 TOP500-luokituksen 7. sijalla on SGI Altix ICE 8200 -klusteri (Chippewa Falls, Wisconsin, USA).

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

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

Tarina

Klusterien syntyhistoria liittyy erottamattomasti tietokoneverkkojen alan varhaiseen kehitykseen. Yksi syy tietokoneiden välisen nopean tiedonsiirron syntymiseen oli toivo laskentaresurssien yhdistämisestä. 1970-luvun alussa TCP/IP-protokollaryhmä ja Xerox PARC loivat verkkostandardit. Hydra-käyttöjärjestelmä DEC PDP-11 -tietokoneille ilmestyi myös, tällä perusteella luotu klusteri sai nimekseen C.mpp (Pittsburgh, Pennsylvania, USA, 1971). Kuitenkin vasta vuoden 1983 tienoilla luotiin mekanismeja, jotka helpottavat tehtävien ja tiedostojen jakamista verkon yli. Suurin osa niistä kehitettiin SunOS:ssä (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 klusterien rakentaminen kehittyi vasta 1984, jolloin DEC rakensi VAX/VMS-käyttöjärjestelmään perustuvan VAXclusterin. ARCNet ja VAXcluster on suunniteltu paitsi yhteisiin laskelmiin, myös tiedostojärjestelmän ja oheislaitteiden yhteiskäyttöön ottaen huomioon tietojen eheyden ja yksiselitteisyyden säilymisen. VAXCluster (nyt VMSCluster) on DEC Alpha- ja Itanium-suorittimilla toimivan OpenVMS-käyttöjärjestelmän olennainen osa.

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

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

Halviin henkilökohtaisiin tietokoneisiin perustuvien, tiedonsiirtoverkon yhdistämien klusterien luomista jatkoi vuonna 1993 American Aerospace Agency NASA, sitten vuonna 1995 kehitettiin erityisesti tälle periaatteelle suunnitellut Beowulf-klusterit. Tällaisten järjestelmien menestys on johtanut UNIXin perustamisesta lähtien olemassa olevien gridien kehittämiseen.

Ohjelmisto

Laajalti käytetty työkalu palvelinten välisen viestinnän järjestämiseen on MPI-kirjasto, joka tukee kieliä ja Fortran. Sitä käytetään esimerkiksi sääsimulaatio-ohjelmassa.

Solaris-käyttöjärjestelmä tarjoaa Solaris Cluster -ohjelmiston, joka tarjoaa korkean käytettävyyden ja käytettävyyden Solarista käyttäville palvelimille. OpenSolaris-sovellukselle on avoimen lähdekoodin toteutus nimeltään OpenSolaris HA -klusteri.

Useat ohjelmat ovat suosittuja GNU/Linux-käyttäjien keskuudessa:

  • distcc, MPICH jne. - erikoistyökalut ohjelmien työn rinnakkain. distcc mahdollistaa rinnakkaisen kääntämisen GNU Compiler Collectionissa.
  • Linux Virtual Server, Linux-HA - isäntäohjelmisto pyyntöjen jakamiseen laskentapalvelimien välillä.
  • MOSIX, openMosix, Kerrighed, OpenSSI ovat ytimeen rakennettuja klusteriympäristöjä, jotka jakavat tehtävät automaattisesti homogeenisten solmujen kesken. OpenSSI, openMosix ja Kerrighed luovat solmujen välillä.

Klusterointimekanismit suunnitellaan myös rakennettavan DragonFly BSD -ytimeen, joka erottui FreeBSD 4.8:sta vuonna 2003. Kaukaisissa suunnitelmissa myös sen kääntäminen yksi käyttöjärjestelmäympäristö.

Microsoft julkaisee HA-klusterin Windows-käyttöjärjestelmälle. Uskotaan, että se luotiin Digital Equipment Corporation -teknologian pohjalta, tukee jopa 16 (vuodesta 2010) solmua klusterissa sekä toimii SAN-verkossa (Storage Area Network). Sovellusliittymiä käytetään tukemaan hajautettuja sovelluksia; on olemassa malleja sellaisten ohjelmien kanssa työskentelyyn, jotka eivät tarjoa työtä klusterissa.

Kesäkuussa 2006 julkaistu Windows Compute Cluster Server 2003 (CCS) on suunniteltu korkean teknologian sovelluksiin, jotka vaativat klusterilaskentaa. Painos on suunniteltu käytettäväksi useissa tietokoneissa, jotka on koottu klusteriksi supertietokoneen tehon saavuttamiseksi. Jokainen Windows Compute Cluster Serverin klusteri koostuu yhdestä tai useammasta pääkoneesta, joka jakaa töitä, ja useista orjakoneista, jotka tekevät päätyön. Windows HPC Server 2008 esiteltiin marraskuussa 2008 korvaamaan Windows Compute Cluster Server 2003:n.

Kirjoita arvostelu yritykselle Cluster (Computer Group)

Huomautuksia (muokkaa)

Katso myös

Linkit

Ote, joka kuvaa klusteria (tietokoneryhmä)

- No, bg "at, tepeg" mennään kuivaamaan itseämme, - hän sanoi Petelle.
Lähestyessään metsävartiotaloa Denisov pysähtyi ja kurkisti metsään. Mies takissa, jalkakengissä ja kazanilaisessa hatussa, ase olkapäällä ja kirves vyössä, käveli metsän läpi puiden välissä suurilla, kevyillä askeleilla pitkillä jaloilla, pitkät roikkuvat käsivarret. Nähdessään Denisovin tämä mies heitti kiireesti jotain pensaan ja, riisuttuaan märän hatun roikkuvan reunan kanssa, meni päällikön luo. Se oli Tikhon. Hänen isorokkokuoppaiset ja ryppyiset kasvonsa pienillä kapeilla silmillä loistivat itsetyytyväisestä huvituksesta. Hän nosti päänsä korkealle ja tuijotti Denisovia ikään kuin nauramatta.
"No, mihin pg" putosi?" Denisov sanoi.
- Missä olit ollut? Menin ranskalaisten perään, - Tikhon vastasi rohkeasti ja hätäisesti käheässä, mutta melodisessa bassossa.
- Miksi kiipesit iltapäivällä? Peto! No, eikö ottanut? ..
"Otin sen", sanoi Tikhon.
- Missä hän on?
- Kyllä, otin hänet ensin ja ennen kaikkea aamunkoittoon, - jatkoi Tikhon, järjestelyssä leveämmät litteät jalat, kierrettynä nilkikengissä - ja johdatin hänet metsään. Näen, että se ei ole kunnossa. Luulen, että anna minun mennä, otan toisen varovaisemman kuin mitä.
- Katso, roisto, se on, - sanoi Denisov esaulille. - Miksi et tehnyt tätä?
"Mutta miksi ajaa häntä", Tikhon keskeytti vihaisesti ja hätäisesti, "hän ei ole nälkäinen. Enkö tiedä, mitkä sinä haluat?
- Mikä peto! .. No? ..
- Menin hakemaan toista, - Tikhon jatkoi, - ryömin metsään sillä tavalla ja menin nukkumaan. - Tikhon makasi odottamatta ja joustavasti vatsallaan kuvitellen heidän kasvoilleen, kuinka hän teki sen. "Yksi ja ole varma", hän jatkoi. - Ryöstelen hänet sellaisella tavalla. - Tikhon hyppäsi ylös nopeasti, helposti. - Mennään, sanon, everstin luo. Kuinka zagald. Ja niitä on neljä. He ryntäsivät minua vastaan ​​vartaalla. Minä heitän kirveellä sellaisella tavalla: sinä, he sanovat, Kristus on kanssasi, huudahti Tikhon heiluttaen käsiään ja rypistellen uhkaavasti, paljastaen rintansa.
"Nyt näimme vuorelta, kuinka kysyit lätäköiden lätäkköä", sanoi esaul tiivistäen loistavia silmiään.
Petya halusi todella nauraa, mutta hän näki, että kaikki pidättäytyivät nauramasta. Hän käänsi nopeasti katseensa Tikhonin kasvoilta Esaulin ja Denisovin kasvoille ymmärtämättä mitä tämä kaikki tarkoitti.
- Kaivot "aka älä kuvittele", sanoi Denisov yskien vihaisesti.
Tikhon alkoi raapia selkänsä toisella kädellä, päätä toisella, ja yhtäkkiä hänen koko kasvonsa venytivät kiiltäväksi, typeräksi hymyksi, joka paljasti hampaan puuttumisen (josta hän sai lempinimen Shcherbaty). Denisov hymyili, ja Petja purskahti iloiseen nauruun, johon Tikhon itse liittyi.
- Kyllä, ehdottoman epäreilua, - sanoi Tikhon. - Huonot vaatteet päällä, minne hänet sitten viedä. Kyllä, ja töykeä mies, kunniasi. Miksi, hän sanoo, olen itse anaralialainen poika, en mene, hän sanoo.
- Mikä raaka! - sanoi Denisov. - Minun täytyy kysyä...
- Kyllä, kysyin häneltä, - sanoi Tikhon. - Hän sanoo: huono tieto. Hän sanoo, että meidän on monia, mutta kaikki ovat huonoja; vain, sanoo yksi nimi. Ahnete, hän sanoo, no, sinä otat kaikki", päätti Tikhon katsoen iloisesti ja päättäväisesti Denisovin silmiin.
- Täällä kaadan ne sadat gogit "yachih, sinusta tulee kaareva" eli tuo kog "chit", sanoi Denisov ankarasti.
- Mutta miksi sitten olla vihainen, - sanoi Tikhon, - no, en ole nähnyt ranskalaisianne? Anna sen tummua, olen juuri sitä mitä haluan, tuon niistä ainakin kolme.
"No, mennään", Denisov sanoi ja ajoi koko matkan vartiotalolle rypistyen vihaisesti ja hiljaa.
Tikhon tuli perässä, ja Petja kuuli, kuinka kasakat nauroivat hänen kanssaan ja hänelle joillekin saappaille, jotka hän heitti pensaan.
Kun se nauru, joka valloitti hänet, ohitti Tikhonin sanojen ja hymyn, ja Petja tajusi hetken, että tämä Tikhon oli tappanut miehen, hän tunsi olonsa kiusaksi. Hän katsoi takaisin vangittua rumpalia, ja jokin osui hänen sydämeensä. Mutta tämä kiusallisuus kesti vain hetken. Hän tunsi tarvetta nostaa päätään korkeammalle, piristää ja kyseenalaistaa Esaul merkittävällä tuulella huomisen hankkeesta, jotta hän ei olisi arvoton sille yhteiskunnalle, jossa hän oli.
Lähetetty upseeri tapasi Denisovin tiellä ja kertoi, että Dolokhov tulee nyt itse ja että kaikki on kunnossa hänen puolellaan.
Denisov iloitsi yhtäkkiä ja kutsui Petyan luokseen.
"No, kerro itsestäsi", hän sanoi.

Petya, joka lähti Moskovasta jättäen sukulaisensa, liittyi rykmenttiinsä ja pian sen jälkeen vei hänet kenraalin luo suuren joukon komentajaksi. Upseeriksi ylennyksensä ja varsinkin aktiiviseen armeijaan tullessaan, jossa hän osallistui Vjazemskin taisteluun, Petja oli jatkuvasti onnellisen innoissaan ilon tilassa, että hän oli iso, ja jatkuvasti innostunut kiire ei. kaipaamaan todellista sankaruutta... Hän oli erittäin tyytyväinen näkemäänsä ja kokemaansa armeijassa, mutta samalla hänestä tuntui, että missä hän ei ollut, siellä nyt tapahtuu todellisinta, sankarillisinta. Ja hänellä oli kiire päästäkseen sinne, missä hän ei ollut.
Kun hänen kenraalinsa ilmaisi 21. lokakuuta halunsa lähettää joku Denisovin osastolle, Petja pyysi niin säälittävästi lähettämään hänet, ettei kenraali voinut kieltäytyä. Mutta lähettäessään hänet, kenraali, muistaen Petyan hullun teon Vjazemsky-taistelussa, jossa Petya sen sijaan, että olisi mennyt tiellä sinne, minne hänet lähetettiin, laukkasi ketjuun ranskalaisen tulen alla ja ampui siellä kahdesti pistoolistaan ​​- lähettäen hänelle, kenraali se oli hän, joka kielsi Petyaa osallistumasta Denisovin toimiin. Tämän vuoksi Petya punastui ja hämmentyi, kun Denisov kysyi, voisiko hän jäädä. Ennen kuin hän lähti metsän reunaan, Petya ajatteli, että hänen täytyi tiukasti täyttää velvollisuutensa palata välittömästi. Mutta kun hän näki ranskalaiset, näki Tikhonin ja sai tietää, että yöllä he varmasti hyökkäävät, hän päätti nuorten siirtymien nopeudesta silmäyksellä toiselle itsensä kanssa, että hänen kenraalinsa, jota hän edelleen kunnioitti suuresti. , oli roskaa, saksalainen, että Denisov on sankari ja Esaul on sankari ja että Tikhon on sankari, ja että hän häpeäisi jättää heidät vaikealla hetkellä.
Oli jo hämärää, kun Denisov Petjan ja Esaulin kanssa ajoi vartiotalolle. Puolipimeässä saattoi nähdä hevosia satuloissa, kasakoita, husaareja pystyttämässä mökkejä avoimille ja (jotta ranskalaiset eivät näkisi savua) sytyttävässä punaista tulta metsärotossa. Pienen kotan sisäänkäynnissä kasakka kääri hihat ja pilkkoi lampaanlihaa. Itse kolassa oli kolme Denisovin seurueen upseeria, jotka järjestivät pöydän ovelta. Petya otti pois märän mekkonsa antaen sen kuivua ja alkoi heti auttaa upseereita ruokapöydän järjestämisessä.
Kymmenessä minuutissa pöytä oli valmis lautasliinalla peitettynä. Pöydällä oli vodkaa, rommia pullossa, valkoista leipää ja paistettua lammasta suolalla.
Istuessaan pöydässä upseerien kanssa ja repimässä käsillään rasvaa, tuoksuvaa karitsaa, jonka läpi sihra virtasi, Petya oli lapsuuden hurmiossa tilassa, jossa hän rakasti kaikkia ihmisiä ja sen seurauksena luotti samaan rakkauteen muita ihmisiä kohtaan. hänelle itselleen.
- Joten mitä ajattelet, Vasily Fedorovich, - hän kääntyi Denisoviin, - onko hyvä, että jään kanssasi päivän? - Ja odottamatta vastausta hän vastasi itsekseen: - Loppujen lopuksi minut on käsketty ottamaan selvää, no, tässä minä saan sen selville... Vain sinä päästät minut siihen ... pääasiaan. . En tarvitse palkintoja... Mutta haluan... - Petya puristi hampaitaan ja katsoi ympärilleen, nykien kohotettua päätään ja heilutellen kättään.
- Tärkeimmässä... - toisti Denisov hymyillen.
- Vain, ole kiltti, anna minulle komento ollenkaan, jotta minä olen komennossa, - jatkoi Petya, - no, mitä se sinulle maksaa? Ai, onko sinulla veitsi? - hän kääntyi poliisin puoleen, joka halusi katkaista lampaanlihan. Ja hän ojensi veitsensä.
Virkailija kehui veistä.
- Ota itsesi. Minulla on niitä paljon... - Petya sanoi punastuen. - Isät! Unohdin kokonaan ”, hän huusi yhtäkkiä. - Minulla on ihania rusinoita, sellaisia, ilman siemeniä. Meillä on uusi merkki - ja niin upeita asioita. Ostin kymmenen puntaa. Olen tottunut johonkin makeaan. Haluatko? .. - Ja Petya juoksi käytävään kasakansa luo, toi pusseja, joissa oli viisi kiloa rusinoita. - Syökää, herrat, syökää.
- Tarvitsetko kahvipannun? - hän kääntyi esaulin puoleen. - Ostin sen kauppiaalta, ihanaa! Hänellä on upeita asioita. Ja hän on hyvin rehellinen. Tämä on pääasia. Lähetän sen sinulle erehtymättä. Ja ehkä enemmänkin, piikiviä tuli esiin, piikivillä peitettynä - sitähän tapahtuu. Otin mukaani, minulla on se täällä... - hän osoitti laukkua - sata piikiveä. Ostin sen erittäin halvalla. Ota, ole kiltti, niin paljon kuin tarvitset, tai jopa siinä kaikki... - Ja yhtäkkiä Petya, pelästynyt valehtelemisestaan, pysähtyi ja punastui.
Hän alkoi muistaa, oliko hän tehnyt muita typeryksiä. Ja lajitellessaan nykypäivän muistoja, ranskalaisen rumpalin muisto ilmaantui hänelle. "Se sopii meille, mutta miltä hänestä tuntuu? Mistä otit sen? Syötkö hänet? Oletko loukannut?" Hän ajatteli. Mutta kun hän huomasi valehtelevansa piikivistä, hän pelkäsi nyt.
"Voisi kysyä", hän ajatteli, "mutta he sanovat: hän itse sääli poikaa. Näytän heille huomenna, millainen poika olen! Häpeätkö jos kysyn? - Petya ajatteli. "No eipä sillä väliä!" - ja välittömästi punastuen ja katsoen pelokkaasti upseereihin, jos heidän kasvoillaan olisi pilkallista, hän sanoi:
- Voinko soittaa tälle pojalle, joka oli vangittu? anna hänelle jotain syötävää...ehkä...
- Kyllä, säälittävä poika, - sanoi Denisov, ei ilmeisesti löytänyt mitään häpeällistä tästä muistutuksesta. - Soita hänelle tänne. Vincent Bosse on hänen nimensä. Soittaa puhelimella.
- Soitan, - sanoi Petya.
- Soita, soita. Säälittävä poika ”, Denisov toisti.
Petja seisoi ovella, kun Denisov sanoi tämän. Petya kiipesi upseerien väliin ja tuli lähelle Denisovia.
"Anna minun suudella sinua, kultaseni", hän sanoi. - Voi kuinka hienoa! kuinka hyvä! - Ja suuteltuaan Denisovia hän juoksi pihalle.
- Bosse! Vincent! - Petya huusi pysähtyen ovelle.
- Kenet haluat, sir? sanoi ääni pimeydestä. Petya vastasi, että poika oli ranskalainen, jonka he olivat ottaneet tänään.
- A! Kevät? - sanoi kasakka.
Hänen nimensä Vincent on jo muutettu: kasakat - kevääksi ja miehet ja sotilaat - Visenyaksi. Molemmissa versioissa tämä muistutus keväästä vastasi ajatusta nuoresta pojasta.
- Hän lämmitti itsensä siellä nuotion ääressä. Hei Visenya! Visenya! Kevät! - kuuluivat pimeässä välittäviä ääniä ja naurua.
- Ja poika on älykäs, - sanoi husaari, joka seisoi Petyan vieressä. - Syötimme hänet juuri nyt. Intohimolla oli nälkä!
Pimeässä kuului askelia ja rumpali lähestyi ovea paljain jaloin mudassa.
"Ah, c" est vous! "Sanoi Petya." Voulez vous manger? N "ayez pas peur, on ne vous fera pas de mal", hän lisäsi arka ja hellästi koskettaen hänen kättään. - Entrez, entrez. [Voi, se olet sinä! Haluatko syödä? Älä pelkää, he eivät tee sinulle mitään. Tule sisään, tule sisään.]
- Merci, monsieur, [Kiitos, sir.] - rumpali vastasi vapisevalla, melkein lapsellisella äänellä ja alkoi pyyhkiä likaisia ​​jalkojaan kynnyksellä. Petya halusi sanoa paljon rumpalille, mutta hän ei uskaltanut. Hän vaihtaessaan seisoi hänen vieressään eteisessä. Sitten pimeässä hän otti hänen kätensä ja pudisti sitä.
"Entrez, entrez", hän toisti vain lempeällä kuiskauksella.
"Voi, mitä minä voisin tehdä hänelle!" - Petya sanoi itsekseen ja avasi oven, antoi pojan kulkea hänen ohitseen.
Kun rumpali astui kotaan, Petya istui pois hänestä pitäen itseään nöyryyttävänä kiinnittää huomiota häneen. Hän tunsi vain rahat taskussaan ja epäili, eikö hän häpeäisi antaa niitä rumpalille.

Petyan huomio siirtyi rumpalista, jolle Denisovin käskystä annettiin vodkaa, lampaanlihaa ja jonka Denisov käski pukeutua venäläiseen kaftaaniin, jotta häntä ei lähetettäisi vankien kanssa pois. Dolokhovin saapuminen. Petya armeijassa kuuli monia tarinoita Dolokhovin poikkeuksellisesta rohkeudesta ja julmuudesta ranskalaisia ​​kohtaan, ja siksi kun Dolokhov astui mökkiin, Petya katsoi häntä irti katsomatta häntä ja oli yhä rohkaisevampi ja nykisi kohotettua päätään. olla arvoton edes sellaiselle yhteiskunnalle kuin Dolokhov.
Dolokhovin ulkonäkö yllätti Petya oudolla yksinkertaisuudellaan.
Denisov pukeutui tšekmeneihin, hänellä oli parta ja rinnassa Nikolai Ihmetyöntekijän kuva, ja puhetyylillään, kaikissa vastaanotoissaan, osoitti asemansa erityisyyden. Päinvastoin, ennen Moskovassa persialaista pukua pukeutunut Dolokhov vaikutti nyt kaikkein tärkeimmältä vartijaupseerilta. Hänen kasvonsa olivat puhtaiksi ajelut, hän oli pukeutunut vartijoiden tikapuutakkiin, jonka napinläpessä oli Georgi, ja yksinkertaisessa lippaassa, joka hänellä oli suorana. Hän riisui märän viittansa nurkassa ja meni Denisovin luo, tervehtimättä ketään, alkoi heti tiedustella tapausta. Denisov kertoi hänelle suunnitelmista, joita suurilla osastoilla oli kuljettaakseen, ja Petyan lähettämisestä ja kuinka hän vastasi molemmille kenraaleille. Sitten Denisov kertoi kaiken, mitä hän tiesi ranskalaisen yksikön asemasta.
"Näin on, mutta sinun on tiedettävä, mitä ja kuinka monta joukkoa sinun täytyy mennä", sanoi Dolokhov. Jos et tiedä tarkalleen kuinka monta heitä on, et voi ryhtyä liiketoimintaan. Tykkään tehdä asiat siististi. Jos nyt joku herroista haluaisi lähteä kanssani heidän leirilleen. Minulla on univormut mukanani.
- Minä, minä… menen kanssasi! - Petya huudahti.
"Sinun ei tarvitse mennä ollenkaan", sanoi Denisov kääntyen Dolokhoviin, "enkä koskaan päästä häntä sisään."
- Sepä hienoa! - Petya huusi, - miksi en menisi? ..
- Kyllä, koska ei ole tarvetta.
”No, anteeksi, koska… koska… minä menen, siinä kaikki. Otatko minut mukaan? - hän kääntyi Dolokhoviin.
- Miksi... - Dolokhov vastasi hajamielisesti katsoen ranskalaisen rumpalin kasvoihin.
- Kuinka kauan sinulla on ollut tämä nuori kaveri? - hän kysyi Denisovilta.
- Tänään he ovat ottaneet sen, mutta he eivät tiedä mitään. Jätin hänet pg "ja itseni.
- No, mitä teet muiden kanssa? - sanoi Dolokhov.
- Miten missä? Denisov huudahti yhtäkkiä punastuen, ja sanon rohkeasti, ettei omallatunnollani ole ainuttakaan ihmistä, kuin taikuri "aat, I pg" yamo sanoo, sotilaan kunnia.
- Tässä on kuusitoistavuotias nuori kreivi sanomaan nämä kohteliaisuudet, - sanoi Dolokhov kylmästi virnistettynä, - mutta sinun on aika jättää se.
"No, en sano mitään, sanon vain, että lähden varmasti kanssasi", Petya sanoi arasti.
"Ja sinun ja minun, veli, on aika luopua näistä miellytyksistä", Dolokhov jatkoi, ikään kuin hänellä olisi ollut erityistä mielihyvää puhua tästä aiheesta, joka ärsytti Denisovia. - No, miksi otit tämän itsellesi? Hän sanoi pudistaen päätään. - Miksi sitten säälit häntä? Loppujen lopuksi tiedämme nämä kuitisi. Lähetä niitä sata, ja kolmekymmentä tulee. He kuolevat nälkään tai pahoinpideltyinä. Onko siis sama asia olla ottamatta niitä?


Osasto 29 "Älykkäiden järjestelmien ohjaus"

Tiivistelmä aiheesta:

Klusterijärjestelmät

Valmistunut:

ryhmän K9-292 opiskelija

Popov I.A.

MOSKVA 2001

1. Esittely

2. Nykyaikaisten rinnakkaistietokoneiden pääluokat

3. Rinnakkaistietokoneiden klusteriarkkitehtuuri

4. Klusterijärjestelmien luomisen tavoitteet

5. Virheensiirtymäklusterit

6. Suorituskykyiset klusterit

7. Projekti Beowulf

8. Johtopäätös

9. Kirjallisuus

Johdanto

Moniprosessorilaskentajärjestelmien kehittäminen

Perinteisten laskentajärjestelmien rakentamiseen tarkoitettujen arkkitehtuurien, kuten SMP, MPP, vektorin rinnakkaisjärjestelmien, kehitys etenee melko ripeää vauhtia. Suorituskyky paranee, luotettavuus ja joustavuus lisääntyvät. Näillä arkkitehtuureilla on kuitenkin yksi haittapuoli - luotavien järjestelmien kustannukset, joita monet tällaisten järjestelmien käyttäjät - koulutus- ja tutkimusorganisaatiot - eivät toisinaan pysty saavuttamaan. Se on erittäin korkea järjestelmän laitteisto- ja ohjelmistokomponenttien monimutkaisuuden vuoksi, joita tarvitaan tukemaan näitä tuottavuuden kasvuvauhtia. Laskennallisten resurssien tarve on kuitenkin tällä hetkellä erittäin suuri monilla tieteellisen ja käytännön toiminnan alueilla, eivätkä perinteisten supertietokonejärjestelmien resurssit riitä sitä tarjoamaan.

Klusterijärjestelmät nousivat halvemmaksi ratkaisuksi laskentaresurssien puutteen ongelmaan, ja ne perustuvat yleisten ja suhteellisen halpojen teknologioiden, laitteistojen ja ohjelmistojen, kuten PC:n, Ethernetin, Linuxin jne., käyttöön. Massateknologioiden käyttö klusterijärjestelmissä on tullut mahdolliseksi perinteisten laskentajärjestelmien komponenttien, kuten keskusyksiköiden, käyttöjärjestelmien ja viestintäympäristöjen, kehityksen merkittävän edistymisen ansiosta.

Koska klusterijärjestelmät ovat arkkitehtonisesti massiivisen rinnakkaisuuden MPP:n järjestelmien kehitystyötä, päärooli niiden kehityksessä on verkkoteknologioiden kentällä edistyminen. Tähän mennessä on ilmestynyt edullisia, mutta tehokkaita viestintäratkaisuja. Tämä määräsi klusterilaskentajärjestelmien nopean syntymisen ja kehityksen. Myös muut tekijät vaikuttivat klusterijärjestelmien kehityksen etenemiseen.

Intel-prosessoreihin perustuvien henkilökohtaisten tietokoneiden suorituskyky on myös kasvanut merkittävästi viime vuosina. Tällaiset tietokoneet alkoivat luoda vakavaa kilpailua kalliimpiin ja tehokkaampiin RISC-prosessoreihin perustuvista työasemista. Samaan aikaan Linux-käyttöjärjestelmä, UNIXin ilmaisversio, alkoi saada yhä enemmän suosiota. Samaan aikaan tieteellisissä organisaatioissa ja yliopistoissa, joissa suurin osa klusterijärjestelmistä kehitetään, on pääsääntöisesti Linux-asiantuntijoita.

Klusterijärjestelmien korkean kehitysasteen nykyään osoittaa se, että maailman tehokkaimpien supertietokoneiden Top500-listalla on 11 klusteriasennusta.


Nykyaikaisten rinnakkaistietokoneiden pääluokat

Klusterijärjestelmät ovat rinnakkaisten järjestelmien kehitys. Klusterijärjestelmien paikan osoittamiseksi muun tyyppisten laskentajärjestelmien rinnakkaisten arkkitehtuurien joukossa on tarpeen antaa niiden luokitus. Rinnakkaiset järjestelmät voidaan luokitella eri kriteerien mukaan.

Laitteiston kannalta tärkein parametri rinnakkaisten tietokoneiden luokittelussa on jaetun (SMP) tai hajautetun muistin (MPP) olemassaolo. Jotain SMP:n ja MPP:n väliltä ovat NUMA-arkkitehtuurit, joissa muisti on varattu fyysisesti mutta loogisesti jaettu.

Symmetriset moniprosessorijärjestelmät

SMP-järjestelmä koostuu useista homogeenisista prosessoreista ja joukosta jaettua muistia. Yksi SMP-arkkitehtuureissa usein käytetyistä lähestymistavoista skaalautuvan julkisen muistijärjestelmän muodostamiseksi on järjestää tasaisesti pääsy muistiin järjestämällä skaalautuva muisti-prosessorikanava:

Jokainen muistin käyttötoiminto tulkitaan suorittimen ja muistiväylän väliseksi tapahtumaksi. Välimuistin yhtenäisyyttä tukee laitteisto.

SMP:ssä jokaisella prosessorilla on vähintään yksi oma välimuisti (ja mahdollisesti useita).

Voimme sanoa, että SMP-järjestelmä on yksi tietokone, jossa on useita peer-to-peer-suorittimia. Kaikki muu on yhdessä tapauksessa: yksi muisti, yksi I / O-alijärjestelmä, yksi käyttöjärjestelmä. Sana "peer" tarkoittaa, että jokainen prosessori voi tehdä kaiken mitä muut. Jokaisella prosessorilla on pääsy kaikkeen muistiin, se voi suorittaa minkä tahansa I / O-toiminnon, keskeyttää muut prosessorit jne.

Tämän arkkitehtuurin haittana on tarve järjestää prosessori-muistikanava erittäin suurella kaistanleveydellä.

Massiivisesti rinnakkaiset järjestelmät

Massiivisesti rinnakkainen MPP-järjestelmä koostuu homogeenisista laskennallisista solmuista, mukaan lukien:

  • yksi tai useampi keskusyksikkö (yleensä RISC)
  • paikallinen muisti (suora pääsy muiden solmujen muistiin ei ole mahdollista)
  • tietoliikenneprosessori tai verkkosovitin
  • kiintolevyt ja/tai muut I/O-laitteet

Järjestelmään voidaan lisätä erityisiä I/O-solmuja ja ohjaussolmuja. Solmut on kytketty jonkinlaisen viestintävälineen kautta (nopea verkko, kytkin jne.)

Järjestelmät, joissa on heterogeeninen NUMA-muisti

NUMA (epäyhtenäinen muistin käyttö), toisin kuin tavallinen SMP-arkkitehtuuri jaetulla muistilla, edustaa useita erillisiä prosessoreita, joista jokaisella on oman välimuistinsa lisäksi myös paikallinen muisti:

Tällaisessa arkkitehtuurissa prosessori ja muistimoduulit ovat tiiviisti integroituja, joten pääsynopeus paikalliseen muistiin on paljon suurempi kuin "naapurimaiden" prosessorin muistiin. I/O-alijärjestelmät voivat olla osa jokaista solmua tai ne voidaan yhdistää omistetuiksi I/O-solmuiksi. Jos välimuistin koherenssi säilyy koko järjestelmässä, tätä arkkitehtuuria kutsutaan cc-NUMA:ksi.

Helpoin tapa luonnehtia NUMA-järjestelmää on kuvitella suuri SMP-järjestelmä, joka on jaettu useisiin osiin, nämä osat on yhdistetty järjestelmäväyliin yhdistetyllä tietoliikenneväylällä ja jokaiseen osaan kuuluu oma päämuisti ja I/O-alijärjestelmä. Tämä on NUMA: suuri SMP, joka on jaettu joukoksi pienempiä ja yksinkertaisempia SMP:itä. NUMA:n suurin ongelma on välimuistin johdonmukaisuuden varmistaminen. Laitteiston avulla voidaan työskennellä kaikkien järjestelmän osien päämuistin yksittäisten laitteiden kanssa (jota yleensä kutsutaan solmuiksi) yhtenä jättimäisenä muistina.

Klusteriarkkitehtuuri

Harkitse laskentajärjestelmien klusteriarkkitehtuurin paikkaa tässä luokituksessa.

Klusteri on toisiinsa yhdistetty joukko kokonaisia ​​tietokoneita, joita käytetään yhtenä resurssina. Täysimääräinen tietokone on täydellinen tietokonejärjestelmä, jossa on kaikki, mitä sen toimintaan tarvitaan, mukaan lukien prosessorit, muisti, syöttö / lähtö-alijärjestelmä sekä käyttöjärjestelmä, alijärjestelmät, sovellukset jne. Yleensä tähän sopivat henkilökohtaiset tietokoneet tai rinnakkaisjärjestelmät, joissa voi olla SMP- ja jopa NUMA-arkkitehtuuri. Klusterit ovat löyhästi kytkettyjä järjestelmiä, solmujen kommunikaatiossa käytetään jotakin väyläarkkitehtuuriin tai kytkimeen perustuvaa standardiverkkoteknologiaa (Fast / Gigabit Ethernet, Myrinet). Siksi ne ovat halvempi muunnelma MPP-arkkitehtuurin rakentamiseen.

Rinnakkaistietokoneiden klusteriarkkitehtuuri

Yleiset periaatteet

Kuten aiemmin mainittiin, laskentaklusteri on kokoelma tietokoneita, jotka on yhdistetty verkkoon yhden ongelman ratkaisemiseksi (kuva 3), joka esitetään käyttäjälle yhtenä resurssina. Tätä klusterin konseptia ehdotti ja toteutti ensimmäisen kerran 80-luvun alussa Digital Equipment Corporation, joka edelleen kehittää tätä tekniikkaa.

Yksittäinen resurssi viittaa ohjelmiston olemassaoloon, jonka avulla käyttäjät, järjestelmänvalvojat ja sovellukset voivat olettaa, että on olemassa vain yksi kokonaisuus, jonka kanssa he työskentelevät – klusteri. Esimerkiksi klusterin eräkäsittelyjärjestelmän avulla voit lähettää työn käsiteltäväksi klusteriin yksittäisen tietokoneen sijaan. Monimutkaisempi esimerkki ovat tietokantajärjestelmät. Käytännössä kaikilla tietokantatoimittajilla on versioita, jotka toimivat rinnakkain useissa klusterin koneissa. Tämän seurauksena tietokantaa käyttävien sovellusten ei tarvitse huolehtia siitä, missä heidän työnsä tehdään. DBMS vastaa rinnakkaisten toimien synkronoinnista ja tietokannan eheyden ylläpitämisestä.

Klusterin muodostavat tietokoneet - ns. klusterisolmut - ovat aina suhteellisen itsenäisiä, mikä mahdollistaa minkä tahansa niistä pysäyttämisen tai sammuttamisen huoltotöiden suorittamiseksi tai lisälaitteiden asentamiseksi koko klusterin toimintaa häiritsemättä.

Yksiprosessorisia henkilökohtaisia ​​tietokoneita, kahden tai neljän prosessorin SMP-palvelimia käytetään yleensä klusterin laskennallisina solmuina. Jokaisella solmulla on oma kopio käyttöjärjestelmästä, joka on useimmiten tavallisia käyttöjärjestelmiä: Linux, NT, Solaris jne. Solmujen koostumus ja teho voivat muuttua jopa saman klusterin sisällä, mikä mahdollistaa heterogeenisten järjestelmien luomisen. Tietyn viestintäympäristön valinnan määräävät monet tekijät: ratkaistavan tehtäväluokan erityispiirteet, tarve myöhempään klusterin laajentamiseen jne. Kokoonpanoon on mahdollista sisällyttää erikoistietokoneita, esimerkiksi tiedostopalvelin, ja yleensä tarjotaan mahdollisuus etäkäyttöön klusteriin Internetin kautta.

Klusterijärjestelmien arkkitehtuurin määritelmästä seuraa, että se sisältää erittäin laajan valikoiman järjestelmiä. Äärimmäiset kohdat huomioon ottaen klusteria voidaan pitää PC-parina, jotka on yhdistetty paikallisella 10 megabitin Ethernet-verkolla, sekä Sandia National Laboratoryn Cplant-projektin osana luotua laskentajärjestelmää: 1400 Alpha-prosessoreihin perustuvaa työasemaa, yhdistetty nopealla Myrinet-verkolla.

Siten voidaan nähdä, että klustereiden rakentamiseen on olemassa monia erilaisia ​​vaihtoehtoja. Samaan aikaan käytetyillä viestintätekniikoilla ja standardeilla on suuri merkitys klusteriarkkitehtuurissa. Ne määrittävät pitkälti ne tehtävät, joiden ratkaisemiseen on mahdollista käyttää näiden teknologioiden pohjalta rakennettuja klustereita.

Viestintäteknologiat klustereiden rakentamiseen

Klustereita voidaan rakentaa sekä erikoistuneiden nopeiden tiedonsiirtoväylien että massaverkkoteknologioiden pohjalta. Massaviestintästandardeista yleisimmin käytetty verkko on Ethernet tai sen tuottavampi versio - Fast Ethernet pääsääntöisesti kytkimiin perustuva. Fast Ethernetin kautta tapahtuvan viestinnän suuret ylimääräiset kustannukset johtavat kuitenkin vakaviin rajoituksiin tehtävien valikoimassa, jotka voidaan ratkaista tehokkaasti tällaisessa klusterissa. Jos klusteri vaatii suurempaa suorituskykyä ja monipuolisuutta, on tarpeen soveltaa nopeampia ja erikoistuneempia teknologioita. Näitä ovat SCI, Myrinet, cLAN, ServerNet jne. Näiden teknologioiden parametrien vertailuominaisuudet on annettu kohdassa
Pöytä 1.

ServerNet

Nopea Ethernet

Latenssi (MPI)

Kaistanleveys (MPI)

180 Mt/s

Kaistanleveys (laitteisto)

400 Mt/s

160 Mt/s

150 Mt/s

12,5 Mt / s

MPI-toteutus

HPVM, MPICH-GM jne.

Pöytä 1.

Viestintäverkkojen suorituskyky klusterijärjestelmissä määräytyy useiden numeeristen ominaisuuksien perusteella. On olemassa kaksi pääominaisuutta: latenssi - aloitusviiveen aika viestien lähettämisessä ja verkon kaistanleveys, joka määrittää tiedonsiirtonopeuden viestintäkanavien kautta. Tässä tapauksessa tärkeitä eivät ole niinkään standardissa ilmoitetut huippuominaisuudet, vaan ne todelliset, jotka saavutetaan käyttäjäsovellusten tasolla, esimerkiksi MPI-sovellusten tasolla. Erityisesti sen jälkeen, kun käyttäjä soittaa viestin lähetystoiminnolle Send (), viesti kulkee peräkkäin koko joukon kerroksia, jotka määritetään ohjelmiston ja laitteiston organisaation erityispiirteiden mukaan, ennen kuin hän poistuu prosessorista - siksi on olemassa latenssiarvojen standardien merkittävä hajoaminen. Latenssin olemassaolo johtaa siihen, että suurinta lähetysnopeutta verkon yli ei voida saavuttaa pienipituisilla viesteillä.

Fast Ethernet- ja SCI (Scalable Coherent Interface) -verkon tiedonsiirtonopeudet riippuvat viestin pituudesta. Fast Ethernetille on ominaista korkea latenssi - 160-180 μs, kun taas SCI-latenssi on noin 5,6 μs. Suurin siirtonopeus samoilla teknologioilla on 10 MB / s ja 80 MB / s.

Klusterijärjestelmien luomisen tavoitteet

Klusterijärjestelmän arkkitehdit ovat pyrkineet luodessaan erilaisia ​​tavoitteita. Ensimmäinen oli Digital Equipment with VAX / VMS-klusterit. Tämän koneen tarkoituksena oli parantaa järjestelmän luotettavuutta, varmistaa järjestelmän korkea käytettävyys ja vikasietoisuus. Tällä hetkellä on monia samankaltaisia ​​järjestelmiä muilta valmistajilta.

Toinen klusterijärjestelmien luomisen tavoite on luoda halpoja korkean suorituskyvyn rinnakkaislaskentajärjestelmiä. Yksi ensimmäisistä projekteista, joka antoi nimen kokonaiselle rinnakkaisten järjestelmien luokalle - Beowulf-klusteri - syntyi NASA:n Goddard Space Flight Centerissä tukemaan Earth and Space Sciences -projektia tarvittavilla laskentaresursseilla. Beowulf-projekti alkoi kesällä 1994, ja siitä koottiin pian 16 prosessorin klusteri, joka perustui Intel 486DX4 / 100 MHz -prosessoreihin. Jokaisessa solmussa oli 16 Mt RAM-muistia ja 3 Ethernet-verkkosovitinta. Tämä järjestelmä osoittautui erittäin onnistuneeksi hinta/suorituskykysuhteen suhteen, joten tätä arkkitehtuuria alettiin kehittää ja käyttää laajasti muissa tieteellisissä organisaatioissa ja laitoksissa.

Jokaisella klusteriluokalla on oma arkkitehtuuri ja laitteisto-ominaisuudet. Tarkastellaanpa niitä tarkemmin.

Failover-klusterit

Rakentamisen periaatteet

Tietojenkäsittelyjärjestelmien luotettavuuden ja vikasietoisuuden varmistamiseksi käytetään monia erilaisia ​​laitteisto- ja ohjelmistoratkaisuja. Järjestelmä voi esimerkiksi kopioida kaikki vialle alttiit elementit - virtalähteet, prosessorit, RAM-muistin ja ulkoisen muistin. Tällaisia ​​vikasietoisia järjestelmiä, joissa on redundantteja komponentteja, käytetään ratkaisemaan ongelmia, joissa perinteisten laskentajärjestelmien luotettavuus, jonka tällä hetkellä arvioidaan olevan 99 %:n käytettävyyden todennäköisyys, ei ole riittävä. Tällaisissa ongelmissa vaaditaan 99,999 % tai suurempi todennäköisyys. Tämä luotettavuus voidaan saavuttaa käyttämällä erilaisia ​​menetelmiä vikasietoisuuden lisäämiseksi kuin edellä. Tietojenkäsittelyjärjestelmän käyttövalmiuden tasosta riippuen erotetaan neljä luotettavuustyyppiä:

valmiusaste, %

Max. seisokkeja

Järjestelmän tyyppi

3,5 päivää vuodessa

Perinteinen

8,5 tuntia vuodessa

Korkea saatavuus

1 tunti vuodessa

Viankestävä

5 minuuttia vuodessa

Vikasietoinen

Taulukko 2.

Toisin kuin vikasietoisissa järjestelmissä, joissa on redundantteja komponentteja ja erilaisia ​​monikäsittelyvaihtoehtoja, klusterit yhdistävät toisistaan ​​suhteellisen riippumattomia koneita, joista jokainen voidaan pysäyttää ennaltaehkäisevää huoltoa tai uudelleenkonfigurointia varten häiritsemättä klusterin kuntoa. koko. Korkea klusterin suorituskyky ja minimoitu sovelluskatkosaika saavutetaan seuraavilla tavoilla:

  • jos yhdessä solmussa tapahtuu ohjelmistovirhe, sovellus jatkaa toimintaansa tai käynnistetään automaattisesti uudelleen klusterin muissa solmuissa;
  • yhden (tai useamman) solmun vika ei johda koko klusterijärjestelmän romahtamiseen;
  • Ylläpito- ja korjaustyöt, uudelleenkonfigurointi tai ohjelmistoversion vaihto voidaan pääsääntöisesti tehdä klusterisolmuissa yksitellen muiden solmujen työtä keskeyttämättä.

Olennainen osa klusteria on erikoisohjelmisto, joka itse asiassa ratkaisee solmun palautusongelman vian sattuessa ja ratkaisee myös muut tehtävät. Klusteriohjelmistolla on yleensä useita ennalta määritettyjä palautusskenaarioita järjestelmälle, ja ne voivat myös tarjota järjestelmänvalvojalle mahdollisuuden mukauttaa tällaisia ​​skenaarioita. Hätäpalautusta voidaan tukea sekä koko solmulle että sen yksittäisille komponenteille - sovelluksille, levyasemille jne. Tämä toiminto käynnistyy automaattisesti järjestelmävian sattuessa, ja myös järjestelmänvalvoja voi käynnistää sen, jos hänen on esimerkiksi suljettava jokin solmuista uudelleenkonfigurointia varten.

Klustereilla voi olla jaettua muistia ulkoisissa asemissa, yleensä RAID-levyryhmässä. RAID-levyryhmä on palvelimen I/O-alijärjestelmä suurten tietomäärien tallentamiseen. RAID-ryhmät käyttävät huomattavaa määrää suhteellisen pieniä levyjä suurten tietomäärien tallentamiseen ja parantavat luotettavuutta ja redundanssia. Tietokone näkee tällaisen ryhmän yhtenä loogisena laitteena.

Hätäpalautusta voidaan tukea sekä koko solmulle että sen yksittäisille komponenteille - sovelluksille, levyasemille jne. Tämä toiminto käynnistyy automaattisesti järjestelmävian sattuessa, ja myös järjestelmänvalvoja voi käynnistää sen, jos hänen on esimerkiksi suljettava jokin solmuista uudelleenkonfigurointia varten.

Klusterisolmut tarkkailevat toistensa kuntoa ja vaihtavat tiettyjä "klusteritietoja", kuten klusterin kokoonpanoa, sekä siirtävät tietoja jaettujen asemien välillä ja koordinoivat niiden käyttöä. Terveysvalvonta suoritetaan erityisellä signaalilla, jonka klusterisolmut lähettävät toisilleen varmistaakseen normaalin toimintansa. Kun yksi solmuista lopettaa signaloinnin, se ilmoittaa klusterin ohjelmistolle, että on tapahtunut vika ja tarpeesta jakaa kuormitus uudelleen jäljellä oleville solmuille. Otetaan esimerkkinä VAX/VMS-virheklusteri.

VAX / VMS-klusteri

DEC julkisti ensimmäisenä klusterijärjestelmän käsitteen vuonna 1983 ja määritteli sen ryhmäksi yhdistettyjä tietokoneita, jotka edustavat yhtä tietojenkäsittelyyksikköä. Pohjimmiltaan VAX-klusteri on löyhästi kytketty, usean koneen järjestelmä, jossa on jaettu ulkoinen muisti, joka tarjoaa yhtenäisen hallinta- ja hallintamekanismin.

VAX-klusterilla on seuraavat ominaisuudet:

Resurssien jakaminen. Klusterin VAX-tietokoneet voivat jakaa pääsyn jaettuihin nauha- ja levyasemiin. Kaikki klusterin VAX-tietokoneet voivat käyttää yksittäisiä datatiedostoja paikallisina.

Korkea saatavuus. Jos jokin VAX-tietokoneista epäonnistuu, sen käyttäjien tehtävät voidaan automaattisesti siirtää toiselle klusterin tietokoneelle. Jos järjestelmässä on useita HSC:itä ja yksi niistä epäonnistuu, muut HSC:t poimivat sen automaattisesti.

Korkea suorituskyky... Useat sovellusjärjestelmät voivat hyödyntää mahdollisuutta suorittaa tehtäviä samanaikaisesti useissa klusterin tietokoneissa.

Järjestelmän huollettavuus... Jaettuja tietokantoja voidaan ylläpitää yhdestä paikasta. Sovellusohjelmat voidaan asentaa vain kerran jaetuille klusterin levyille ja jakaa kaikkien klusterin tietokoneiden kesken.

Laajennettavuus... Klusterin laskentatehon lisäys saavutetaan liittämällä siihen lisää VAX-tietokoneita. Lisää nauha- ja nauha-asemia on saatavilla kaikille klusterin tietokoneille.

VAX-klusterin toiminta määritellään kahdella pääkomponentilla. Ensimmäinen komponentti on nopea viestintämekanismi ja toinen on järjestelmäohjelmisto, joka tarjoaa asiakkaille avoimen pääsyn järjestelmäpalveluun. Fyysisesti klusterin sisäiset yhteydet toteutetaan kolmella eri väyläteknologialla, joilla on erilaiset suorituskykyominaisuudet.

VAX-klusterin tärkeimmät viestintämenetelmät on esitetty kuvassa. 4.

Riisi. 4 VAX / VMS-klusteri

Computer Interconnect (CI) -väylä toimii 70 Mbps:n nopeudella, ja sitä käytetään VAX-tietokoneiden ja HSC:iden yhdistämiseen Star Couplerin avulla. Jokaisella CI-linkillä on kaksi redundanttia linkkiä, kaksi lähetystä ja kaksi vastaanottoa varten, ja niissä käytetään CSMA-perustekniikkaa, joka käyttää solmukohtaisia ​​viiveitä törmäysten eliminoimiseen. CI-linkin enimmäispituus on 45 metriä. Star Coupler tukee jopa 32 CI-väylää, joista jokainen voi liittää VAX:n tai HSC:n. HSC on älykäs laite, joka ohjaa levy- ja nauha-asemien toimintaa.

VAX-tietokoneet voidaan yhdistää klusteriksi myös paikallisverkon kautta

Ethernet käyttäen NI - Network Interconnect (ns. paikalliset VAX-klusterit), tällaisten järjestelmien suorituskyky on kuitenkin suhteellisen alhainen, koska Ethernet-kaistanleveys on jaettava klusteritietokoneiden ja muiden verkkoasiakkaiden välillä.

Klusterit voivat perustua myös DSSI-väylään (Digital Storage System Interconnect). DSSI-väylä voi liittää yhteen jopa neljä matalan ja keskitason VAX-tietokonetta. Jokainen tietokone voi tukea useita DSSI-sovittimia. Erillinen DSSI-väylä toimii nopeudella 4 MB / s (32 Mbit / s) ja mahdollistaa jopa 8 laitteen liittämisen. Seuraavia laitetyyppejä tuetaan: DSSI-järjestelmäsovitin, RF-sarjan levyohjain ja TF-sarjan nauhaohjain. DSSI rajoittaa klusterin solmujen välisen etäisyyden 25 metriin.

VAX Cluster -järjestelmäohjelmisto

DEC käyttää Distributed Lock Manageria (DLM) varmistaakseen, että prosessorit kommunikoivat oikein toistensa kanssa, kun ne käyttävät jaettuja resursseja, kuten levyjä. DLM:n erittäin tärkeä tehtävä on ylläpitää levyvälimuistien yhtenäistä tilaa käyttöjärjestelmän ja sovellusten I/O-toimintoja varten. Esimerkiksi relaatiotietokantasovelluksissa DLM on vastuussa klusterin eri tietokoneiden tietokantapuskurien välisen johdonmukaisen tilan ylläpitämisestä.

Ongelma I/O-välimuistin koherenssin ylläpitämiseksi klusterin prosessorien välillä on samanlainen kuin välimuistin koherenssin ylläpitämisen ongelma tiukasti kytketyssä moniprosessorijärjestelmässä, joka perustuu tiettyyn väylään. Tietolohkot voivat esiintyä samanaikaisesti useissa välimuistissa ja jos yksi prosessori muokkaa yhtä näistä kopioista, muut olemassa olevat kopiot eivät vastaa tietolohkon nykyistä tilaa. Lohkon haltuunoton (lohkoomistus) käsite on yksi tapa hallita tällaisia ​​tilanteita. Ennen kuin lohkoa voidaan muokata, lohkon omistusoikeus on varmistettava.

Työskentely DLM:n kanssa aiheuttaa merkittäviä yleiskustannuksia. VAX/VMS-ympäristön ylimääräinen kuormitus voi olla suuri, mikä edellyttää jopa kuusi viestiä CI-väylällä yhtä I/O-toimintoa varten. Yleiskustannukset voivat olla jopa 20 % kunkin klusterin prosessorin osalta.

Suorituskykyiset klusterit

Rakentamisen periaatteet

Suorituskykyisten klusterien arkkitehtuuri ilmeni MPP-järjestelmien rakentamisen periaatteiden kehityksenä vähemmän tuottaville ja massatuotteille komponenteille, joita ohjaa yleiskäyttöinen käyttöjärjestelmä. Klusterit, kuten MPP-järjestelmät, koostuvat löyhästi kytketyistä solmuista, jotka voivat olla joko homogeenisia tai toisin kuin MPP, erilaisia ​​tai heterogeenisia. Suorituskykyistä klusteriarkkitehtuuria suunniteltaessa kiinnitetään erityistä huomiota klusterin solmut yhdistävän tietoliikenneväylän korkean hyötysuhteen varmistamiseen. Koska klustereissa käytetään usein suuria, suhteellisen heikkoja väyliä, on ryhdyttävä useisiin toimenpiteisiin niiden alhaisen suorituskyvyn poistamiseksi klustereiden suorituskyvystä ja tehokkaan rinnakkaistoiminnan järjestämiseksi klusterissa. Esimerkiksi yhden nopeimmista tekniikoista Fast Ethernetin kaistanleveys on suuruusluokkaa pienempi kuin nykyaikaisten supertietokoneiden MPP-arkkitehtuurissa olevien yhteenliitäntöjen kaistanleveys.

Verkon huonon suorituskyvyn ongelmien ratkaisemiseen käytetään useita menetelmiä:

Klusteri on jaettu useisiin segmentteihin, joiden sisällä solmut on yhdistetty korkean suorituskyvyn väylällä, kuten Myrinetillä, ja eri segmenttien solmujen välinen kommunikaatio tapahtuu matalan suorituskyvyn verkoilla, kuten Ethernet / Fast Ethernet. Tämä mahdollistaa yhdessä viestintäympäristön kustannusten pienentämisen kanssa tällaisten klustereiden suorituskyvyn merkittävän lisäämisen ratkaistaessa prosessien välisen intensiivisen tiedonvaihdon ongelmia.

Niin sanotun "runkojohdon" käyttö, ts. useiden Fast Ethernet -kanavien yhdistäminen yhdeksi yhteiseksi nopeaksi kanavaksi, joka yhdistää useita kytkimiä. Tämän lähestymistavan ilmeinen haittapuoli on joidenkin kytkimien yhdistämiseen liittyvien porttien "menetys".

Suorituskyvyn parantamiseksi luodaan erityisiä protokollia tiedonvaihtoon tällaisten verkkojen kautta, jotka mahdollistavat tehokkaamman kanavan kaistanleveyden käytön ja poistavat joitain standardiprotokollien (TCP / IP, IPX) asettamia rajoituksia. Tätä menetelmää käytetään usein Beowulf-luokan järjestelmissä.

Tehokkaan klusterin tärkein ominaisuus on horisontaalinen skaalautuvuus, koska yksi klusterin arkkitehtuurin tarjoamista tärkeimmistä eduista on kyky lisätä olemassa olevan järjestelmän kapasiteettia yksinkertaisesti lisäämällä järjestelmään uusia solmuja. Lisäksi tehon lisäys tapahtuu lähes suhteessa lisättyjen resurssien tehoon ja voidaan suorittaa pysäyttämättä järjestelmää sen toiminnan aikana. Järjestelmissä, joissa on erilainen arkkitehtuuri (erityisesti MPP), yleensä vain pystysuuntainen skaalautuvuus on mahdollista: muistin lisääminen, prosessorien määrän lisääminen moniprosessorijärjestelmissä tai uusien sovittimien tai levyjen lisääminen. Sen avulla voit tilapäisesti parantaa järjestelmän suorituskykyä. Järjestelmässä on kuitenkin tuettu enimmäismäärä muistia, prosessoreita tai levyjä, järjestelmäresurssit loppuvat, ja suorituskyvyn lisäämiseksi sinun on luotava uusi järjestelmä tai muokattava merkittävästi vanhaa. Klusterijärjestelmä on myös pystysuunnassa skaalautuva. Siten pysty- ja vaakaskaalauksen avulla klusterimalli tarjoaa enemmän joustavuutta ja helpottaa järjestelmän suorituskyvyn lisäämistä.

Beowulf projekti

Beowulf on skandinaavinen eepos, joka kertoo 7. - 8. vuosisadan ensimmäisen kolmanneksen tapahtumista, jossa mukana on samanniminen sankari, joka ylisti itseään taisteluissa.

Yksi esimerkkejä tällaisen rakenteen mukaisen klusterijärjestelmän toteutuksesta ovat Beowulf-klusterit. Beowulf-projekti kokosi yhteen noin puolitoista tusinaa organisaatiota (pääasiassa yliopistoja) Yhdysvalloissa. Projektin johtavat kehittäjät ovat NASAn asiantuntijoita. Tämän tyyppisissä klustereissa voidaan erottaa seuraavat pääominaisuudet:

Beowulf-klusteri koostuu useista erillisistä solmuista, jotka on kytketty yhteiseen verkkoon; klusterin solmut eivät käytä jaettuja resursseja.

Parhaaksi katsotaan rakentaa klustereita, jotka perustuvat kahden prosessorin SMP-järjestelmiin;

Solmujen välisen vuorovaikutuksen ylikuormituksen vähentämiseksi käytetään full-duplex 100 MB Fast Ethernetiä (harvemmin käytetään SCI:tä), luodaan useita verkkosegmenttejä tai klusterisolmut yhdistetään kytkimen kautta;

Ohjelmistoina käytetään Linux-käyttöjärjestelmää ja ilmaisia ​​viestintäkirjastoja (PVM ja MPI);

Beowulf-projektin historia

Projekti alkoi kesällä 1994 NASAn Goddard Space Flight Centerissä (GSFC), tarkemmin sanottuna sen pohjalta perustetussa CESDIS:ssä (Center of Excellence in Space Data and Information Sciences).

Ensimmäinen Beowulf-klusteri perustui Intel-tietokoneisiin, joissa oli Linux. Se oli järjestelmä, joka koostui 16 solmusta (486DX4 / 100 MHz prosessoreissa, 16 Mt muistia ja 3 verkkosovitinta kussakin solmussa, 3 "rinnakkaista" 10 Mbit Ethernet-kaapelia). Se luotiin laskentaresurssiksi Earth and Space Sciences Project (ESS) -projektille.

Lisäksi GSFC:ssä ja muissa NASAn osastoissa kerättiin muita tehokkaampia klustereita. Esimerkiksi HIVE (Highly-Parallel Integrated Virtual Environment) -klusteri sisältää 64 solmua, joissa on 2 Pentium Pro / 200 MHz prosessoria ja 4 Gt muistia kussakin, 5 Fast Ethernet -kytkintä. Tämän klusterin kokonaiskustannukset ovat noin $ 210 000. Osana Beowulf-projektia kehitettiin useita tehokkaita ja erikoistuneita verkkoajureita (erityisesti ohjain useiden Ethernet-kanavien käyttämiseen samanaikaisesti).

Beowulf arkkitehtuuri

Klusterisolmut.

Nämä ovat joko yhden prosessorin PC:itä tai SMP-palvelimia, joissa on pieni määrä prosessoreita (2-4, mahdollisesti jopa 6). Jostain syystä on pidetty optimaalisena rakentaa klustereita, jotka perustuvat kaksiprosessorijärjestelmiin, vaikka tässä tapauksessa klusterin perustaminen on hieman vaikeampaa (lähinnä koska saatavilla on suhteellisen edullisia emolevyjä kahdelle Pentium II / III -prosessorille) . Jokaiseen solmuun kannattaa asentaa 64-128MB RAM-muistia (kaksiprosessorijärjestelmille 64-256MB).

Yksi koneista tulisi varata keskimmäiseksi (pää), johon pitäisi asentaa riittävän suuri kiintolevy, mahdollisesti tehokkaampi prosessori ja enemmän muistia kuin muut (työ)solmut. On järkevää tarjota (suojattu) yhteys tämän koneen ja ulkomaailman välille.

Toimivia solmuja koottaessa on täysin mahdollista hylätä kiintolevyt - nämä solmut lataavat käyttöjärjestelmän verkon kautta keskuskoneesta, mikä säästää rahaa ja antaa sinun määrittää käyttöjärjestelmän ja kaikki tarvittavat ohjelmistot vain kerran ( keskuskoneessa). Jos näitä solmuja ei käytetä samanaikaisesti käyttäjän työasemina, niihin ei tarvitse asentaa näytönohjainkortteja ja näyttöjä. On mahdollista asentaa solmuja telineisiin (telineasennus), mikä vähentää solmujen viemää tilaa, mutta maksaa hieman enemmän.

On mahdollista järjestää klustereita olemassa olevien työasemaverkostojen perusteella, esim. käyttäjien työasemia voidaan käyttää klusterisolmuina yöllä ja viikonloppuisin. Tämän tyyppisiä järjestelmiä kutsutaan joskus COW:ksi (Cluster of Workstations).

Solmujen lukumäärä tulee valita tarvittavien laskentaresurssien ja käytettävissä olevien taloudellisten resurssien perusteella. On ymmärrettävä, että suurella määrällä solmuja on asennettava myös monimutkaisempia ja kalliimpia verkkolaitteita.

Tärkeimmät Beowulf-projektin LAN-tyypit ovat Gigabit Ethernet, Fast Ethernet ja 100-VG AnyLAN. Yksinkertaisimmassa tapauksessa käytetään yhtä Ethernet-segmenttiä (10 Mbit / s kierretyllä parilla). Tällaisen verkon alhaiset kustannukset törmäyksistä johtuen kuitenkin muuttuvat suuriksi yleiskustannuksiksi prosessorien välisille vaihdoille; ja tällaisen klusterin hyvää suorituskykyä tulisi odottaa vain tehtävissä, joissa on hyvin yksinkertainen rinnakkaisrakenne ja joissa on erittäin harvinaista vuorovaikutusta prosessien välillä (esimerkiksi vaihtoehtojen luettelointi).

Prosessorien välisen vaihdon hyvän suorituskyvyn saavuttamiseksi käytetään full-duplex Fast Ethernetiä nopeudella 100 Mbit/s. Tässä tapauksessa voit vähentää törmäysten määrää joko asettamalla useita "rinnakkaisia" Ethernet-segmenttejä tai yhdistämällä klusterin solmut kytkimen kautta.

Kalliimpi, mutta myös suosittu vaihtoehto on käyttää kytkimiä, kuten Myrinet (1,28 Gbit / s, full duplex).

Vähemmän suosittuja, mutta myös klustereiden rakentamisessa käytettyjä verkkotekniikoita ovat cLAN, SCI ja Gigabit Ethernet.

Joskus klusterisolmujen välisessä viestinnässä käytetään useita fyysisiä viestintäkanavia rinnakkain - niin kutsuttua "kanavasidontaa", jota käytetään yleensä Fast Ethernet -tekniikassa. Tässä tapauksessa jokainen solmu on kytketty Fast Ethernet -kytkimeen useammalla kuin yhdellä kanavalla. Tämän saavuttamiseksi solmut on varustettu joko useilla verkkokorteilla tai moniporttisilla Fast Ethernet -korteilla. Kanavien yhdistäminen Linuxia käyttävissä solmuissa mahdollistaa lähetys-/vastaanottokuorman tasaisen jakautumisen vastaavien kanavien kesken.

Järjestelmäohjelmisto

Käyttöjärjestelmä. Tyypillisesti Linux-järjestelmää käytetään versioissa, jotka on erityisesti optimoitu hajautettuun rinnakkaislaskentaan. Linux 2.0 -ydintä paranneltiin. Klusterien rakentamisen aikana kävi ilmi, että Linuxin vakioverkkolaiteajurit ovat erittäin tehottomia. Siksi kehitettiin uusia ajureita, ensisijaisesti Fast Ethernet- ja Gigabit Ethernet -verkkoihin, ja pystyttiin loogisesti yhdistämään useita rinnakkaisia ​​verkkoyhteyksiä henkilökohtaisten tietokoneiden välillä (saman tapaan kuin laitteiston kanavan yhdistäminen), mikä mahdollistaa verkon rakentamisen halvoista paikallisista verkoista. pienellä kaistanleveydellä ja suurella kokonaisläpäisykyvyllä.

Kuten missä tahansa klusterissa, jokainen klusterin solmu suorittaa oman kopion käyttöjärjestelmäytimestä. Parannusten ansiosta prosessitunnisteiden ainutlaatuisuus varmistetaan koko klusterin sisällä, ei yksittäisissä solmuissa.

Viestintäkirjastot. Yleisin rinnakkaisohjelmointirajapinta viestinvälitysmallissa on MPI. Suositeltu ilmainen MPI-toteutus on Argonne National Laboratoryn MPICH-paketti. Myrinet-kytkimeen perustuville klustereille on kehitetty HPVM-järjestelmä, joka sisältää myös MPI-toteutuksen.

Yhden SMP-järjestelmän sisällä tapahtuvan rinnakkaisuuden tehokkaaseen järjestämiseen on kaksi vaihtoehtoa:

  1. Jokaiselle SMP-koneen prosessorille luodaan erillinen MPI-prosessi. Tämän järjestelmän MPI-prosessit vaihtavat viestejä jaetun muistin kautta (MPICH on määritettävä vastaavasti).
  2. Jokaisella koneella käynnistetään vain yksi MPI-prosessi. Jokaisen MPI-prosessin sisällä rinnastaminen suoritetaan "jaetun muistin" mallissa, esimerkiksi OpenMP-direktiiveillä.

MPI-toteutuksen asennuksen jälkeen on järkevää testata verkon edelleenlähetyksen todellinen suorituskyky.

MPI:n lisäksi on olemassa muita kirjastoja ja rinnakkaisohjelmointijärjestelmiä, joita voidaan käyttää klustereissa.

Esimerkki Beowulf - Avalon-klusterin toteutuksesta

Vuonna 1998 astrofyysikko Michael Warren ja muut teoreettisen astrofysiikan ryhmän tutkijat rakensivat Los Alamos National Laboratoryssa Avalon-supertietokoneen, joka on DEC Alpha / 533 MHz -prosessoreihin perustuva Beowulf-klusteri. Avalon koostui alun perin 68 prosessorista, sitten se laajennettiin 140:een. Jokaisessa solmussa on 256 Mt RAM-muistia, 3,2 Gt:n EIDE-kiintolevy ja Kingston NIC (solmun kokonaishinta 1700 dollaria). Solmut on kytketty 4:llä 36-porttisella Fast Ethernet -kytkimellä ja keskeisellä paikalla sijaitsevalla 3Comin 12-porttisella Gigabit Ethernet -kytkimellä.

Avalonin kokonaiskustannukset ovat 313 tuhatta dollaria, ja sen LINPACK-suorituskyky (47,7 GFLOPS) mahdollisti sen 114. sijan Top500-listan 12. painoksessa (152-prosessorin IBM SP2:n vieressä). 70-prosessorinen Avalon-kokoonpano osoitti monissa testeissä samaa suorituskykyä kuin 64-prosessorinen SGI Origin2000 / 195MHz-järjestelmä, joka maksaa yli miljoona dollaria.

Avalonia käytetään tällä hetkellä laajasti astrofysikaalisessa, molekyylisessä ja muussa tieteellisessä laskennassa. SC 98:ssa Avalonin luojat pitivät puheen nimeltä "Avalon: An Alpha / Linux Cluster Achieves 10 Gflops 150 000 dollarilla" ja voittivat vuoden 1998 Gordon Bell -hinnan/suorituskykypalkinnon.

Johtopäätös

Johtavilla mikroprosessorivalmistajilla Sun Microsystemsillä, Dellillä ja IBM:llä on kaikilla sama näkemys supertietokoneteollisuuden tulevaisuudesta: yksittäiset, itsenäiset supertietokoneet tulisi korvata suorituskykyisten palvelimien klustereilla. Hajautetut klusterijärjestelmät ovat suorituskyvyltään nykyaikaisia ​​klassisia supertietokoneita edellä: maailman tehokkaimman tietokoneen - IBM ASCI Whiten - suorituskyky on 12 TeraFLOP, verkkosuorituskyky [sähköposti suojattu] arviolta noin 15 TeraFLOP. Samaan aikaan IBM ASCI White myytiin 110 miljoonalla dollarilla ja koko sen olemassaolon ajan [sähköposti suojattu] noin 500 tuhatta dollaria käytettiin.

Kirjallisuus

2.http://www.beowulf.com

3. http://newton.gsfc.nasa.gov/thehive/

4. LoBoS, http://www.lobos.nih.gov

5. http://parallel.ru/news/kentucky_klat2.html

6. http://parallel.ru/news/anl_chibacity.html

7. http://parallel.ru/cluster/

8. http://www.ptc.spbu.ru

MIMD-tietokoneet

MIMD-tietokoneessa on N prosessorit suorittavat itsenäisesti N komentovirrat ja käsittely N datavirtoja. Jokainen prosessori toimii oman käskynsä mukaan, eli MIMD-tietokone voi suorittaa täysin erilaisia ​​ohjelmia rinnakkain.


MIMD-arkkitehtuurit luokitellaan edelleen muistin fyysisen organisoinnin perusteella, eli onko prosessorilla oma paikallinen muisti ja pääseekö se muihin muistilohkoihin kytkentäverkon avulla vai yhdistääkö kytkentäverkko kaikki prosessorit julkiseen muistiin. Muistin organisaation perusteella erotetaan seuraavat rinnakkaisarkkitehtuurityypit:

  • Hajautetun muistin tietokoneet (Hajautettu muisti)
    Prosessori voi käyttää paikallista muistia, lähettää ja vastaanottaa prosessorit yhdistävän verkon kautta lähetettyjä viestejä. Viestejä käytetään kommunikoimaan prosessorien välillä tai vastaavasti etämuistilohkojen lukemiseen ja kirjoittamiseen. Idealisoidussa verkossa viestin lähettämisen hinta kahden verkkosolmun välillä on riippumaton sekä molempien solmujen sijainnista että verkkoliikenteestä, mutta riippuu viestin pituudesta.

  • Jaetun muistin tietokoneet (Todellinen jaettu muisti)
    Kaikki prosessorit käyttävät yhdessä jaettua muistia, yleensä väylän tai väylähierarkian kautta. Idealisoidussa PRAM-mallissa (Parallel Random Access Machine), jota usein käytetään rinnakkaisten algoritmien teoreettisissa tutkimuksissa, mikä tahansa prosessori voi käyttää mitä tahansa muistipaikkaa samaan aikaan. Käytännössä tämän arkkitehtuurin skaalautuvuus johtaa yleensä jonkinlaiseen muistihierarkiaan. Jaetun muistin käyttötiheyttä voidaan vähentää tallentamalla kopiot usein käytetyistä tiedoista kuhunkin prosessoriin liittyvään välimuistiin. Tämän välimuistin käyttäminen on paljon nopeampaa kuin suoraan jaetun muistin käyttäminen.

  • Tietokoneet, joissa on virtuaalinen jaettu (jaettu) muisti (Virtuaalinen jaettu muisti)
    Jaettua muistia sellaisenaan ei ole. Jokaisella prosessorilla on oma paikallinen muisti, ja se voi käyttää muiden prosessorien paikallista muistia "globaalin osoitteen" avulla. Jos "yleinen osoite" ei osoita paikalliseen muistiin, muistiin päästään viestintäverkon kautta lähetetyillä viesteillä.

Esimerkkejä jaetuista muistikoneista ovat:

  • Sun Microsystems (moniprosessorityöasemat)
  • Silicon Graphics Challenge (moniprosessorityöasemat)
  • Jaksollinen symmetria
  • Kupera
  • Cray 6400.

Seuraavat tietokoneet luokitellaan hajautetuiksi muistikoneiksi

  • IBM-SP1 / SP2
  • Parsytec GC
  • CM5 (Thinking Machine Corporation)
  • Cray T3D
  • Paragon (Intel Corp.)
  • nCUBE
  • Meiko CS-2
  • AVX (Alexin rinnakkaistietokoneet)
  • IMS B008

Hajautetun muistin MIMD-arkkitehtuurit voidaan luokitella myös kytkentäverkon kaistanleveyden mukaan. Esimerkiksi arkkitehtuurissa, jossa prosessorin ja muistimoduulin (prosessorielementin) parit on verkotettu topologioiden kanssa. ristikko, jokaisella prosessorilla on sama määrä verkkoyhteyksiä riippumatta tietokoneen prosessorien määrästä. Tällaisen verkon kokonaiskaistanleveys kasvaa lineaarisesti prosessorien määrän mukana. Toisaalta arkkitehtuurissa, jossa on topologioiden verkko hyperkuutio, prosessorin ja verkon välisten yhteyksien määrä on prosessorien lukumäärän logaritminen funktio, ja verkon kaistanleveys kasvaa nopeammin kuin lineaarisesti prosessorien määrän mukaan. Topologiassa klikki jokainen prosessori on liitettävä kaikkiin muihin prosessoreihin.


2D verkko ristikko (torus)

2D verkko torus


Verkko topologialla klikki

National Center for Supercomputing Applications (University of Illinois, Urbana-Champaign)

MPI: Viestinvälitysliittymä

Nimi "viestintäliittymä" puhuu puolestaan. Se on hyvin standardoitu mekanismi rinnakkaisten ohjelmien rakentamiseen viestintämallissa. C / C ++:lle, Fortran 77/90:lle on olemassa standardi MPI "sidoksia". Ilmaisia ​​ja kaupallisia toteutuksia on lähes kaikille supertietokonealustoille sekä UNIX- ja Windows NT -työasemaverkoille. Tällä hetkellä MPI on luokkansa laajimmin käytetty ja dynaamisesti kehittyvä käyttöliittymä.

Beowulf - Linux-klusterit

Mihail Kuzminsky

"Avoimet järjestelmät"

Vuosituhannen vaihteessa meillä on kaikki mahdollisuudet todistaa tietokoneteollisuuden monopolisoitumista, joka voi kattaa sekä mikroprosessorit että käyttöjärjestelmät. Tietenkin puhumme Intelin mikroprosessoreista (Merced uhkaa syrjäyttää RISC-arkkitehtuurin prosessorit) ja Microsoftin käyttöjärjestelmästä.

Molemmissa tapauksissa menestys riippuu suurelta osin markkinointikoneiston tehosta, ei vain tuotteiden "kuluttajaominaisuuksista". Mielestäni tietokoneyhteisö ei ole vielä ymmärtänyt mahdollisten seurausten suuruutta.

Jotkut asiantuntijat ovat vertailleet tietokonemarkkinoiden mahdollista monopolisoitumista IBM:n monopoliasemaan 1970-luvulla sekä keskustietokoneissa että käyttöjärjestelmissä. Olen työskennellyt tämän tekniikan parissa pitkään, ja kun Unix-käyttöjärjestelmä leviää maassamme, ymmärrän yhä paremmin IBM MVS -käyttöjärjestelmän monet edut. Olen kuitenkin samaa mieltä siitä, että tällainen monopoli ei ole edistänyt edistyksen nopeutta.

Länsimaiset yliopistot, jotka aikoinaan olivat ensimmäisten joukossa vaihtaneet Unixiin, luottavat edelleen tähän järjestelmään lupaavissa kehitystöissään, ja Linuxia valitaan yhä useammin alustaksi. Tämä artikkeli on omistettu yhdelle opettavaisesta akateemisesta kehityksestä.

Linux julkinen ilmiö

Emme enää ole yllättyneitä siitä, että Linuxista on tullut merkittävä ilmiö tietokoneiden elämässä. Yhdessä rikkaimman GNU-ohjelmiston kanssa tästä käyttöjärjestelmästä on tullut erittäin suosittu ei-kaupallisten käyttäjien keskuudessa sekä kotimaassa että ulkomailla. Sen suosio kasvaa. Linux-versioita ei ole vain Intel x86 -alustalle, vaan myös muille prosessoriarkkitehtuureille, mukaan lukien DEC Alрha, ja niitä käytetään laajasti Internet-sovelluksissa sekä laskentatehtävien suorittamiseen. Lyhyesti sanottuna Linuxista on tullut eräänlainen "suosittu käyttöjärjestelmä". Ei kuitenkaan voida sanoa, etteikö Linuxilla olisi heikkoja kohtia; yksi niistä on riittämätön tuki SMP-arkkitehtuureille.

Halvin tapa lisätä tietokoneen resursseja, mukaan lukien prosessointitehoa, on rakentaa klusteri. Massiivisesti rinnakkaisia ​​supertietokoneita, joissa on fyysisesti ja loogisesti hajautettu käyttömuisti, voidaan pitää myös eräänlaisina klustereina. Silmiinpistävin esimerkki tällaisesta arkkitehtuurista on kuuluisa IBM SP2 -tietokone.

Koko kysymys on, mikä yhdistää tietokoneet (solmut) klusteriin. Tätä tarkoitusta varten "oikeat" supertietokoneet käyttävät erikoistuneita ja siksi kalliita laitteistoja, jotka on suunniteltu tarjoamaan korkea suorituskyky. Klusterit käyttävät yleensä tavallisia verkkostandardeja - Ethernet, FDDI, ATM tai HiPPI.

Linux-käyttöjärjestelmää käyttäviä klusteritekniikoita alettiin kehittää useita vuosia sitten ja ne tulivat saataville kauan ennen Wolfpack for Windows NT:n tuloa. Näin Beowulf-projekti syntyi 90-luvun puolivälissä.

Eeppisen runon sankari

"Beowulf" on skandinaavinen eepos, joka kertoo 7. - 8. vuosisadan ensimmäisen kolmanneksen tapahtumista, jossa mukana on samanniminen sankari, joka ylisti itseään taisteluissa. Ei tiedetä, ajattelivatko projektin kirjoittajat siitä, ketä Beowulf nyt taistelee (todennäköisesti Windows NT:n kanssa?), Mutta sankarillinen kuva mahdollisti noin tusinan yhdysvaltalaisen organisaation (pääasiassa yliopistojen) yhdistämisen konsortioksi. Ei voida sanoa, että supertietokonekeskukset hallitsevat projektiin osallistujien joukossa, mutta Loki- ja Megalon-klusterit on asennettu sellaisiin maailmankuuluihin korkean suorituskyvyn laskentakeskuksiin kuin Los Alamos ja Yhdysvaltain energiaministeriön Sandia-laboratorio; hankkeen johtavat kehittäjät ovat NASAn asiantuntijoita. Yleisesti ottaen poikkeuksetta kaikki projektien osallistujien luomat klusterit saavat suuria nimiä.

Beowulfin lisäksi tunnetaan toinenkin lähiklusteriteknologia - NOW. NOW:ssa henkilökohtaiset tietokoneet sisältävät yleensä tietoja itsestään ja niille osoitetuista tehtävistä, ja tällaisen klusterin järjestelmänvalvojan vastuulla on luoda nämä tiedot. Beowulf-klusterit ovat tältä osin yksinkertaisempia (eli sysadminin näkökulmasta): siellä yksittäiset solmut eivät ole tietoisia klusterin kokoonpanosta. Vain yksi omistettu solmu sisältää konfigurointitietoja; ja vain hänellä on verkkoyhteys ulkomaailmaan. Kaikki muut klusterin solmut on yhdistetty paikallisverkolla, ja ne ovat yhteydessä ulkomaailmaan vain ohjaussolmusta tulevalla "ohuella sillalla".

Beowulf-tekniikan solmut ovat PC-emolevyjä. Tyypillisesti solmut käyttävät myös paikallisia kiintolevyjä. Solmujen yhdistämiseen käytetään vakiotyyppisiä paikallisverkkoja. Käsittelemme tätä asiaa alla, ensin viivyttelemme ohjelmistoa.

Se perustuu Beowulfissa tavalliseen kaupallisesti saatavilla olevaan Linux-käyttöjärjestelmään, joka voidaan ostaa CD-ROM-levyllä. Aluksi suurin osa projektin osallistujista keskittyi Slackwaren julkaisemiin CD-levyihin, mutta nyt RedHat-versio on suositeltavampi.

Tavallisessa Linux-käyttöjärjestelmässä voit asentaa viestintämalliin tunnetut rinnakkaismenetelmät (LAM MPI 6.1, PVM 3.3.11 ja muut). Voit myös käyttää p-threads-standardia ja tavallisia prosessorien välisiä viestintätyökaluja, jotka sisältyvät mihin tahansa Unix System V:hen. Beowulf-projektissa tehtiin myös merkittäviä lisäkehityksiä.

Ensinnäkin on huomioitava Linux 2.0 -ytimen versio. Klusterien rakentamisen aikana kävi ilmi, että Linuxin vakioverkkolaiteajurit ovat erittäin tehottomia. Siksi kehitettiin uusia ohjaimia (useimman kehityksen kirjoittaja on Donald Becker), ensisijaisesti Fast Ethernet- ja Gigabit Ethernet -verkkoihin, ja tarjottiin kyky yhdistää loogisesti useita rinnakkaisia ​​verkkoyhteyksiä henkilökohtaisten tietokoneiden välillä, mikä mahdollistaa sen halvalla. paikallisia verkkoja enemmän kuin vaatimattomalla nopeudella, rakentaa verkko suurella kaistanleveydellä.

Kuten missä tahansa klusterissa, jokaisella solmulla on oma kopio käyttöjärjestelmän ytimestä. Parannukset varmistivat prosessitunnisteiden ainutlaatuisuuden koko klusterin sisällä yksittäisten solmujen sijaan sekä Linux-signaalien "etätoimituksen".

Lisäksi on huomioitava verkkokäynnistyksen (netbooting) toiminnot Intel PR 440FX -emolevyjen kanssa työskennellessä, ja niitä voidaan käyttää muiden AMI BIOS:illa varustettujen emolevyjen kanssa.

Erittäin mielenkiintoisia mahdollisuuksia tarjoavat verkon virtuaalimuistin (Network Virtual Memory) tai jaetun hajautetun muistin (DSM) (Distributed Shared Memory) mekanismit, joiden avulla voit luoda prosessille tietyn "illuusion" solmujen jaetusta muistista.

Verkko on herkkä asia

Koska supertietokonesovellusten ja erityisesti klusterisovellusten rinnakkaisuminen yleensä vaatii suurta suorituskykyä ja pientä latenssia viestien vaihtamiseen solmujen välillä, verkon ominaisuuksista tulee parametreja, jotka määräävät klusterin suorituskyvyn. Solmujen mikroprosessorien valinta on ilmeinen - nämä ovat Intelin vakioprosessoreja; mutta klusterin topologian, verkon tyypin ja verkkokorttien avulla voit kokeilla. Juuri tällä alueella on tehty päätutkimus.

Nykyään markkinoilla olevia erilaisia ​​PC NIC:itä analysoitaessa kiinnitettiin erityistä huomiota sellaisiin ominaisuuksiin kuin tehokas monilähetystuki, tuki suurten pakettikokojen kanssa työskentelylle jne. Pääasialliset Beowulf-projektissa mukana olevat paikallisverkot ovat Gigabit Ethernet, Fast. Ethernet ja 100 VG AnyLAN. (ATM-tekniikan mahdollisuuksia tutkittiin myös aktiivisesti, mutta tekijän tiedossa tämä tehtiin tämän projektin ulkopuolella.)

Kuinka rakentaa supertietokone itse

Analysoituaan Beowulf-projektin puitteissa tehdyn työn tuloksia voidaan päätyä seuraavaan johtopäätökseen: löydettyjen ratkaisujen avulla voidaan itsenäisesti koota korkean suorituskyvyn klusteri, joka perustuu standardi PC-komponentteihin ja käyttää perinteisiä ohjelmistoja. Suurimpien tapausten joukossa CESDISissä on 50-solmun klusteri, joka sisältää 40 tietojenkäsittelysolmua (perustuu yhden ja kahden prosessorin Pentium Pro / 200 MHz -korteille) ja 10 skaalaussolmua (kaksiprosessorinen Pentium Pro / 166 MHz kortti). Kustannus/huipputehokkuussuhde tällaisessa klusterissa näyttää olevan erittäin hyvä. Kysymys on siitä, kuinka tehokkaasti sovelluksia on mahdollista rinnastaa - toisin sanoen mikä on todellinen, ei huippusuorituskyky. Hankkeen osallistujat työskentelevät nyt tämän ongelman ratkaisemiseksi.

On huomattava, että klustereiden rakentaminen tavallisista tietokoneista on tulossa melko muotiin nykyään tiedeyhteisössä. Jotkut maamme korkeakoulut suunnittelevat myös tällaisten klustereiden luomista.

Kun eri kapasiteettia tai eri arkkitehtuuria omaavia tietokoneita yhdistetään klusteriksi, puhutaan heterogeenisistä (heterogeenisista) klustereista. Klusterisolmuja voidaan käyttää samanaikaisesti käyttäjän työasemina. Jos tämä ei ole välttämätöntä, solmuja voidaan keventää merkittävästi ja / tai asentaa telineeseen.

Työasemien vakiokäyttöjärjestelmiä käytetään, useimmiten vapaasti jaettuina - Linux / FreeBSD, yhdessä erikoistyökalujen kanssa rinnakkaisohjelmointiin ja kuormituksen tasapainottamiseen. Ohjelmointi pääsääntöisesti viestinvälitysmallin (useimmiten - MPI) puitteissa. Siitä keskustellaan tarkemmin seuraavassa osiossa.

Klusteriarkkitehtuurin kehityksen historia.

DEC julkisti ensimmäisenä klusterijärjestelmän käsitteen vuonna 1983 ja määritteli sen ryhmäksi yhdistettyjä tietokoneita, jotka edustavat yhtä tietojenkäsittelyyksikköä.

Yksi ensimmäisistä projekteista, joka antoi nimen kokonaiselle rinnakkaisten järjestelmien luokalle - Beowulf-klusterit - syntyi NASAn Goddard Space Flight Centerissä tukemaan Earth and Space Sciences -projektia tarvittavilla laskentaresursseilla. Beowulf-projekti käynnistyi kesällä 1994, ja pian koottiin 16 prosessorin klusteri, joka perustuu Intel 486DX4 / 100 MHz -prosessoreihin. Jokaisessa solmussa oli 16 Mt RAM-muistia ja 3 Ethernet-verkkosovitinta. Toimiakseen tässä kokoonpanossa on kehitetty erityisiä ohjaimia, jotka jakavat liikenteen käytettävissä olevien verkkokorttien välillä.

Myöhemmin GSFC:hen koottiin HIVE - Highly-parallel Integrated Virtual Environment -klusteri, jonka rakenne on esitetty kuvassa. 2. Tämä klusteri koostuu neljästä aliklusterista E, B, G ja DL, joissa on 332 prosessoria ja kaksi erillistä isäntäkonetta. Kaikki tämän klusterin solmut käyttävät RedHat Linuxia.

Vuonna 1998 astrofyysikko Michael Warren ja muut teoreettiset astrofyysikot Los Alamos National Laboratorysta rakensivat Avalon-supertietokoneen, Linux-klusterin, joka perustuu 533 MHz Alpha 21164A -prosessoreihin. Aluksi Avalon koostui 68 prosessorista, sitten se laajennettiin 140:een. Jokainen solmu sisältää 256 Mt RAM-muistia, 3 Gt:n kiintolevyn ja Fast Ethernet -verkkosovittimen. Avalon-projektin kokonaiskustannukset olivat 313 tuhatta dollaria, ja sen LINPACK-testissä osoittama suorituskyky - 47,7 GFLOPS - antoi sille 114. sijan Top500-listan 12. painoksessa 152-prosessorisen IBM RS / 6000 SP:n vieressä. järjestelmä. Samana vuonna 1998, arvostetuimmassa korkean suorituskyvyn tietojenkäsittelyn Supercomputing'98 konferenssissa, Avalonin luojat esittelivät raportin "Avalon: An Alpha / Linux Cluster Achieves 10 Gflops for $ 150k", joka sai ensimmäisen palkinnon vuonna nimitys "paras hinta/laatusuhde".

Tämän vuoden huhtikuussa Cornell University for Biomedical Researchin AC3-projektin puitteissa asennettiin Velocity + -klusteri, joka koostuu 64 solmusta kahdella Pentium III / 733 MHz prosessorilla ja 2 Gt RAM-muistilla kussakin ja kokonaislevyllä. muistia 27GB. Solmut toimivat Windows 2000 -käyttöjärjestelmässä ja ne on yhdistetty Giganet-cLAN-verkolla.

Lots of Boxes on Shelfes -projekti toteutettiin Yhdysvaltain kansallisessa terveysinstituutissa huhtikuussa 1997, ja se on kiinnostava Gigabit Ethernet -teknologian käyttö viestintävälineenä. Aluksi klusteri koostui 47 solmusta, joissa oli kaksi Pentium Pro / 200 MHz -suoritinta, 128 Mt RAM-muistia ja 1,2 Gt:n levy kussakin solmussa. Vuonna 1998 otettiin käyttöön

Projektin seuraava vaihe oli LoBoS2, jonka aikana solmut muutettiin pöytäkoneiksi klusterointia ylläpitäen. LoBoS2 koostuu nyt 100 laskentasolmusta, jotka sisältävät kaksi Pentium II / 450 MHz prosessoria, 256 Mt RAM-muistia ja 9 Gt levymuistia. Klusterin lisäksi 4 ohjaustietokonetta on yhdistetty yhteisellä RAID-ryhmällä, jonka kapasiteetti on 1,2 TB.

Yksi viimeisimmistä klusterikehityksistä on AMD Presto III -supertietokone, joka on 78 Athlon-prosessorin Beowulf-klusteri. Tietokone on asennettu Tokion teknologiainstituuttiin. Tähän mennessä AMD on rakentanut 8 supertietokonetta Beowulf-klustereihin, joissa on Linux.

IBM-klusterit

RS / 6000

IBM tarjoaa useita RS / 6000 -pohjaisia ​​löyhästi kytkettyjä järjestelmiä, jotka on klusteroitu ja jotka toimivat High-Availability Clastered Multiprocessor / 6000 (HACMP / 6000) -ohjelmistolla.

Klusterisolmut toimivat rinnakkain ja jakavat pääsyn loogisiin ja fyysisiin resursseihin HACMP / 6000:een sisältyvän lukkohallinnan ominaisuuksien avulla.

HACMP / 6000 -tuotetta on kehitetty jatkuvasti sen julkistamisen jälkeen vuonna 1991. Se sisälsi rinnakkaisen resurssienhallinnan, hajautetun lukituksen hallinnan ja rinnakkaisen loogisen volyymin hallinnan, joista jälkimmäinen tarjosi kuormituksen tasapainotuksen koko klusterissa. Klusterin solmujen enimmäismäärä on noussut kahdeksaan. Tällä hetkellä klusterissa on solmuja, joissa on symmetrinen moniprosessointi ja jotka on rakennettu käyttämällä Data Crossbar Switch -tekniikkaa, joka tarjoaa lineaarisen suorituskyvyn kasvun prosessorien määrän kasvaessa.

RS / 6000 -klusterit perustuvat Ethernet-, Token Ring- tai FDDI-LAN-verkkoihin, ja ne voidaan konfiguroida eri tavoin lisäämään luotettavuutta:

  • Hot standby tai yksinkertainen vikasietotila. Tässä tilassa aktiivinen solmu suorittaa sovellustehtäviä ja valmiustilassa ei-kriittisiä tehtäviä, jotka voidaan pysäyttää, jos on tarpeen vaihtaa aktiivisen solmun epäonnistuessa.
  • Symmetrinen reservi. Samanlainen kuin kuuma valmiustila, mutta päällikön ja valmiustilan roolit eivät ole kiinteät.
  • Keskinäinen nouto tai kuormanjakotila. Tässä tilassa kukin klusterin solmu voi "poimia" tehtäviä, jotka ovat käynnissä missä tahansa muussa klusterin solmussa.

IBM SP2

IBM SP2 johtaa asennusten lukumäärällä mitattuna suurimpien TOP500 supertietokoneiden listaa (141 asennusta, ja tällaisia ​​tietokoneita on maailmassa 8275, joissa on yhteensä yli 86 tuhatta solmua. Nämä supertietokoneet perustuvat arkkitehtuuripohjaiseen klusteriin IBM on käyttänyt tätä lähestymistapaa useiden vuosien ajan.

Yleinen arkkitehtuuri SP2

Yleiskuvaus SP2-arkkitehtuurista on esitetty kuvassa. 1. Sen arkkitehtuurin pääominaisuus on nopean kytkimen käyttö alhaisella latenssilla solmujen yhdistämiseen toisiinsa. Kokemus on osoittanut, että tämä näennäisesti erittäin yksinkertainen järjestelmä on osoittautunut erittäin joustavaksi. Aluksi SP2-solmut olivat yhden prosessorin, sitten SMP-solmut ilmestyivät.

Itse asiassa kaikki yksityiskohdat ovat piilossa solmujen rakenteessa. Lisäksi solmut ovat erityyppisiä, ja jopa naapurisolmujen prosessorit voivat olla erilaisia. Tämä varmistaa

suurempi joustavuus kokoonpanojen valinnassa. Tietojenkäsittelyjärjestelmän solmujen kokonaismäärä voi nousta 512:een. SP2-solmut ovat itse asiassa itsenäisiä tietokoneita, ja IBM myy niiden suoria vastineita omilla nimillään. Silmiinpistävin esimerkki tästä on RS / 6000 44P-270 neljän prosessorin SMP-palvelin Power3-II-mikroprosessoreilla, joka itsessään voidaan luokitella keskiluokan tietokoneeksi tai jopa mini-supertietokoneeksi.

SP2-solmuihin asennetut mikroprosessorit kehittyivät kahta arkkitehtuurilinjaa pitkin: Power - Power2 - Power3 - Power3-II ja PowerPC-linjaa pitkin 604e-malliin asti kellotaajuudella 332 MHz.

SP2:lle perinteiset ovat Thin Node ja Wide Node, joilla on SMP-arkkitehtuuri. Ne voidaan asentaa sekä PowerPC 604e (kahdesta neljään prosessorista) että Power3-II (jopa neljä). Solmujen päämuistin kapasiteetti vaihtelee välillä 256 Mt - 3 Gt (käytettäessä Power3-II:ta - jopa 8 Gt). Tärkeimmät erot ohuiden ja leveiden solmujen välillä liittyvät I / O-alijärjestelmään. Leveät solmut on suunniteltu sovelluksille, jotka vaativat tehokkaampia I/O-ominaisuuksia, ja niissä on kymmenen PCI-paikkaa (mukaan lukien kolme 64-bittistä) verrattuna kahteen ohuisiin solmuihin. Näin ollen levylaitteiden asennuspaikkojen määrä leveissä solmuissa on suurempi.

Kytkimen nopeudelle on ominaista alhaiset latenssit: 1,2 ms (jopa 2 ms yli 80 solmun kohdalla). Tämä on suuruusluokkaa parempi kuin mitä voit saada nykyaikaisista Beowulf Linux -klustereista. Huippukapasiteetti porttia kohden: 150 Mt / s yhteen suuntaan (eli 300 MB / s full duplex). SP2-solmuissa sijaitsevilla kytkinsovittimilla on sama kaistanleveys. IBM mainitsee myös erinomaiset tulokset latenssissa ja suorituskyvyssä.

Tehokkaimmat SP2-solmut ovat High Nodes -solmut. Korkea solmu on kompleksi, joka koostuu laskentasolmusta, jossa on enintään kuusi kytkettyä I/O-laajennuslaitetta. Tällä solmulla on myös SMP-arkkitehtuuri ja se sisältää jopa 8 Power3-prosessoria, joiden kellotaajuus on 222 tai 375 MHz.

Lisäksi tämäntyyppinen solmu sisältää I/O-kortin, joka on myös kytketty emolevyyn. I/O-kortti sisältää kaksi symmetristä SABRE-logiikkalohkoa, joiden kautta tiedot siirretään ulkoisiin laitteisiin, kuten

kuten asemat ja tietoliikennelaitteet. I/O-kortissa on neljä 64-bittistä PCI-paikkaa ja yksi 32-bittinen (33 MHz) paikka sekä integroitu UltraSCSI, 10/100 Mbps Ethernet, kolme sarja- ja yksi rinnakkaisohjain.

Korkeiden solmujen ja Power3-II / 375 MHz:n mikroprosessorien myötä Linpackin rinnakkaisvertailuissa IBM SP2 -järjestelmät saavuttivat 723,4 GFLOPS -suorituskyvyn. Tämä tulos saavutettiin käyttämällä 176 solmua (704 prosessoria). Kun otetaan huomioon, että jopa 512 solmua voidaan asentaa, tämä tulos osoittaa, että massatuotettu IBM SP2 on mahdollisesti lähellä 1 TFLOPS -merkkiä.

Sun Microsystemsin klusteriratkaisut

Sun Microsystems tarjoaa klusterointiratkaisuja SPARCclaster PDB Server -tuotteeseen perustuen, joka käyttää moniprosessorisia SMP-palvelimia solmuina SPARCserver 1000 ja SPARCcenter 2000. SPARCserver 1000:ssa voi olla enintään kahdeksan prosessoria ja SPARCcenter 2000:ssa jopa 20 SuperSPARC-prosessoria. Peruspaketti sisältää seuraavat komponentit: kaksi SPARCserver 1000 / 1000E tai SPARCcenter 2000 / 2000E pohjautuvaa klusterisolmua, kaksi levyryhmää SPARCstorage Array ja klusterisarja monistetuilla kommunikaatiolaitteistoilla, klusterinhallintakonsoli Claster Management Console , PDB Software, SPARCclaste ja Cluster Service Pack.

Viestinnän korkean suorituskyvyn ja saatavuuden varmistamiseksi klusteri ylläpitää kaikkien datarunkojen täyttä redundanssia. Klusterisolmut yhdistetään SunFastEthernet-linkeillä, joiden kaistanleveys on 100 Mbps. Levyalijärjestelmien yhdistämiseen käytetään kuituoptista Fibre Channel -liitäntää, jonka kaistanleveys on 25 Mbit / s, jonka avulla asemat ja solmut voidaan irrottaa toisistaan ​​jopa 2 km:n etäisyydellä. Kaikki solmujen, solmujen ja levyalijärjestelmien välinen viestintä monistetaan laitteistotasolla. Klusterin laitteistot, ohjelmistot ja verkot varmistavat, että järjestelmässä ei ole tilaa, jossa yksittäinen vika tai vika tekisi koko järjestelmän käyttökelvottomaksi.

Yliopistoprojektit

Mielenkiintoinen kehitys Kentuckyn yliopistossa on KLAT2-klusteri (Kentucky Linux Athlon Testbed 2). KLAT2-järjestelmä koostuu 64 levyttömästä solmusta, joissa on AMD Athlon / 700 MHz -suorittimet ja 128 Mt RAM-muistia. Ohjelmistoja, kääntäjiä ja matemaattisia kirjastoja (SCALAPACK, BLACS ja ATLAS) on jalostettu 3DNow! AMD-prosessorit suorituskyvyn parantamiseksi. Käytetty verkkoratkaisu, nimeltään "Flat Neighbourhood Network" (FNN), on myös erittäin kiinnostava. Jokaisessa solmussa on neljä Smartlink Fast Ethernet -verkkokorttia, ja solmut on yhdistetty yhdeksällä 32-porttisella kytkimellä. Lisäksi millä tahansa kahdella solmulla on aina suora yhteys yhden kytkimen kautta, mutta kaikkia solmuja ei tarvitse yhdistää yhden kytkimen kautta. Ohjelmiston optimointi AMD-arkkitehtuurille ja FNN-topologialle saavutti ennätyksellisen hinta/suorituskykysuhteen, 650 dollaria per GFLOPS.

Ajatus klusterin jakamisesta osiin ilmeni mielenkiintoisesti Chiba City -projektissa, joka toteutettiin Argonnen kansallisessa laboratoriossa. Pääosio sisältää 256 laskentasolmua, kukin

joista kaksi Pentium III / 500 MHz -prosessoria, 512 Mt RAM-muistia ja paikallinen levy, jonka kapasiteetti on 9 Gt. Laskentaosan lisäksi järjestelmä sisältää visualisointiosion (32 IBM Intellistation -henkilökohtaista tietokonetta Matrox Millenium G400 -näytönohjaimella, 512 Mt RAM-muistia ja 300 Gt levyjä), tiedontallennusosion (8 IBM Netfinity 7000 -palvelinta, joissa Xeon / 500 MHz prosessorit ja 300 Gt) ja ohjausosio (12 IBM Netfinity 500 -tietokonetta). Kaikki ne on yhdistetty Myrinet-verkolla, jota käytetään rinnakkaisten sovellusten tukemiseen, sekä Gigabit Ethernet- ja Fast Ethernet -verkkoihin hallinta- ja palvelutarkoituksiin. Kaikki osat on jaettu "kaupunkeihin" (kaupunkeihin), joissa on 32 tietokonetta. Jokaisella niistä on oma "pormestari", joka palvelee paikallisesti omaa "kaupunkiaan", mikä vähentää palveluverkoston kuormitusta ja tarjoaa nopean pääsyn paikallisiin resursseihin.

Klusteriprojektit Venäjällä

Venäjällä on aina ollut suuri tarve korkean suorituskyvyn laskentaresursseille, ja klusteriprojektien suhteellisen alhaiset kustannukset ovat toimineet vakavana sysäyksenä tällaisten ratkaisujen laajalle leviämiselle maassamme. Yksi ensimmäisistä, jotka ilmestyivät, oli "Parity"-klusteri, joka koottiin IVViBD:hen ja koostui kahdeksasta Myrinet-verkon kautta yhdistetystä Pentium II -prosessorista. Vuonna 1999 NICEVT:ssä testattiin SCI-verkkoon perustuvaa klusteriratkaisua, joka itse asiassa oli edelläkävijä SCI-teknologian käytössä rinnakkaisten järjestelmien rakentamisessa Venäjällä.

Moskovan valtionyliopiston Research Computing Centeriin asennettu SCI-viestintäverkkoon perustuva korkean suorituskyvyn klusteri. RCC-klusteri sisältää 12 kahden prosessorin Excimer-palvelinta, jotka perustuvat Intel Pentium III / 500 MHz -järjestelmään, yhteensä 24 prosessorilla, joiden kokonaisteho on 12 miljardia toimintoa sekunnissa. Järjestelmän kokonaiskustannukset ovat noin 40 tuhatta dollaria eli noin 3,33 tuhatta 1 GFLOPS:ia kohti.

Klusterin laskentasolmut on yhdistetty yksisuuntaisilla SCI-verkkolinkeillä kaksiulotteisessa 3x4-toruksessa ja samanaikaisesti keskuspalvelimeen Fast Ethernet -apuverkon ja 3Com Superstack -kytkimen kautta. SCI-verkko on klusterin ydin, mikä tekee tästä järjestelmästä ainutlaatuisen supertietokoneluokan laskentalaitoksen, joka keskittyy laajaan luokkaan tehtäviä. Suurin tiedonsiirtonopeus SCI-verkon yli käyttäjäsovelluksissa on yli 80 MB / s, ja latenssiaika on noin 5,6 μs. Tämän laskentaklusterin rakentamisessa käytettiin Dolphin Interconnect Solutionsin ja Scali Computerin (Norja) kehittämää integroitua Wulfkit-ratkaisua.

Päätyökalu rinnakkaisohjelmointiin klusterissa on MPI (Message Passing Interface) ScaMPI 1.9.1. LINPACK-testissä, kun ratkaistiin lineaarinen yhtälöjärjestelmä 16000x16000 matriisilla, todellisuudessa saatu suorituskyky oli yli 5,7 GFLOPS. NPB-paketin testeissä klusterin suorituskyky on vertailukelpoinen ja joskus jopa ylittää Cray T3E -perheen supertietokoneiden suorituskyvyn samalla prosessorimäärällä.

Moskovan valtionyliopiston tutkimuslaskentakeskuksen laskentaklusterin pääsovellusalue on tieteellisen perustutkimuksen ja koulutusprosessin tukeminen.

Muiden mielenkiintoisten hankkeiden joukossa on huomionarvoista Pietarin yliopistossa toteutettu Fast Ethernet -teknologiaan perustuva ratkaisu: koottuja klustereita voidaan käyttää sekä täysimittaisesti itsenäisinä luokkahuoneina että yhtenä laskentayksikkönä, joka ratkaisee yhden ongelman. Samaran tiedekeskuksessa

seurasi tietä luoda heterogeeninen laskentaklusteri, joka sisältää Alpha- ja Pentium III -prosessoreihin perustuvia tietokoneita. Pietarin teknilliseen yliopistoon asennetaan Alpha-prosessoreihin ja Myrinet-verkkoon perustuva asennus ilman paikallisia levyjä laskentasolmuissa. Ufa State Aviation Technical University suunnittelee klusteria, joka perustuu kahteentoista Alpha-asemaan, Fast Ethernet -verkkoon ja Linux-käyttöjärjestelmään.

Klusteritekniikoista on tullut looginen jatko MPP-järjestelmien arkkitehtuuriin sisältyvien ideoiden kehitykselle. Jos MPP-järjestelmän prosessorimoduuli on täydellinen laskentajärjestelmä, niin seuraava askel ehdottaa itseään: miksi ei käyttäisi tavallisia kaupallisesti saatavia tietokoneita sellaisina laskentasolmuina. Viestintäteknologioiden kehitys, nimittäin nopeiden verkkolaitteiden ja erikoisohjelmistojen, kuten MPI-järjestelmän, joka toteuttaa sanomansiirtomekanismin standardiverkkoprotokollien kautta, ilmaantuminen teki klusteriteknologiat yleisesti saataville. Nykyään ei ole vaikeaa luoda pientä klusterijärjestelmää yhdistämällä tietokoneiden laskentateho erillisessä laboratoriossa tai luokkahuoneessa.

Klusteriteknologioiden houkutteleva piirre on, että ne mahdollistavat vaaditun suorituskyvyn saavuttamiseksi yhdistää erityyppisiä tietokoneita yhtenäisiksi laskentajärjestelmiksi henkilökohtaisista tietokoneista tehokkaisiin supertietokoneisiin. Klusteriteknologiat ovat yleistyneet keinona luoda supertietokoneluokan järjestelmiä massatuotannon komponenteista, mikä alentaa merkittävästi laskentajärjestelmän kustannuksia. Etenkin COCOA-projekti oli yksi ensimmäisistä toteutetuista, jossa 25 kahden prosessorin henkilökohtaisen tietokoneen pohjalle luotiin järjestelmä, jonka suorituskyky vastaa useiden miljoonien dollarien arvoista 48 prosessorin Cray T3D:tä. hinta noin 100 000 dollaria.

Näiden järjestelmien täydellisestä vastaavuudesta ei tietenkään tarvitse puhua. Kuten edellisessä osiossa todettiin, hajautettujen muistijärjestelmien suorituskyky riippuu suuresti viestintäympäristön suorituskyvystä. Viestintäympäristöä voidaan luonnehtia täysin kahdella parametrilla: viive- viestin lähetyksen viive, ja läpijuoksu- tiedonsiirron nopeus. Joten Cray T3D -tietokoneelle nämä parametrit ovat vastaavasti 1 μs ja 480 Mb / s, ja klusterille, jossa Fast Ethernet -verkkoa käytetään viestintävälineenä, 100 μs ja 10 Mb / s. Tämä selittää osittain supertietokoneiden erittäin korkeat kustannukset. Tällaisilla parametreilla, kuten käsiteltävänä oleva klusteri, ei ole monia tehtäviä, jotka voidaan ratkaista tehokkaasti riittävän suurella määrällä prosessoreita.

Lyhyesti, klusterin on yhdistetty sarja täysimittaisia ​​tietokoneita, joita käytetään yhtenä laskentaresurssina. Klusterijärjestelmän edut riippumattomiin tietokoneisiin verrattuna ovat ilmeisiä. Ensinnäkin töiden eräkäsittelyyn on kehitetty monia lähetysjärjestelmiä, joiden avulla voit lähettää työn käsiteltäväksi koko klusteriin, ei jollekin yksittäiselle tietokoneelle. Nämä välitysjärjestelmät jakavat tehtävät automaattisesti vapaiden laskentasolmujen kesken tai puskuroivat ne, jos niitä ei ole, mikä mahdollistaa tietokoneiden tasaisemman ja tehokkaamman lataamisen. Toiseksi on mahdollista jakaa useiden tietokoneiden laskentaresurssit yhden ongelman ratkaisemiseksi.


Klusterit luodaan yleensä joko yksinkertaisilla yhden prosessorin henkilökohtaisilla tietokoneilla tai kahden tai neljän prosessorin SMP-palvelimilla. Samanaikaisesti solmujen koostumukselle ja arkkitehtuurille ei aseteta rajoituksia. Jokainen solmu voi toimia omalla käyttöjärjestelmällään. Yleisimmin käytetyt vakiokäyttöjärjestelmät: Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT. Tapauksissa, joissa klusterin solmut ovat heterogeenisiä, ne puhuvat heterogeeninen klustereita.

Klustereita luotaessa voidaan erottaa kaksi lähestymistapaa. Ensimmäistä lähestymistapaa käytetään luotaessa pieniä klusterijärjestelmiä. Klusteri yhdistää täysin toimivat tietokoneet, jotka toimivat edelleen itsenäisinä yksiköinä, esimerkiksi luokkahuoneen tietokoneina tai laboratoriotyöpisteinä. Toista lähestymistapaa käytetään tapauksissa, joissa tarkoituksenmukaisesti luodaan tehokas laskentaresurssi. Sitten tietokoneiden järjestelmäyksiköt sijoitetaan tiiviisti erityisiin telineisiin ja yksi tai useampi täysin toimiva tietokone, jota kutsutaan isäntätietokoneiksi, varataan järjestelmän hallintaan ja tehtävien suorittamiseen. Tässä tapauksessa laskentasolmujen tietokoneita ei tarvitse toimittaa grafiikkakorteilla, näytöillä, levyasemilla ja muilla oheislaitteilla, mikä vähentää merkittävästi järjestelmän kustannuksia.

Tietokoneiden yhdistämiseksi klusteriin on kehitetty monia teknologioita. Tällä hetkellä eniten käytetty tekniikka on Fast Ethernet. Tämä johtuu sen helppokäyttöisyydestä ja viestintälaitteiden alhaisista kustannuksista. Tämä on kuitenkin maksettava tarkoituksellisesti riittämättömällä valuuttakurssilla. Itse asiassa tämä laite tarjoaa maksimivaihtokurssin solmujen välillä 10 Mb / s, kun taas vaihtokurssi RAM-muistilla on 250 Mb / s tai enemmän. ScaLAPACK-alirutiinipaketin, joka on tarkoitettu lineaaristen algebraongelmien ratkaisemiseen moniprosessorijärjestelmissä, joissa on suuri osuus tietoliikenneoperaatioista, kehittäjät muotoilevat seuraavan vaatimuksen moniprosessorijärjestelmälle: 10 laskentasolmun huippusuorituskyky, mitattuna Mflopsissa "http ://rsusu1.rnd.runnet.ru/tutor/method/m1/liter1.html -. Jos siis 500 MHz:n Pentium III-luokan tietokoneita (huipputeho 500 Mflops) käytetään laskentasolmuina, Fast Ethernet -laitteet tarjoavat vain 1/5 vaaditusta nopeudesta. Tämä tilanne voidaan osittain korjata siirtymällä Gigabit Ethernet -teknologioihin.

Useat yritykset tarjoavat erikoistuneita klusteriratkaisuja, jotka perustuvat nopeampiin verkkoihin, kuten Scali Computerin SCI (~ 100 Mb/s) ja Mirynet (~ 120 Mb/s). Myös korkean suorituskyvyn työasemien valmistajat (SUN, HP, Silicon Graphics) tukivat aktiivisesti klusteriteknologioita.