Što su sustavi klastera PC poruke. Klasterski sustavi: Sažetak: Računala i periferni uređaji. Softverske komponente poslužitelja klastera Veritas

Cluster computing nije novo područje. Međutim, nedavno je interes za njih značajno porastao - mnoge organizacije smatraju klastere glavnim alatom za rješavanje problema poput povećanja performansi aplikacija, osiguravanja visoke dostupnosti, kao i visoke skalabilnosti svojih računalnih sustava.

Napredak u tehnologijama klastera u posljednjem desetljeću omogućio je korištenje jeftinih računala za njihovu izgradnju. Isplativost, računalna snaga i fleksibilnost takvih klastera učinili su ih privlačnom alternativom modelu centraliziranog računalstva temeljenom na tradicionalnim superračunalima (u daljnjem tekstu pod riječju "klaster" podrazumijevat ćemo masovni proizvod, za razliku od "posebne narudžbe" ”).

Klasteri su se pojavili kao jeftina i učinkovita alternativa superračunalima s jednim kućištem s originalnom zatvorenom arhitekturom. Izgrađeni na standardnim komponentama, naširoko se koriste za računalstvo visokih performansi, dostupnost i skalabilnost. I ako je prva prilika od interesa uglavnom za akademske krugove, onda su posljednje dvije vrlo atraktivne za tvrtke bilo koje veličine. I ne samo atraktivan, nego i pristupačan.

Danas jeftini klaster od komponenti koje su u masovnoj proizvodnji može sastaviti gotovo svaka računalna tvrtka koja drži do sebe, a izdavanjem takvog OS klastera kao što je Windows Computing Cluster Server 2003, koji omogućuje prilično jednostavnu instalaciju, početna razina klasterska rješenja postaju dostupna malim i srednjim poduzećima. I možda se ne čini nerazumnim pretpostaviti da će stalno smanjenje cijena hardverskih i softverskih komponenti i brzih mrežnih tehnologija uskoro učiniti početne klastere uobičajenim elementom informacijskih sustava bilo koje razine.

Stoga smo u temu tjedna posvećenu računalstvu u klasterima pokušali uključiti ne samo pregledni dio, već i članke o specifičnim proizvodima za kojima će ukrajinsko poslovanje nedvojbeno biti traženo u bliskoj budućnosti. Konkretno, čitatelj će ovdje pronaći i praktičnu lekciju provedenu u našem ispitnom laboratoriju i opis operativnih sustava klastera Windows Computing Cluster Server 2003/2008, koji imaju sve izglede da postanu popularni.

Prije svega, podsjetimo se definicije klastera. Ovo je naziv lokalnog (za razliku od distribuiranog) računalnog sustava koji se sastoji od mnogih neovisnih računala međusobno povezanih kanalima za prijenos podataka. Lokalnost klastera leži u činjenici da su svi njegovi podsustavi “vidljivi” u jednoj administrativnoj domeni, a njima se upravlja kao jednim računalnim sustavom. Računala koja su dio klastera nazivaju se čvorovi. Obično su to univerzalna računala masovne proizvodnje koja mogu raditi samostalno. Čvorovi mogu biti jednoprocesorski ili višeprocesorski (SMP konfiguracija). U klasičnom dizajnu, svi čvorovi dijele vanjsku memoriju na nizu tvrdog diska prilikom pokretanja aplikacija, koristeći unutarnje HDD-ove za specijaliziranije funkcije. Za komunikaciju između čvorova obično se koristi neka standardna mrežna tehnologija, iako to ne isključuje zasebno razvijene komunikacijske kanale. Mreža klastera je odvojena - izolirana je od vanjskog mrežnog okruženja.

Klasifikacija

Klasteri se mogu klasificirati prema različitim kriterijima, ali najčešće se dijele u tri kategorije, koje su određene prirodom i svrhom primjene.

Klasteri visoke dostupnosti (HA).. Ponekad se nazivaju i otpornima na greške. Takvi su klasteri dizajnirani kako bi krajnjim korisnicima pružili nesmetan pristup podacima ili uslugama (obično web uslugama). Obično se jedna instanca aplikacije izvodi na jednom čvoru, a kada taj čvor postane nedostupan, kontrolu nad njim preuzima drugi čvor (slika 1). Ova arhitektura također omogućuje popravke i preventivno održavanje bez zaustavljanja usluga. Osim toga, ako jedan čvor zakaže, usluga se može vratiti bez utjecaja na dostupnost ostalih. Istina, performanse sustava će se smanjiti.

Klasteri visoke dostupnosti najbolji su izbor za pokretanje kritičnih aplikacija ili baza podataka, pošte, datoteka, ispisa, weba i aplikacijskih poslužitelja. Za razliku od distribuiranog i paralelnog računalstva, ovi klasteri jednostavno i transparentno omogućuju postojeće aplikacije organizacija koje nisu specifične za klaster, omogućujući mreži da se neprimjetno širi kako posao raste.

Klasteri za uravnoteženje opterećenja. Ova vrsta klastera distribuira dolazne zahtjeve na više čvorova koji pokreću iste programe ili hostiraju isti sadržaj (Slika 2). Svaki čvor može obraditi zahtjeve za istu aplikaciju ili sadržaj. Ako bilo koji od čvorova zakaže, zahtjevi se redistribuiraju među preostalima. Obično se takvi klasteri koriste za web hosting.

Obje gore razmotrene tehnologije klastera mogu se kombinirati kako bi se povećala pouzdanost aplikacije, dostupnost i skalabilnost.

Klasteri za računalstvo visokih performansi (High-Performance Cluster, HPC). Tradicionalno, paralelno računanje se izvodilo na višeprocesorskim sustavima dizajniranim posebno za tu svrhu. U njima je mnogo procesora dijelilo zajedničku memoriju i sučelje sabirnice unutar jednog računala. Pojavom tehnologije prebacivanja velike brzine, postalo je moguće kombinirati računala u klastere za paralelno računanje.

Paralelni klaster je sustav koji koristi mnogo čvorova za paralelizaciju izračuna za rješavanje određenog problema. Za razliku od balansiranja opterećenja i klastera visoke dostupnosti, koji distribuiraju zahtjeve/zadatke između čvorova koji ih obrađuju kao cjelinu, u paralelnom okruženju, zahtjev je podijeljen na mnogo podzadataka, koji se zatim distribuiraju za obradu između čvorova unutar klastera. Paralelni klasteri koriste se uglavnom za aplikacije koje zahtijevaju intenzivne matematičke izračune.

Komponente klastera

Osnovni građevni blokovi (komponente) klastera podijeljeni su u nekoliko kategorija: sami čvorovi, softver klastera, namjenska mreža koja razmjenjuje podatke između čvorova i pripadajući mrežni protokoli.

Čvorovi

Čvorovi dizajna migrirali su s tradicionalnih šasija na postolju na višeprocesorske sustave s jednim regalom i blade poslužitelje koji pružaju veću gustoću procesora u prostorno ograničenim okruženjima.

Nedavno su performanse procesora, memorije, pristupne brzine tvrdih diskova i njihov kapacitet značajno porasli. Zanimljivo je primijetiti da je ovim, u nekim slučajevima eksponencijalnim, povećanjem performansi, cijena ovih tehnologija značajno smanjena.

U tipičnom slučaju, čvor u klasteru može biti kontrolni (master) ili računalni (slave) čvor (slika 3). Može postojati samo jedan glavni čvor. Odgovoran je za rad klastera, a također je ključan za međuprogram klastera, procese usmjeravanja, otpremu i nadzor stanja svakog računalnog čvora. Potonji izvode izračune i operacije sa sustavom za pohranu podataka. Ovi čvorovi su u biti potpuno funkcionalna samostalna računala i obično se prodaju kao stolna računala ili poslužitelji odmah po isporuci.

Softver

Poput običnog stolnog računala, OS klastera srce je svakog čvora. Nevidljivo je prisutan tijekom bilo koje radnje korisnika, bilo da se radi o pristupu datotečnom sustavu, slanju poruka ili pokretanju dodatnog procesa. Korisnici mogu odabrati različite programske paradigme ili međuprograme, ali OS klastera je isti za sve.

Tipična skica dizajna OS-a prikazana je u tablici. Prikazuje osnovne blokove tradicionalnog čvora. Primarna uloga OS-a klastera prvenstveno je multipleksiranje višestrukih korisničkih procesa na jedan skup hardverskih komponenti (upravljanje resursima) i pružanje korisnih apstrakcija za softver visoke razine. Neke od ovih apstrakcija uključuju zaštitu granica memorije, koordinaciju procesa/niti i komunikacije te upravljanje uređajima. Treba napomenuti da većinu funkcija specifičnih za klaster izvodi međuprogram. I za to postoje razlozi. Doista, OS klastera prilično je složen i nije uvijek jasno kako će promjene utjecati na druge sustave. Stoga je bolje izvršiti potrebne izmjene na razini međuprograma, a nove funkcionalnosti koje su mu dodane mogu se prenijeti na druge operativne sustave.

U gornjoj definiciji klastera spomenuto je da je vidljiv administratoru i korisniku kao jedan računalni sustav. To se postiže korištenjem Slika jednog sustava (SSI). To je ono što skriva heterogenu i distribuiranu prirodu dostupnih resursa i predstavlja ih korisnicima i aplikacijama kao jedan računalni resurs. SSI se može implementirati na jednoj ili više od sljedećih razina: hardver, OS, middleware i/ili aplikacija. Evo primjera nekoliko ključnih usluga koje pruža SSI klaster:

  • jedinstvena ulazna točka;
  • jedinstveno korisničko sučelje;
  • jedan procesni prostor;
  • jedna memorija i I/O prostor;
  • jedinstvena hijerarhija datoteka;
  • jedinstvena točka kontrole i upravljanja.

Sustavi kao što su Digital/Compaq Memory Channel i Distributed Shared Memory pružaju SSI na razini hardvera i omogućuju korisnicima da vide klaster kao sustav zajedničke memorije. Operativni sustavi SCO UnixWare NonStop Cluster, Sun Solaris-MC, GLUNIX i MOSIX podržavaju SSI na razini kernela.

Implementacija SSI-a na svakoj od gore navedenih razina ima svoje prednosti i nedostatke. Dakle, hardverski sloj može pružiti najveći stupanj transparentnosti, ali zbog svoje krute arhitekture nije ništa manje fleksibilan nego što je potrebno za proširenja i poboljšanja sustava. Sloj kernela pruža SSI i programerima i krajnjim korisnicima, ali je preskup i teško ga je modificirati. Glavna prednost aplikacijskog sloja nad slojem kernela je ta što se u prvom sloju SSI implementira u fazama i korisnik odmah dobiva mogućnosti, dok u drugom sloju proizvod ne može izaći na tržište dok sve komponente kernela ne podržavaju SSI. Međuslojni sloj je kompromis između dva gore navedena mehanizma implementacije SSI.

Mrežna oprema i protokoli

Stvaranje javnih klastera bilo je moguće samo zahvaljujući odgovarajućim mrežnim tehnologijama za međučvornu komunikaciju. Javni klasteri uključuju jednu ili više namjenskih mreža za prijenos paketa poruka unutar distribuiranog sustava. To razlikuje klaster od skupa autonomnih računala slabo povezanih putem zajedničkog LAN-a.

Danas razvijači klastera imaju široke mogućnosti odabira mrežne tehnologije. Budući da cijena mrežne opreme za klastere varira od "gotovo ništa" do nekoliko tisuća dolara po čvoru, ovo možda nije posljednja komponenta u određivanju cijene proizvoda. Praksa daje primjere izgradnje vrlo učinkovitih klastera korištenjem jeftine mrežne opreme koja se može vidjeti u običnom LAN-u. U isto vrijeme, pojedinačni mrežni proizvodi posebno dizajnirani za komunikaciju klastera usporedivi su po cijeni s radnim stanicama. Odabir mrežne tehnologije ovisi o nizu čimbenika: cijeni, performansama, kompatibilnosti s drugim hardverom i softverom klastera, kao i komunikacijskim karakteristikama aplikacija koje će se izvoditi na klasteru.

Učinkovitost mreže općenito se opisuje u smislu latencije i propusnosti. Latencija je duljina vremena od zahtjeva za podacima do njihova primitka, odnosno vrijeme koje je potrebno da se oni prenesu s jednog računala na drugo, uključujući troškove softvera za generiranje poruke i vrijeme potrebno za prijenos bitova. U idealnom slučaju, aplikacije napisane za klastere trebale bi imati minimalne poruke. Ako aplikacija šalje veliki broj kratkih poruka, tada će njezina izvedba ovisiti o latenciji mreže, ali ako se razmjenjuju duge poruke, tada će njezina propusnost imati veliki utjecaj na ovaj parametar. Očito je da će izvedba aplikacije biti najbolja s malom latencijom i velikom propusnošću. Kako bi se ispunila ova dva zahtjeva, potrebni su učinkoviti komunikacijski protokoli koji minimaliziraju opterećenje i brzi mrežni uređaji.

Komunikacijski ili mrežni protokoli definiraju pravila i konvencije koje će dva ili više računala na mreži koristiti za razmjenu informacija. Mogu se temeljiti na povezivanju ili bez povezivanja, pružiti različite razine pouzdanosti - sa i bez pune garancije isporuke u redoslijedu paketa, sinkroni (bez međuspremnika) i asinkroni (s međuspremnikom).

Za komunikaciju klastera koriste se i tradicionalni mrežni protokoli, izvorno razvijeni za Internet (IP) i posebno kreirani. Osim toga, postoje dva relativno nova standarda također posebno dizajnirana za klastere. Nećemo se zadržavati na IP protokolu koji je našim čitateljima dosta poznat, kao ni na ostalima jer su svi dosta specifični. Navest ćemo samo njihova imena kako bi se zainteresirani mogli obratiti ili literaturi ili “sveznajućem” internetu. To su, posebice, Active Messages, Fast Messages, Virtual Memory-Mapped Communication system, U-net i Basic Interface for Parallelism protokoli. Pogledajmo dva standarda.

Do 1997. istraživanje protokola niske latencije napredovalo je do te mjere da je konačno dovelo do stvaranja novog standarda za komunikaciju klastera, Virtual Interface Architecture (VIA). U isto vrijeme, industrija je radila na standardima za podsustave dijeljene pohrane. Rezultat tih napora bio je InfiniBand.

VIA je komunikacijski standard koji objedinjuje najbolja dostignuća različitih projekata. Kreirao ga je konzorcij akademskih i industrijskih partnera uključujući Intel, Compaq i Microsoft. Verzija VIA 1.1 s podrškom za heterogeni hardver postala je dostupna početkom 2001. Kao što ime sugerira, VIA se temelji na konceptu virtualnog mrežnog sučelja. Standard propisuje da prije slanja poruke međuspremnici za primanje i slanje moraju biti dodijeljeni i povezani s fizičkom memorijom. Nakon što su međuspremnici i njihove pridružene strukture podataka formirani, više nisu potrebni nikakvi pozivi sustava. Operacije primanja i slanja u korisničkoj aplikaciji sastoje se od pisanja oznake u red čekanja. Aplikacija može odabrati hoće li čekati potvrdu da je operacija završena ili će nastaviti svoj glavni posao dok se poruka obrađuje.

Iako se VIA može staviti na raspolaganje izravno programiranju aplikacija, mnogi programeri sustava vjeruju da je to preniska razina za aplikacije, budući da potonje moraju biti odgovorne za dodjelu dijela fizičke memorije i osiguravanje da se ona učinkovito koristi. Očekuje se da će većina dobavljača OS-a i međuopreme osigurati sučelje za VIA koje će podržavati programiranje aplikacija. Stoga je u jesen 2000. većina dobavljača baza podataka ponudila verzije svojih proizvoda koje su radile na VIA-i. Drugi softver klastera, poput datotečnih sustava, brzo postaje dostupan.

Standard InfiniBand podržao je konzorcij industrijskih partnera, uključujući Compaq, Dell, HP, IBM, Intel, Microsoft i Sun Microsystems. Arhitektura InfiniBand zamjenjuje zajedničku sabirnicu, koja je standardni I/O sustav u modernim računalima, brzom serijskom strukturom koja se temelji na kanalima. Svi sustavi i uređaji povezuju se s mrežom koristeći Host Channel Adapter (HCA), koji povezuje glavni CPU s InfiniBand tkaninom, ili Target Channel Adapter (TCA), koji povezuje InfiniBand s drugim I/O uređajima kao što su Ethernet, Fibre Channel ili sa sustavima za pohranu. Veza InfiniBand je full-duplex i radi brzinom od 2,5 Gb/s u jednom smjeru u topologiji od točke do točke. Podaci se šalju u paketima i postoji šest načina prijenosa: pouzdana i nepouzdana veza, pouzdani i nepouzdani datagram, multicast i neobrađeni paketi ("raw" način). Osim toga, InfiniBand podržava daljinski izravan pristup memoriji, što omogućuje jednom procesoru čitanje ili pisanje u memoriju drugog procesora.

Što se tiče mrežne opreme koja podržava komunikaciju između čvorova, ona se može klasificirati u četiri kategorije - ovisno o tome je li veza napravljena na I/O sabirnicu ili na memorijsku sabirnicu, te o glavnom načinu komunikacije - korištenjem poruka ili zajedničkim korištenjem. memorija diska.

Od četiri kategorije međusobnog povezivanja, sustavi bazirani na porukama i I/O sabirnici su najčešći jer pružaju najjasnije sučelje računalu. I/O sabirnica ima barem hardverski prekid koji može obavijestiti procesor da su podaci spremni za čitanje. Takvi sustavi implementirani su u sve široko dostupne mrežne tehnologije, kao iu niz novijih proizvoda dizajniranih posebno za računalstvo u klasterima.

Sustavi s I/O sabirnicom i zajedničkom diskovnom memorijom uključuju računala s zajedničkim diskovnim podsustavom. Memorijske veze su rjeđe jer je memorijska sabirnica općenito drugačije dizajnirana za svaku vrstu računala. Međutim, mnogi takvi sustavi implementirani su u softveru ili kroz I/O port-to-memory maping mehanizam kao što je memorijski kanal.

Osim toga, postoje hibridni sustavi koji kombiniraju značajke nekoliko kategorija, na primjer, InfiniBand vam omogućuje slanje podataka na disk i poruka drugim čvorovima. Slično, skalabilno koherentno sučelje (SCI) također može koristiti oba mehanizma razmjene.

Mreže klastera

Mreža sustava klastera može biti izgrađena na temelju tradicionalnih mrežnih proizvoda koji se koriste u LAN-ovima ili dizajnirana posebno za računalstvo klastera. U potonjem slučaju pruža dodatnu hardversku podršku koja smanjuje latenciju.

Danas su komutirane Ethernet tehnologije, zbog niskih troškova priključaka i standardizacije sučelja, vodeće kao sustavi međusobnog povezivanja u široko dostupnim klasterima. Mnoga računala opremljena su ugrađenim 1 GE priključcima; sve što trebate učiniti je kupiti jeftin prekidač. Međutim, za povećane zahtjeve koriste se i specijalizirane mreže. Svaki njihov detaljan opis odveo bi nas daleko izvan granica mogućeg, stoga ćemo, radi cjelovitosti, dati samo vrlo kratke podatke o pojedinima od njih.

Giganet (cLAN). cLAN (collapsed LAN) tehnologija, sada u vlasništvu Emulexa, razvijena je za hardversku podršku VIA. Ovo je bila prva izvorna hardverska implementacija VIA standarda u industriji. Ključne značajke mreže su sljedeće.

Na najnižoj razini komunikacijskog modela nalazi se nekoherentna distribuirana zajednička memorija (DSM). Dio virtualnog adresnog prostora aplikacije logički je mapiran preko mreže u fizičku memoriju na drugom čvoru. Podaci se prenose između aplikacija pisanjem u područje zajedničke memorije pomoću standardnih procesorskih uputa za pisanje. Međuspremnik na udaljenom čvoru predstavljen je kolačićem udaljenog izravnog pristupa memoriji, koji vlasniku čvora daje dopuštenje za pristup međuspremniku.

Myrinet. Ovu full duplex mrežu isporučuje Myricom. Naširoko se koristi u mnogim akademskim projektima, posebice u Berkeley mreži radnih stanica (NOW). Fizički, mreža se sastoji od dva optička kabela (nizvodno i uzvodno) spojena na host preko zajedničkog konektora. Računala su povezana pomoću usmjerivača ili preklopnika (mogu se konfigurirati za pružanje redundantnih staza). Podržano je prebacivanje bez međuspremnika paketa (cut-through), što omogućuje prijenos poruka s kraja na kraj s minimalnim kašnjenjem. Myrinet ima ugrađen programibilni procesor - omogućuje vam eksperimentiranje s mnogim komunikacijskim protokolima.

Myrinet implementira niz mehanizama za osiguranje tolerancije na pogreške. To uključuje kontrolu protoka, kontrolu grešaka i provjeru funkcionalnosti kanala (otkucaji srca).

Najnovija verzija, takozvana četvrta generacija Myrineta 10G, podržava brzine prijenosa podataka od 10 Gb/s u svakom smjeru i kompatibilna je s 10 GE na PHY razini. Mrežna latencija je vrlo niska - samo 5 µs.

QsNet. Ovu brzu mrežu niske latencije razvila je tvrtka Quadrics Supercomputers World (QSW). Strukturno, QsNet uključuje dva podsustava:

  • mrežno sučelje koje se sastoji od jednog ili više mrežnih adaptera u svakom čvoru;
  • podatkovna mreža s više sabirnica koja povezuje računala u klaster.

Mrežno sučelje temelji se na prilagođenim čipovima nazvanim Elan. Modifikacija Elan III kombinira namjenski I/O procesor za rasterećenje CPU-a, PCI sabirnicu (66 MHz, 64 bita), dvostruki kanal (400 MHz, 8 bita), jedinicu za upravljanje memorijom (MMU), predmemoriju i sučelje lokalne memorije. Čip obavlja tri vrste osnovnih operacija:

  • daljinsko čitanje i pisanje;
  • izravan prijenos podataka iz korisničkog virtualnog adresnog prostora jednog procesora u drugi bez potrebe za sinkronizacijom;
  • upravljanje protokolom.

Mreža je izgrađena na temelju namjenskih preklopnika, koji su spojeni u posebnu šasiju, tvoreći debelu topologiju stabla (što je grana bliža korijenu, to je deblja, tj. njen kapacitet je veći).

Modifikacija mreže, objavljena 2003., temelji se na sabirnici PCI-X 133 MHz i ima latenciju od 1,22 μs.

Skalabilno koherentno sučelje (SCI). Ovo je prva tehnologija međusobnog povezivanja razvijena posebno za klastersko računalstvo koja je dovedena u standard. SCI arhitektura temelji se na vezama od točke do točke, malim veličinama paketa i podijeljenim transakcijama. Standard IEEE 1596 objavljen je 1992. i specificirao je mrežni fizički sloj i više za mrežno distribuiranu zajedničku koherentnu predmemoriju (opcionalnu) memoriju. Na višim razinama, standard opisuje distribuirani koherentni dizajn predmemorije temeljen na pokazivačima. Ovaj dizajn omogućuje predmemoriranje udaljene SCI memorije: kad god se podaci koji se nalaze u udaljenoj memoriji modificiraju, sve linije predmemorije na svim čvorovima gdje su pohranjeni poništavaju se. Predmemoriranje udaljene SCI memorije poboljšava performanse i omogućuje izravno, transparentno programiranje zajedničke memorije.

Naravno, ovo nisu sve tehnologije na temelju kojih možete izgraditi prilično moćan klaster. Početni klasteri obično koriste nespecijalizirana rješenja koja koriste tradicionalne mrežne tehnologije kao što su Ethernet, ATM ili Fibre Channel.

Danas tržište nudi širok raspon klastera koji se razlikuju po vrsti i brzini procesora, veličini memorije koju dijele čvorovi, tehnologiji za međusobno povezivanje čvorova, modelima i programskim sučeljima. Međutim, morate shvatiti da rezultat postignut uz njihovu pomoć u velikoj mjeri ovisi o značajkama aplikacija koje planirate implementirati na njih.

Skica dizajna osnovnog OS-a
Korisnički prostor Procesi sustava Korisnički procesi
ne koristeći
srednji softver
Korisnički procesi pomoću međuprograma
Middleware
Usluge sustava Korisničke knjižnice
Kernel Proširenja jezgre vezana uz međuware
Datotečni sustavi/komunikacija/programsko sučelje
Upravitelj memorije Planer Vozači
Hardverski sloj apstrakcije
Hardverski resursi Odbrojavanja i prekidi
OVAN procesori Diskovi Mreža Međusobno povezivanje klastera Drugi

Princip njihovog rada temelji se na distribuciji zahtjeva kroz jedan ili više ulaznih čvorova koji ih preusmjeravaju na obradu na preostale računalne čvorove. Početni cilj takvog klastera je izvedba, međutim, oni često također koriste tehnike za poboljšanje pouzdanosti. Takve se strukture nazivaju farme poslužitelja. Softver može biti komercijalan (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler) ili besplatan (OpenMosix, Sun Grid Engine, Linux Virtual Server).

Računalni klasteri

Klasteri se koriste u računalne svrhe, posebice u znanstvenim istraživanjima. Za računalne klastere značajni pokazatelji su visoka performansa procesora u operacijama s pomičnim zarezom (flops) i niska latencija mreže za povezivanje, a manje značajna brzina I/O operacija, što je važnije za baze podataka i web servise. Računalni klasteri omogućuju smanjenje vremena izračuna u usporedbi s jednim računalom dijeljenjem zadatka u paralelne izvršne grane koje razmjenjuju podatke preko mreže za međusobno povezivanje. Jedna tipična konfiguracija je skup računala sastavljenih od uobičajeno dostupnih komponenti, s operativnim sustavom Linux i povezanih Ethernetom, Myrinetom, InfiniBandom ili drugim relativno jeftinim mrežama. Takav sustav obično se naziva Beowulf klaster. Posebno su identificirani klasteri visokih performansi (označeni engleskom kraticom HPC klaster - Računalni klaster visokih performansi). Popis najmoćnijih računala visokih performansi (može se označiti i engleskom kraticom HPC) nalazi se na svjetskoj ljestvici TOP500. Rusija održava ocjenu najmoćnijih računala u CIS-u.

Distribuirani računalni sustavi (grid)

Takvi se sustavi obično ne smatraju klasterima, ali su njihovi principi uvelike slični tehnologiji klastera. Također se nazivaju i grid sustavi. Glavna razlika je niska dostupnost svakog čvora, odnosno nemogućnost jamčenja njegovog rada u određenom trenutku (čvorovi se spajaju i odspajaju tijekom rada), stoga se zadatak mora podijeliti na više procesa neovisno o svakom drugo. Takav sustav, za razliku od klastera, nije kao jedno računalo, već služi kao pojednostavljeno sredstvo za distribuciju izračuna. Nestabilnost konfiguracije, u ovom slučaju, kompenzira se velikim brojem čvorova.

Klaster poslužitelja organiziran programski

Cluster sustavi zauzimaju dostojno mjesto na popisu najbržih, dok u cijeni znatno nadmašuju superračunala. Od srpnja 2008., klaster SGI Altix ICE 8200 (Chippewa Falls, Wisconsin, SAD) nalazi se na 7. mjestu u ocjeni TOP500.

Relativno jeftina alternativa superračunalima su klasteri temeljeni na konceptu Beowulf, koji se grade od običnih jeftinih računala temeljenih na besplatnom softveru. Jedan praktični primjer takvog sustava je Stone Soupercomputer u Nacionalnom laboratoriju Oak Ridge (Tennessee, SAD, 1997.).

Najveći klaster u privatnom vlasništvu (od 1000 procesora) izgradio je John Koza.

Priča

Povijest stvaranja klastera neraskidivo je povezana s ranim razvojem na području računalnih mreža. Jedan od razloga za pojavu brze komunikacije između računala bila je nada u udruživanje računalnih resursa. Početkom 1970-ih, TCP/IP razvojni tim i Xerox PARC laboratorij uspostavili su mrežne standarde. Pojavio se i operativni sustav Hydra za računala PDP-11 proizvođača DEC; Međutim, tek oko 1983. stvoreni su mehanizmi koji olakšavaju distribuciju zadataka i datoteka preko mreže, uglavnom iz SunOS-a (operativnog sustava temeljenog na BSD-u tvrtke Sun Microsystems).

Prvi komercijalni projekt klastera bio je ARCNet, koji je kreirao Datapoint 1977. godine. Nije postao isplativ, pa se izgradnja klastera razvila tek 1984. godine, kada je DEC izgradio svoj VAXcluster temeljen na VAX/VMS operativnom sustavu. ARCNet i VAXcluster dizajnirani su ne samo za zajedničko računalstvo, već i za dijeljenje datotečnog sustava i perifernih uređaja, vodeći računa o očuvanju integriteta i jednoznačnosti podataka. VAXCluster (sada nazvan VMSCluster) je integralna komponenta OpenVMS operativnog sustava koji koristi DEC Alpha i Itanium procesore.

Druga dva rana proizvoda klastera koji su stekli priznanje uključuju Tandem Hymalaya (1994., klasa ) i IBM S/390 Parallel Sysplex (1994.).

Povijest stvaranja klastera iz običnih osobnih računala uvelike duguje projektu Parallel Virtual Machine. Godine 1989. ovaj softver za povezivanje računala u virtualno superračunalo omogućio je trenutno stvaranje klastera. Kao rezultat toga, ukupna izvedba svih jeftinih klastera stvorenih u to vrijeme nadmašila je izvedbu zbroj kapaciteta "ozbiljnih" komercijalnih sustava.

Stvaranje klastera temeljenih na jeftinim osobnim računalima povezanim mrežom za prijenos podataka nastavila je 1993. godine američka svemirska agencija NASA, a zatim su 1995. godine razvijeni klasteri Beowulf, posebno dizajnirani na ovom principu. Uspjeh takvih sustava potaknuo je razvoj

Jedan od najmodernijih trendova u području stvaranja računalnih sustava je klasteriranje. U pogledu performansi i dostupnosti, klasteriranje je alternativa simetričnim višeprocesorskim sustavima.

Kao što smo već primijetili, računalni klaster je M1MR- sustav (više računala) koji se sastoji od mnogo pojedinačnih računala (čvorovi računalnog klastera) ujedinjenih jednim komunikacijskim okruženjem.

Čvor klastera može biti jednoprocesorski VM ili VC tip SMP ili MRR. Svaki čvor može funkcionirati neovisno i odvojeno od klastera.

Svaki čvor ima svoj lokalni RAM. U ovom slučaju, u pravilu, ne postoji zajednički fizički RAM za čvorove. Komunikacijsko okruženje računalnih klastera obično dopušta čvorovima da međusobno komuniciraju samo prosljeđivanjem poruka. Općenito, računalni klaster treba smatrati jedinstvenim hardverskim i softverskim sustavom s jednim komunikacijskim sustavom, jednim kontrolnim centrom i planiranjem opterećenja.

Arhitektura klasterskog računalstva svodi se na povezivanje nekoliko čvorova mrežom velike brzine. Uz pojam "klastersko računalstvo" često se koriste nazivi kao što su klaster radne stanice, hiperračunalstvo i mrežno zasnovano konkurentno računalstvo.

Klasteri se suočavaju s dva zadatka:

  • postići visoku računalnu snagu;
  • osigurati povećanu pouzdanost zrakoplova.

Prvi komercijalni klaster stvorila je korporacija DEC ranih 80-ih. prošlog stoljeća. Kao čvorovi klastera mogu se koristiti i identični zrakoplovi (homogeni klasteri) i različiti (heterogeni klasteri). Po svojoj arhitekturi klasterirani računalni sustav je labavo spregnuti sustav.

Prednosti postignute klasteriranjem:

  • apsolutna skalabilnost. Moguće je stvoriti velike klastere koji premašuju čak i najmoćnije pojedinačne VM-ove u smislu računalne snage. Klaster može sadržavati desetke čvorova, od kojih je svaki multiplekser;
  • skalabilan. Klaster je izgrađen na takav način da se može proširiti dodavanjem novih čvorova u malim dijelovima;
  • faktor visoke dostupnosti. Budući da je svaki čvor klastera neovisni VM ili zrakoplov, kvar jednog od čvorova ne dovodi do gubitka funkcionalnosti klastera. U mnogim sustavima, softver automatski podržava toleranciju na pogreške;
  • odličan omjer cijene i performansi. Standardnim povezivanjem može se stvoriti klaster bilo koje izvedbe

VM, dok će njegova cijena biti niža od cijene jednog VM-a

s ekvivalentnom računalnom snagom.

Na hardverskoj razini, klaster je jednostavno skup nezavisnih računalnih sustava povezanih mrežom. Prilikom povezivanja strojeva u klaster, izravna komunikacija između strojeva gotovo je uvijek podržana. Rješenja mogu biti jednostavna, temeljena na Ethernet hardveru, ili složena s mrežama velike brzine s propusnošću od stotina megabajta u sekundi (sustav /?5/6000 SP 1VM tvrtka, Digitalni sustavi temeljeni na memorijskom kanalu, ServerNet iz Compaq korporacije).

Čvorovi klastera međusobno nadziru izvedbu i razmjenjuju specifične informacije. Praćenje performansi provodi se pomoću posebnog signala koji se zove otkucaj srca. Ovaj signal čvorovi klastera šalju jedni drugima kako bi potvrdili svoje normalno funkcioniranje.

Sastavni dio klastera je specijalizirani softver koji ima zadatak osigurati nesmetan rad u slučaju kvara jednog ili više čvorova. Takav softver redistribuira računalno opterećenje kada jedan ili više čvorova klastera zakaže, kao i obnavlja izračune kada čvor zakaže. Dodatno, kada klaster ima dijeljene diskove, softver klastera održava jedan datotečni sustav.

Čvorovi računalnog klastera mogu raditi pod različitim operativnim sustavima. Međutim, najčešće se koriste standardni sustavi slični UNIX-u. Imajte na umu da sa stajališta razvoja paralelnih aplikacijskih programa nema temeljnih razlika između homogenih računalnih klastera i MRR- sustava.

Klasifikacija računalnih klastera prema vrsti

procesori čvorova

Računalni klasteri klasificirani su prvenstveno prema prirodi procesora čvora (Sl. 9.10).

Osobna računala, radne stanice i MP poslužitelji obično se koriste kao čvorovi u računalnim klasterima. Ako se koristi kao čvor klastera SMP- sustava, tada se takav računalni klaster naziva *5ZhR klaster.

Ako se osobna računala ili radne stanice koriste kao čvorovi računalnog klastera, tada je uobičajeni sustav

Riža. 9.10.

situacija kada se tijekom rješavanja problema na klasteru sekvencijalni korisnički zadaci nastavljaju izvršavati na čvorovima ovog klastera. Kao rezultat toga, relativna izvedba čvorova klastera varira nasumično i u širokom rasponu. Rješenje problema bilo bi pisanje samoprilagodljivog korisničkog programa. Međutim, učinkovito rješenje ovog problema čini se vrlo problematičnim. Situacija se pogoršava ako među računalima čvorova računalnog klastera postoje poslužitelji datoteka. U isto vrijeme, tijekom rješavanja problema na klasteru, opterećenje komunikacijskog okruženja može jako varirati, što komunikacijske troškove zadatka čini nepredvidivim.

Klasifikacija računalnih klastera prema homogenosti čvorova

Kao i svi A//A//)-sustavi, računalni klasteri se dijele na homogene klasterske sustave (homogene računalne klastere) i heterogene klasterske sustave (heterogene računalne klastere).

Obično, kada govore o računalnim klasterima, misle na homogene računalne klastere. Međutim, kada se razvija klaster, često je potrebno koristiti procesore koji se razlikuju ne samo u performansama, već iu arhitekturi od procesora čvorova klastera. Stoga postupno homogeni računalni klaster može postati heterogen. Ova heterogenost stvara sljedeće probleme: razlike u performansama procesora kompliciraju zadatak raspodjele rada između procesora; razlike u arhitekturi procesora zahtijevaju pripremu različitih izvršnih datoteka za različite čvorove, au slučaju razlika u prezentaciji podataka, može biti potrebna konverzija njihovih formata prilikom prijenosa poruka između čvorova.

Klasifikacija računalnih klastera prema funkcionalnosti čvora

Čvorovi računalnog klastera mogu biti potpuno funkcionalna računala koja također mogu raditi kao neovisne jedinice. Učinkovitost takvog klastera obično je niska.

Za stvaranje računalnih klastera visokih performansi, sistemske jedinice čvornih računala napravljene su mnogo jednostavnije nego u prvom slučaju (nisu potpuno funkcionalne). Nema potrebe opremati glavna računala grafičkim karticama, monitorima, diskovnim pogonima i drugom perifernom opremom. Periferna oprema instalirana je samo na jednom ili nekoliko upravljačkih računala (YOUG-računala). Ovaj pristup može značajno smanjiti troškove sustava.

Pri klasifikaciji klastera koristi se i niz drugih kriterija klasifikacije (slika 9.11).


Riža. 9.11.

  • klasifikacija prema standardu komponenti;
  • klasifikacija prema funkcionalnoj orijentaciji. Klasifikacija računalnih klastera prema standardu komponenti. Sa stajališta standardizacije komponenti mogu se razlikovati dvije klase klasterskih sustava:
    • 1) računalni klaster je u potpunosti izgrađen od standardnih komponenti;
    • 2) pri izgradnji klastera koriste se ekskluzivne ili nedostupne komponente.

Prvoklasni računalni klasteri imaju niske cijene i jednostavno održavanje. Tehnologije klastera postale su široko rasprostranjene kao način stvaranja relativno jeftinih sustava klase superračunala iz komponenti masovne proizvodnje.

Drugorazredni klasteri pružaju vrlo visoke performanse, ali su naravno skuplji.

Klasifikacija računalnih klastera prema njihovom funkcionalnom fokusu. S funkcionalnog gledišta, sustavi klastera mogu se podijeliti na:

Za sustave klastera velike brzine (visoke performanse) -

YAR klasteri;

Klasterski sustavi visoke dostupnosti (High Availability) - NA-

klasteri.

Klasteri velike brzine koristi se u područjima koja zahtijevaju značajnu računalnu snagu. Klasteri visoke dostupnosti koriste se gdje god je trošak mogućeg zastoja veći od troška potrebnih za izgradnju sustava otpornog na greške.

Učinkovitost računalnog klastera velike brzine očito ovisi o učinku njegovih čvorova. S druge strane, performanse klastera, kao i svakog sustava s distribuiranom memorijom, jako ovise o performansama komunikacijskog okruženja. Obično se pri izgradnji računalnih klastera koriste prilično jeftini komunikacijski mediji. Takva okruženja pružaju jedan do dva reda veličine niže performanse od performansi komunikacijskih okruženja superračunala. Stoga nema mnogo problema koji se mogu prilično učinkovito riješiti na velikim sustavima klastera.

Utjecaj izvedbe komunikacijskog okruženja na ukupnu izvedbu sustava klastera ovisi o prirodi zadatka koji se obavlja. Ako zadatak zahtijeva čestu razmjenu podataka između podzadataka koji se rješavaju na različitim čvorovima računalnog klastera, tada maksimalnu pozornost treba posvetiti brzini komunikacijskog okruženja. U skladu s tim, što manje dijelovi zadatka međusobno djeluju, to se manje pažnje može posvetiti brzini komunikacijskog okruženja.

Razvijene su mnoge tehnologije za povezivanje računala u klaster.

Kako bi računalni sustav imao visoke razine dostupnosti, potrebno je da su njegove komponente što pouzdanije, da je sustav tolerantan na pogreške i da je moguća “vruća” zamjena komponenti (bez zaustavljanja sustava). Zahvaljujući klasteriranju, ako jedno od računala u sustavu zakaže, zadaci se mogu automatski (od strane operativnog sustava) redistribuirati među ostalim (zdravim) čvorovima računalnog klastera. Dakle, otpornost na pogreške klastera osigurana je dupliciranjem svih vitalnih komponenti računalnog sustava. Najpopularniji komercijalni sustavi otporni na greške trenutno su klasteri s dva čvora.

Postoji još jedna klasa računalnih klastera - računalne mreže (GRID), kombinirajući resurse mnogih klastera, višeprocesorskih i jednoprocesorskih računala, koja mogu pripadati različitim organizacijama i nalaziti se u različitim zemljama.

Razvoj paralelnih programa za računalne mreže postaje teži zbog sljedećih problema. Resursi (broj čvorova, njihova arhitektura, izvedba) koji su dodijeljeni zadatku određuju se samo u trenutku kada mreža obrađuje nalog za dovršenje ovog zadatka. Stoga programer nije u mogućnosti razviti program za određenu konfiguraciju računalne mreže. Program mora biti razvijen tako da se može dinamički (bez rekompilacije) samostalno prilagođavati odabranoj konfiguraciji mreže. Osim toga, heterogenosti komunikacijskog okruženja pridodaje se i varijabilnost njegovih karakteristika uzrokovana promjenama opterećenja mreže. U najboljem slučaju, program mora biti dizajniran tako da uzme u obzir tu heterogenost komunikacijskog okruženja, što je vrlo težak zadatak. Kao što smo gore napomenuli, sličan problem se također pojavljuje za računalne klastere izgrađene na osobnim računalima ili radnim stanicama.

Učinkovite performanse klasterskih računalnih sustava (performanse stvarnih aplikacija, RAP) procjenjuje se na 5-15% njihove vrhunske izvedbe (vršna reklamirana izvedba, PAP). Za usporedbu: za najbolje niskoprocesorske sustave koji se sastoje od vektorskih procesora, ovaj se omjer procjenjuje na 30-50%.

Klasterski računalni sustavi postali su nastavak razvoja ideja ugrađenih u arhitekturu MPA sustava. Ako u MPA sustavu procesorski modul djeluje kao potpuni računalni čvor, tada se u sustavima klastera komercijalno dostupna računala koriste kao takvi računalni čvorovi. Razvoj komunikacijskih tehnologija, točnije pojava mrežne opreme velike brzine i posebnih softverskih biblioteka, na primjer, MPI (Message Passing Interface), koji implementira mehanizam za prijenos poruka pomoću standardnih mrežnih protokola, učinio je tehnologije klastera općenito dostupnima. Trenutno se mnogi mali sustavi klastera stvaraju kombiniranjem računalne snage laboratorijskih ili učioničkih računala.

Atraktivna značajka klasterskih tehnologija je da za postizanje potrebnih performansi omogućavaju izgradnju heterogenih sustava, odnosno kombiniranje različitih vrsta računala u jedinstvene računalne sustave, od osobnih računala do snažnih superračunala. Tehnologije klastera postale su široko rasprostranjene kao način stvaranja sustava superračunala iz masovno proizvedenih komponenti, što značajno smanjuje cijenu računalnog sustava. Konkretno, jedan od prvih projekata koji je implementiran 1998. bio je Cost efektivni COmputing Array (COCOA), u kojem je, temeljen na 25 dvoprocesorskih osobnih računala ukupne cijene od oko 100.000 USD, sustav s performansama ekvivalentnim 48 -izrađen je procesor Cray T3D vrijedan nekoliko milijuna dolara.

Lyle Long, profesor zrakoplovnog inženjerstva na Sveučilištu Penn State, vjeruje da bi relativno jeftini klasterski računalni sustavi mogli poslužiti kao alternativa skupim superračunalima u znanstvenim organizacijama. Pod njegovim vodstvom na sveučilištu je izgrađen COCOA klaster. U okviru ovog projekta planirano je 25 ra-

bazne stanice tvrtke DELL, od kojih svaka uključuje dva Pentium II/400 MHz procesora, 512 MB RAM-a, 4 GB SCSI tvrdi disk i Fast Ethernet mrežni adapter. Za povezivanje čvorova koristi se 24-portni Baynetworks 450T preklopnik s jednim modulom proširenja. Instalirani softver uključuje operativni sustav RedHat Linux, Fortran 90 i HPF kompajlere iz Portland grupe, slobodno distribuiranu implementaciju MPI - Message Passing Interface Chameleon (MPICH) i DQS sustav čekanja.

U radu predstavljenom na 38. Aerospace Science Meeting and Exhibit, Long opisuje paralelnu verziju računalnog programa za uravnoteženje opterećenja koji se koristi za predviđanje razine buke helikoptera na različitim lokacijama. Za usporedbu, ovaj proračunski program pokrenut je na tri različita računala s 48 procesora kako bi se izračunala buka na 512 točaka. Na sustavu Cray T3E izračun je trajao 177 sekundi, na sustavu SGI Origin2000 - 95 sekundi, a na klasteru COCOA - 127 sekundi. Stoga su klasteri vrlo učinkovita računalna platforma za zadatke ove klase.

Još jedna prednost sustava klastera u odnosu na superračunala je ta što njihovi vlasnici ne moraju dijeliti procesorsko vrijeme s drugim korisnicima, kao u velikim superračunalnim centrima. Konkretno, COCOA osigurava više od 400 tisuća sati procesorskog vremena godišnje, dok u superračunalnim centrima može biti teško dobiti 50 tisuća sati.

Naravno, o potpunoj istovjetnosti ovih sustava ne treba govoriti. Kao što je poznato, performanse sustava s distribuiranom memorijom uvelike ovise o performansama komutacijskog okruženja, koje se može karakterizirati s dva parametra: latencijom - vremenom kašnjenja pri slanju poruke i propusnošću - brzinom prijenosa informacija. Primjerice, za računalo Cray T3D ovi parametri iznose 1 μs odnosno 480 Mb/s, a za klaster u kojem se kao komutacijski medij koristi Fast Ethernet mreža 100 μs odnosno 10 Mb/s. To djelomično objašnjava vrlo visoku cijenu superračunala. Uz parametre kao što su oni klastera koji se razmatra, nema mnogo zadataka koji se mogu učinkovito riješiti na dovoljno velikom broju procesora.

Na temelju navedenog dat ćemo definiciju: klaster je povezani skup punopravnih računala koja se koriste kao jedinstveni računalni resurs. I identična (homogeni klasteri) i različita (heterogeni klasteri) računala mogu se koristiti kao čvorovi klastera. Po svojoj arhitekturi klasterski računalni sustav je labavo spregnut. Za stvaranje klastera obično se koriste ili jednostavna osobna računala s jednim procesorom ili SMP poslužitelji s dva ili četiri procesora. U ovom slučaju nema ograničenja na sastav i arhitekturu čvorova. Svaki čvor može pokrenuti vlastiti operativni sustav. Najčešće korišteni standardni operativni sustavi su Linux, FreeBSD, Solaris, Tru64 Unix i Windows NT.

U literaturi se navode četiri prednosti koje se postižu klasteriranjem računalnog sustava:

apsolutna skalabilnost;

skalabilan;

faktor visoke dostupnosti;

omjer cijena/performanse.

Objasnimo svaku od gore navedenih značajki klasterskog računalnog sustava.

Vlasništvo apsolutna skalabilnost znači da je moguće stvoriti velike klastere koji premašuju računsku snagu čak i najjačih pojedinačnih računala. Klaster može sadržavati desetke čvorova, od kojih je svaki multiprocesor.

Svojstvo povećane skalabilnosti znači da se klaster može proširiti dodavanjem novih čvorova u malim dijelovima. Stoga korisnik može započeti s malim sustavom, proširujući ga po potrebi.

Budući da je svaki čvor klastera neovisni računalni stroj ili sustav, kvar jednog od čvorova ne dovodi do gubitka funkcionalnosti klastera. U mnogim sustavima, softver automatski podržava toleranciju na greške.

I konačno, sustavi klastera pružaju ono što superračunala ne mogu postići odnos cijena/kvaliteta. Klasteri bilo koje izvedbe mogu se stvoriti korištenjem standardnih "blokova za izgradnju", a cijena klastera bit će niža od jedne

noćni računalni stroj s ekvivalentnom procesorskom snagom.

Dakle, na hardverskoj razini, klaster je skup nezavisnih računalnih sustava povezanih mrežom. Rješenja mogu biti jednostavna, temeljena na Ethernet hardveru, ili složena, s mrežama velike brzine s propusnošću od stotina megabajta u sekundi.

Sastavni dio klastera je specijalizirani softver koji ima zadatak održavati izračune u slučaju kvara jednog ili više čvorova. Takav softver redistribuira računalno opterećenje kada jedan ili više čvorova klastera zakaže, kao i obnavlja izračune kada čvor zakaže. Osim toga, kada klaster ima zajedničke diskove, softver klastera održava jedinstveni datotečni sustav.

Klasifikacija arhitektura sustava klastera

U literaturi se opisuju različiti načini klasifikacije sustava klastera. Najjednostavnija klasifikacija temelji se na načinu korištenja diskovnih polja: zajedno ili odvojeno.

Na sl. 5.5.1 i 5.5.2 prikazuju strukture klastera dvaju čvorova čija je koordinacija osigurana linijom velike brzine koja se koristi za razmjenu poruka. To može biti lokalna mreža, koju također koriste računala koja nisu uključena u klaster, ili iznajmljena linija. U slučaju iznajmljene linije, jedan ili više čvorova klastera imat će pristup lokalnoj ili globalnoj mreži, čime se osigurava komunikacija između klastera poslužitelja i udaljenih klijentskih sustava.

Razlika između prikazanih klastera je u tome što u slučaju lokalne mreže čvorovi koriste lokalna diskovna polja, a u slučaju namjenske linije čvorovi dijele jedno redundantno polje neovisnih tvrdih diskova ili tzv. RAID (Redundant Niz neovisnih diskova). RAID se sastoji od nekoliko diskova kojima upravlja kontroler, međusobno povezanih brzim kanalima i koje vanjski sustav percipira kao jednu cjelinu. Ovisno o vrsti korištenog niza, mogu se osigurati različiti stupnjevi tolerancije grešaka i izvedbe.

CPU

CPU

Velika brzina

CPU

CPU

autocesta

Uređaj

Uređaj

Uređaj

Uređaj

I/O

I/O

I/O

I/O

Disk

Disk

Riža. 5.5.1. Konfiguracija klastera bez zajedničkih diskova

Disk

Uređaj

Uređaj

CPU

CPU

I/O

I/O

CPU

CPU

Uređaj

Uređaj

Uređaj

Uređaj

I/O

I/O

I/O

I/O

Disk

Velika brzina

Disk

autocesta

Riža. 5.5.2. Konfiguracija klastera s dijeljenim diskovima

Pogledajmo najčešće vrste diskovnih polja:

RAID0 (striping) je diskovno polje od dva ili više tvrdih diskova bez redundantnosti. Informacije su podijeljene u podatkovne blokove i zapisane na oba (nekoliko) diskova istovremeno. Prednost je značajno povećanje produktivnosti. Nedostatak je taj što je pouzdanost RAID0 očito niža od pouzdanosti bilo kojeg diska pojedinačno i smanjuje se s povećanjem broja diskova uključenih u RAID0, budući da kvar bilo kojeg od diskova dovodi do neoperabilnosti cijelog niza. .

RAID1 (zrcaljenje) je niz koji se sastoji od najmanje dva diska. Prednosti su prihvatljiva brzina pisanja i dobitak u brzini čitanja prilikom paraleliziranja upita, kao i visoka pouzdanost: radi dokle god radi barem jedan disk u nizu. Vjerojatnost kvara dvaju diskova odjednom jednaka je umnošku vjerojatnosti kvara svakog diska. U praksi, ako jedan od diskova pokvari, potrebno je odmah djelovati: potrebno je vratiti redundanciju. Da biste to učinili, preporučuje se korištenje vrućih rezervnih diskova s ​​bilo kojom razinom RAID-a (osim nule). Prednost ovog pristupa je održavanje stalne dostupnosti. Nedostatak je što morate platiti cijenu dva tvrda diska da biste dobili iskoristivi kapacitet jednog tvrdog diska.

RAID10 je zrcalni niz u kojem se podaci uzastopno zapisuju na nekoliko diskova, kao u RAID0. Ova arhitektura je RAID0 niz čiji su segmenti RAID1 nizovi umjesto pojedinačnih diskova. Sukladno tome, niz ove razine mora sadržavati najmanje četiri diska. RAID10 kombinira visoku toleranciju grešaka i performanse.

Cjelovitiju sliku klasterskih računalnih sustava daje klasifikacija klastera prema korištenim metodama klasteriranja koje određuju glavne funkcionalne značajke sustava:

klasteriranje s pasivnom redundancijom;

klasteriranje s aktivnom redundancijom;

samostalni poslužitelji;

poslužitelji s vezama na sve diskove;

poslužitelji sa zajedničkim diskovima.

Klasteriranje sa redundancijom je najstarija i najuniverzalnija metoda. Jedan od poslužitelja preuzima cjelokupno računalno opterećenje, dok drugi ostaje neaktivan, ali je spreman preuzeti izračune ako glavni poslužitelj zakaže. Aktivni (ili primarni) poslužitelj povremeno šalje poruku o satu rezervnom (sekundarnom) poslužitelju. Ako nema otkucaja srca, što se smatra kvarom primarnog poslužitelja, sekundarni poslužitelj preuzima kontrolu. Ovaj pristup poboljšava dostupnost, ali ne poboljšava performanse. Štoviše, ako je jedina vrsta komunikacije između čvorova razmjena poruka i ako oba poslužitelja u klasteru ne dijele diskove, tada rezervni poslužitelj nema pristup bazama podataka kojima upravlja primarni poslužitelj.

Pasivna redundancija nije tipična za klastere. Pojam "klaster" odnosi se na skup međusobno povezanih čvorova koji aktivno sudjeluju u procesu računanja i zajedno stvaraju iluziju jednog snažnog računalnog stroja. Ova konfiguracija se obično naziva sustavom s aktivnim sekundarnim poslužiteljem, a postoje tri metode klasteriranja: samostalni poslužitelji, poslužitelji koji se ne dijele na disku i poslužitelji koji se dijele na disku.

U prvoj metodi, svaki čvor klastera tretira se kao neovisni poslužitelj sa svojim diskovima, a niti jedan disk u sustavu se ne dijeli. Shema pruža visoku izvedbu i visoku dostupnost, ali zahtijeva poseban softver za planiranje distribucije klijentskih zahtjeva preko poslužitelja kako bi se postiglo uravnoteženo i učinkovito korištenje svih poslužitelja. Neophodno je da ako jedan od čvorova zakaže tijekom izvođenja aplikacije, drugi čvor u klasteru može presresti i prekinuti ovu aplikaciju. Da biste to učinili, podaci u sustavu moraju se stalno sigurnosno kopirati tako da svaki poslužitelj ima pristup svim najnovijim podacima u sustavu. Zbog ovih troškova, visoka dostupnost dolazi samo nauštrb izvedbe.

Kako bi se smanjilo opterećenje komunikacije, većina klastera sada se sastoji od poslužitelja povezanih na dijeljene diskove, obično predstavljene RAID diskovnim poljem (vidi sliku 5.5.2).

Jedna varijanta ovog pristupa pretpostavlja da se ne koristi dijeljenje diska. Zajednički diskovi podijeljeni su na particije, a svakom čvoru klastera dodijeljena je vlastita particija. Ako jedan čvor zakaže, klaster se može rekonfigurirati tako da se prava pristupa njegovoj particiji dijeljenog diska prenesu na drugi čvor.

Druga je mogućnost da više poslužitelja tijekom vremena dijeli pristup dijeljenim diskovima, tako da svaki čvor ima pristup svim particijama svih dijeljenih diskova. Ovaj pristup zahtijeva neku vrstu mehanizma zaključavanja kako bi se osiguralo da samo jedan od poslužitelja ima pristup podacima u bilo kojem trenutku.

Klasteri pružaju visoku dostupnost - nemaju jedan operativni sustav i zajedničku memoriju, odnosno nema problema koherencije predmemorije. Osim toga, poseban softver u svakom čvoru neprestano prati izvedbu svih ostalih čvorova. Ova se kontrola temelji na periodičnom slanju signala "još sam uvijek budan" od strane svakog čvora. Ako se signal ne primi od određenog čvora, tada se takav čvor smatra neispravnim; nije mu dana mogućnost obavljanja I/O, njegovi diskovi i drugi resursi (uključujući mrežne adrese) ponovno se dodjeljuju drugim čvorovima, a programi koji se izvode na njemu ponovno se pokreću na drugim čvorovima.

Izvedba klastera dobro se skalira jer se dodaju čvorovi. Klaster može pokretati više pojedinačnih aplikacija, ali skaliranje jedne aplikacije zahtijeva da njezini dijelovi komuniciraju razmjenom poruka. Međutim, ne može se zanemariti da interakcije između čvorova klastera traju mnogo dulje nego u tradicionalnim računalnim sustavima. Mogućnost gotovo neograničenog povećanja broja čvorova i nedostatak jednog operativnog sustava čine klasterske arhitekture izuzetno skalabilnim. Uspješno se koriste sustavi sa stotinama i tisućama čvorova.

Kod razvoja klastera mogu se razlikovati dva pristupa. Prvi pristup je stvaranje malih sustava klastera. Klaster kombinira potpuno funkcionalna računala koja nastavljaju raditi kao neovisne jedinice, na primjer, računala u učionici ili laboratorijske radne stanice. Drugi pristup je namjerno stvaranje snažnih računalnih resursa. Sistemske jedinice računala su kompaktno smještene -

smješteni u posebnim policama, a jedno ili više potpuno funkcionalnih računala, koja se nazivaju glavnim računalima, dodijeljena su za upravljanje sustavom i izvršavanje zadataka. U ovom slučaju nema potrebe opremati računala računalnih čvorova grafičkim karticama, monitorima, diskovnim pogonima i drugom perifernom opremom, što značajno smanjuje cijenu sustava.

Razvijene su mnoge tehnologije za spajanje računala u klaster. Trenutno najraširenija tehnologija je Ethernet, zbog jednostavnosti korištenja i niske cijene komunikacijske opreme. Međutim, to morate platiti očito nedovoljnim tečajem.

Programeri paketa potprograma ScaLAPACK, dizajniranog za rješavanje problema linearne algebre na višeprocesorskim sustavima u kojima je udio komunikacijskih operacija velik, formuliraju zahtjev za višeprocesorskim sustavom na sljedeći način: „Brzina međuprocesorskih razmjena između dva čvora, mjerena u MB /s, mora biti najmanje 1/10 vršnih performansi računalnog čvora, mjereno u MFLOPS."

Topologije klastera

Razmotrimo topologije karakteristične za takozvane “male” klastere koji se sastoje od dva do četiri čvora.

Topologija parova klastera koristi se pri organiziranju klastera s dva ili četiri čvora (slika 5.5.3). Čvorovi su grupirani u parove, diskovni nizovi su priključeni na oba čvora koji su dio para, a svaki čvor para ima pristup svim diskovnim nizovima ovog para. Jedan od čvorova u paru koristi se kao rezerva za drugi.

Par klastera s četiri čvora jednostavno je proširenje topologije s dva čvora. S gledišta administracije i konfiguracije, oba para klastera smatraju se jednom cjelinom.

Ova se topologija može koristiti za organiziranje klastera s visokom dostupnošću podataka, ali tolerancija na pogreške implementirana je samo unutar para, budući da uređaji za pohranu informacija koji pripadaju paru nemaju fizičku vezu s drugim parom.

Prekidač

klaster

klaster

klaster

klaster

Disk

Disk

Disk

Disk

Riža. 5.5.3. Topologija parova klastera

Topologija + 1 omogućuje stvaranje klastera od dva, tri i četiri čvora (Sl.5.5.4). Svako diskovno polje povezano je samo s dva čvora klastera. Disk nizovi su organizirani prema shemi RAID1 (zrcaljenje). Jedan poslužitelj ima vezu sa svim diskovnim poljima i služi kao rezerva za sve druge (primarne ili aktivne) čvorove. Poslužitelj u pripravnosti može se koristiti za pružanje visoke dostupnosti kada je uparen s bilo kojim od aktivnih čvorova.

Topologija se preporučuje za organiziranje klastera s visokom dostupnošću podataka. U konfiguracijama u kojima je moguće namijeniti jedan čvor redundantnosti, ova topologija može smanjiti opterećenje aktivnih čvorova i osigurati da se opterećenje pokvarenog čvora može replicirati na čvoru u pripravnosti bez gubitka performansi. Tolerancija grešaka postoji između bilo kojeg od primarnih čvorova i rezervnog čvora. Istodobno, topologija ne dopušta globalnu toleranciju na pogreške, budući da glavni čvorovi klastera i njihovi sustavi za pohranu informacija nisu međusobno povezani.

Topologija × je slična topologiji + 1, dopuštajući vam stvaranje klastera od dva, tri i četiri čvora, ali za razliku od nje, ima veću fleksibilnost i skalabilnost (slika 5.5.5).

Prekidač

klaster

klaster

klaster

klaster

Prekidač

klaster

klaster

klaster

klaster

Prekidač

Disk

Disk

Disk

Riža. 5.5.5. Topologija ×

Samo u ovoj topologiji svi čvorovi klastera imaju pristup svim diskovnim nizovima, koji su pak izgrađeni prema shemi RAID1 (zrcaljenje). Skalabilnost topologije očituje se u jednostavnosti dodavanja dodatnih čvorova i diskovnih polja u klaster bez mijenjanja veza u sustavu.

klaster

klaster

klaster

klaster

Disk

Disk

Disk

Disk

Riža. 5.5.6. Potpuno odvojena topologija pristupa

Potpuno odvojena topologija pristupa omogućuje da svako polje diskova bude povezano samo s jednim čvorom klastera (Sl. 5.5.6 ). Preporuča se samo za one aplikacije koje karakterizira potpuno odvojena pristupna arhitektura.

Sigurnosna pitanja

1. Dajte definiciju klasterskog računalnog sustava.

2. Navedite glavne prednosti i nedostatke klasterskih računalnih sustava.

3. Koje klasifikacije klasterskih računalnih sustava radite

4. Koje topologije sustava klastera poznajete? Navedi njihove prednosti i nedostatke.

Književnost

1. Arhitekture i topologije višeprocesorskih računalnih sustava / A.V. Bogdanov, V.V. Korkhov, V.V. Mareev, E.N. Stankova. - M.: INTUIT.RU, 2004. - 176 str.

2. Mikroprocesorski sustavi: udžbenik. priručnik za sveučilišta /

E.K. Aleksandrov, R.I. Grushvitsky, M.S. Kupriyanov i drugi; uredio/la D.V. Puzankova . - St. Petersburg: Politehnika, 2002. - 935 str.

Sustav klastera

Što je klaster?

Klaster je skup poslužitelja, pogona i radnih stanica koji:
· Djelovati kao jedan sustav;
· Predstavljen korisnicima kao jedan sustav;
· Upravlja se kao jedan sustav;
Klaster je također prilika za korištenje računalnih resursa vašeg sustava na takav način da rezultirajući sustav premaši svojim mogućnostima ukupne mogućnosti njegovih dijelova.

Glavne prednosti klastera su:
· Osiguravanje visoke razine dostupnosti u usporedbi s različitim skupom računala ili poslužitelja. Povećana dostupnost sustava osigurava da aplikacije kritične za poslovanje rade što je dulje moguće. Kritične aplikacije uključuju sve aplikacije koje izravno utječu na sposobnost tvrtke da ostvari profit, pruži uslugu ili pruži druge vitalne funkcije. Korištenje klastera osigurava da će, ako poslužitelj ili aplikacija prestane normalno funkcionirati, drugi poslužitelj u klasteru nastaviti obavljati svoje zadatke i preuzeti ulogu pokvarenog poslužitelja kako bi se minimalizirao zastoj korisnika zbog kvara sustava.
· Značajno povećanje ukupne izvedbe mreže (visok stupanj skalabilnosti).
Klaster vam omogućuje fleksibilno povećanje računalne snage sustava dodavanjem novih čvorova bez ometanja rada korisnika.
· Osiguravanje visoke dostupnosti mrežnih usluga. Čak i ako jedan od poslužitelja klastera zakaže, sve usluge koje nudi klaster ostaju dostupne korisnicima.

Podjela na sustave visoke dostupnosti i visoke performanse

U funkcionalnoj klasifikaciji, klasteri se mogu podijeliti na "High Performance" (HP), "High Availability" (HA) i "Mixed Systems".
Klasteri velike brzine koriste se za zadatke koji zahtijevaju značajnu računalnu snagu. Klasična područja primjene takvih sustava su:
· obrada slike: renderiranje, prepoznavanje uzoraka
· znanstvenoistraživački rad: fizika, bioinformatika, biokemija, biofizika
industrija (geografski informacijski problemi, matematičko modeliranje)
i mnogi drugi...
Klasteri, koji se klasificiraju kao sustavi visoke dostupnosti, koriste se gdje god je cijena mogućeg prekida rada veća od cijene potrebnih za izgradnju sustava klastera, na primjer:
sustavi naplate
· bankovno poslovanje
· e-trgovina
· upravljanje poduzećem, itd...
Mješoviti sustavi kombiniraju značajke i prvog i drugog. Prilikom njihovog pozicioniranja treba imati na umu da će klaster koji ima i parametre High Performance i High Availability sigurno izgubiti u performansama u odnosu na sustav fokusiran na računalstvo velike brzine, a u mogućem zastoju u odnosu na sustav fokusiran na rad u načinu visoke dostupnosti.

Što je klaster visoke dostupnosti?
Klaster visoke dostupnosti vrsta je sustava klastera dizajniranog da osigura kontinuirani rad kritičnih aplikacija ili usluga. Korištenje klastera visoke dostupnosti omogućuje vam da spriječite neplanirane zastoje uzrokovane kvarovima hardvera i softvera, kao i planirane zastoje potrebne za ažuriranje softvera ili preventivno održavanje opreme.

Klaster se sastoji od dva čvora (poslužitelja) spojena na zajedničko diskovno polje. Sve glavne komponente ovog diskovnog niza - napajanje, diskovni pogoni, I/O kontroler - redundantni su i mogu se mijenjati bez rada. Čvorovi klastera međusobno su povezani internom mrežom radi razmjene informacija o svom trenutnom stanju. Klaster se napaja iz dva neovisna izvora. Veza svakog čvora s vanjskom lokalnom mrežom također se duplicira.
Dakle, svi podsustavi klastera imaju redundanciju, pa ako neki element zakaže, klaster kao cjelina ostaje operativan.

Kako klaster radi
Klaster se sastoji od nekoliko računala, koja se nazivaju čvorovi, a pokreću UNIX ili Windows operativni sustav. Ovi poslužitelji djeluju kao jedinstvena cjelina u odnosu na ostatak mreže: snažan "virtualni" poslužitelj. Klijenti se spajaju na klaster ne znajući koje će ih računalo zapravo poslužiti. Neprekidni pristup koji osiguravaju klasteri postiže se pravovremenim otkrivanjem kršenja u radu hardvera i softvera i automatskim prijenosom procesa obrade podataka na radni čvor. U standardnom klasteru, svaki čvor je odgovoran za smještaj određenog broja resursa. U slučaju kvara čvora ili resursa, sustav prenosi dio resursa na drugi čvor i osigurava njihovu dostupnost klijentima.