Klaster sistemi za aplikacije visoke dostupnosti. Efikasna klaster rješenja

(Usput, moguće je sastaviti jeftin i efikasan klaster od xbox 360 ili PS3, procesori su tamo otprilike isti kao Power, a možete kupiti više od jedne konzole za milion.)

Na osnovu toga, bilježimo zanimljive cjenovne opcije za izgradnju sistema visokih performansi. Naravno, mora biti multiprocesorska. Intel za takve zadatke koristi Xeon procesore, dok AMD koristi Opteron procesore.

Ako ima puno novca


Odvojeno, ističemo izuzetno skupu, ali produktivnu liniju procesora zasnovanu na Intel Xeon LGA1567 socketu.
Najbolji procesor u ovoj seriji je E7-8870 sa deset jezgara od 2,4 GHz. Cijena mu je 4616 dolara. Za takve CPU proizvode HP i Supermicro! osmoprocesor! serverska šasija. Osam 10-jezgrenih Xeon E7-8870 2,4 GHz procesora sa podrškom za HyperThreading podržava 8*10*2=160 niti, što se prikazuje u Windows task manageru kao sto šezdeset grafikona opterećenja procesora, matrica 10x16.

Da bi osam procesora stalo u kućište, oni se ne postavljaju direktno na matičnu ploču, već na odvojene ploče koje su priključene na matičnu ploču. Na slici su prikazane četiri ploče sa procesorima ugrađenim u matičnu ploču (po dvije na svakoj). Ovo je Supermicro rješenje. U HP rješenju, svaki procesor ima svoju ploču. Cijena HP rješenja je dva do tri miliona, ovisno o sadržaju procesora, memorije i ostalog. Šasija iz Supermicro košta 10.000 dolara, što je atraktivnije. Osim toga, Supermicro može instalirati četiri koprocesorske kartice za proširenje u PCI-Express x16 portove (usput, još uvijek ima mjesta za Infiniband adapter za sklapanje klastera ovih), dok HP ima samo dvije. Stoga je za kreiranje superkompjutera privlačnija osmoprocesorska platforma kompanije Supermicro. Sledeća fotografija sa izložbe prikazuje superkompjuter sastavljen sa četiri GPU ploče.


Međutim, to je veoma skupo.
Koji je jeftiniji?
Ali postoji mogućnost sklapanja superkompjutera na pristupačnijim AMD Opteron G34, Intel Xeon LGA2011 i LGA 1366 procesorima.

Da bih izabrao određeni model, sastavio sam tabelu u kojoj sam izračunao indikator cene/(broj jezgara*frekvencija) za svaki procesor. Iz proračuna sam isključio procesore sa frekvencijom ispod 2 GHz, a za Intel - sa sabirnicom ispod 6,4 GT/s.

Model
Broj jezgara
Frekvencija
Cijena, $
Cijena/jezgro, $
Cijena/jezgra/GHz
AMD





6386 SE
16
2,8
1392
87
31
6380
16
2,5
1088
68
27
6378
16
2,4
867
54
23
6376
16
2,3
703
44
19
6348
12
2,8
575
48
17
6344
12
2,6
415
35
13
6328
8
3,2
575
72
22
6320
8
2,8
293
37
13
INTEL





E5-2690
8
2,9
2057
257
89
E5-2680
8
2,7
1723
215
80
E5-2670
8
2,6
1552
194
75
E5-2665
8
2,4
1440
180
75
E5-2660
8
2,2
1329
166
76
E5-2650
8
2
1107
138
69
E5-2687W
8
3,1
1885
236
76
E5-4650L
8
2,6
3616
452
174
E5-4650
8
2,7
3616
452
167
E5-4640
8
2,4
2725
341
142
E5-4617
6
2,9
1611
269
93
E5-4610
6
2,4
1219
203
85
E5-2640
6
2,5
885
148
59
E5-2630
6
2,3
612
102
44
E5-2667
6
2,9
1552
259
89
X5690
6
3,46
1663
277
80
X5680
6
3,33
1663
277
83
X5675
6
3,06
1440
240
78
X5670
6
2,93
1440
240
82
X5660
6
2,8
1219
203
73
X5650
6
2,66
996
166
62
E5-4607
6
2,2
885
148
67
X5687
4
3,6
1663
416
115
X5677
4
3,46
1663
416
120
X5672
4
3,2
1440
360
113
X5667
4
3,06
1440
360
118
E5-2643
4
3,3
885
221
67

Model sa minimalnim omjerom je istaknut podebljanim kurzivom, podvučen je najmoćniji AMD i, po mom mišljenju, po performansama najbliži Xeonu.

Dakle, moj izbor procesora za superkompjuter je Opteron 6386 SE, Opteron 6344, Xeon E5-2687W i Xeon E5-2630.

matične ploče

PICMG
Nemoguće je instalirati više od četiri kartice za proširenje sa dva slota na obične matične ploče. Postoji još jedna arhitektura - upotreba stražnjih ploča, kao što je BPG8032 PCI Express Backplane.


Takva ploča sadrži PCI Express kartice za proširenje i jednu procesorsku ploču, donekle slične onima koje su instalirane na serverima baziranim na Supermicro sa osam procesora o kojima smo gore govorili. Ali samo ove procesorske ploče podležu PICMG industrijskim standardima. Standardi se sporo razvijaju i takve ploče često ne podržavaju najnovije procesore. Najviše takvih procesorskih ploča sada se proizvodi za dva Xeon E5-2448L - Trenton BXT7059 SBC.

Takav sistem bez GPU-a koštaće najmanje 5.000 dolara.

Gotove TYAN platforme
Za otprilike isti iznos možete kupiti gotovu platformu za sastavljanje superračunara TYAN FT72B7015. Na ovaj se može instalirati do osam GPU-a i dva Xeon LGA1366.
"Obične" serverske matične ploče
Za LGA2011
Supermicro X9QR7-TF - ova matična ploča može instalirati 4 kartice za proširenje i 4 procesora.

Supermicro X9DRG-QF - ova ploča je specijalno dizajnirana za sastavljanje sistema visokih performansi.

Za Opteron
Supermicro H8QGL-6F - ova ploča vam omogućava da instalirate četiri procesora i tri kartice za proširenje

Jačanje platforme karticama za proširenje

Ovo tržište je gotovo u potpunosti zauzela NVidia, koja pored video kartica za igre proizvodi i računarske kartice. AMD ima manji udio na tržištu, a Intel Corporation je ušla na ovo tržište relativno nedavno.

Karakteristika takvih koprocesora je prisustvo velike količine RAM-a na ploči, brzi proračuni sa dvostrukom preciznošću i energetska efikasnost.

FP32, Tflops FP64, Tflops Cijena Memorija, GB
Nvidia Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel Xeon Phi 5110P 1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz izdanje 4 1 0.5 3
AMD HD 7990 Devil 13 2x3.7 2h0.92 1.6 2x3

Vrhunsko Nvidijino rješenje se zove Tesla K20X bazirano na Kepler arhitekturi. Ovo su kartice koje su ugrađene u najmoćniji svjetski superkompjuter, Titan. Međutim, Nvidia je nedavno objavila Geforce Titan grafičku karticu. Stari modeli su smanjili performanse FP64 na 1/24 FP32 (GTX680). Ali u Titanu, proizvođač obećava prilično visoke performanse u proračunima dvostruke preciznosti. AMD-ova rješenja su također dobra, ali su izgrađena na drugačijoj arhitekturi i to može stvoriti poteškoće za izvođenje proračuna optimiziranih za CUDA (Nvidia tehnologija).

Rešenje kompanije Intel - Xeon Phi 5110P je interesantno jer su sve jezgre u koprocesoru zasnovane na x86 arhitekturi i nije potrebna posebna optimizacija koda za izvođenje proračuna. Ali moj favorit među koprocesorima je relativno jeftino izdanje AMD HD 7970 GHz. Teoretski, ova video kartica će pokazati maksimalne performanse po cijeni.

Može se povezati na klaster

Da bi se povećale performanse sistema, nekoliko računara se može kombinovati u klaster, koji će distribuirati računarsko opterećenje između računara uključenih u klaster.

Korišćenje običnog gigabitnog Etherneta kao mrežnog interfejsa za povezivanje računara je presporo. Infiniband se najčešće koristi u ove svrhe. Infiniband host adapter je jeftin u odnosu na server. Na primjer, na međunarodnoj Ebay aukciji takvi adapteri se prodaju po cijenama od 40 dolara. Na primjer, X4 DDR adapter (20Gb/s) koštat će oko 100 dolara s isporukom u Rusiju.

Istovremeno, komutatorska oprema za Infiniband je prilično skupa. I kao što je gore spomenuto, klasična zvijezda kao topologija računalne mreže nije najbolji izbor.

Međutim, InfiniBand hostovi mogu biti povezani jedni s drugima direktno, bez prekidača. Tada, na primjer, ova opcija postaje prilično zanimljiva: klaster dva računara povezana preko infinibanda. Takav superkompjuter se lako može sastaviti kod kuće.

Koliko vam je video kartica potrebno?

U najmoćnijem superkompjuteru našeg vremena, Cray Titan, omjer procesora i "video kartica" je 1:1, odnosno ima 18688 procesora sa 16 jezgara i 18688 Tesla K20X.

U Tianhe-1A, kineskom superkompjuteru baziranom na xeonu, odnos je sljedeći. Dva procesora sa šest jezgara za jednu Nvidia M2050 video karticu (slabija od K20X).

Takav stav za naše skupštine prihvatićemo kao optimalan (jer je jeftiniji). To jest, 12-16 procesorskih jezgri po GPU-u. U tabeli ispod, podebljane su praktično moguće opcije, a podvučene su one najuspješnije s moje tačke gledišta.

GPU Jezgra 6-jezgarni CPU 8-jezgarni CPU 12-jezgarni CPU 16-jezgarni CPU
2 24 32 4
5
3
4
2
3
2
2
3 36 48 6
8
5
6
3
4
2
3
4 48 64 8
11
6
8
4
5
3
4

Ako sistem sa već uspostavljenim odnosom procesor/video kartica može da ugradi dodatne računarske uređaje, onda ćemo ih dodati da bismo povećali snagu sklopa.

Pa koliko to košta

Opcije predstavljene u nastavku su kućište superračunara bez RAM-a, tvrdih diskova i softvera. Svi modeli koriste AMD HD 7970 GHz Edition video adapter. Može se zamijeniti drugim, kako to zahtijeva zadatak (na primjer, xeon phi). Tamo gdje sistem dozvoljava, jedno od AMD HD 7970 GHz izdanja zamjenjuje se AMD HD 7990 Devil 13 sa tri slota.
Opcija 1 na Supermicro H8QGL-6F matičnoj ploči


Matična ploča Supermicro H8QGL-6F 1 1200 1200
CPU AMD Opteron 6344 4 500 2000
CPU Cooler Thermaltake CLS0017 4 40 160
Case 1400W SC748TQ-R1400B 1 1000 1000
Grafički akcelerator AMD HD 7970 GHz izdanje 3 500 1500
5860

Teoretski, performanse će biti oko 12 Tflopsa.
Opcija 2 na TYAN S8232 matičnoj ploči, klaster


Ova ploča ne podržava Opteron 63xx, pa se koristi 62xx. U ovoj opciji, dva računara su povezana u klaster preko Infiniband x4 DDR pomoću dva kabla. Teoretski, brzina veze u ovom slučaju će biti ograničena na brzinu PCIe x8, odnosno 32Gb/s. Koriste se dva izvora napajanja. Kako ih međusobno uskladiti možete pronaći na internetu.
Količina Cijena Suma
Matična ploča TYAN S8232 1 790 790
CPU AMD Opteron 6282SE 2 1000 2000
CPU Cooler Noctua NH-U12DO A3 2 60 120
Okvir Antec dvanaest stotina crnih 1 200 200
pogonska jedinica FSP AURUM PRO 1200W 2 200 400
Grafički akcelerator AMD HD 7970 GHz izdanje 2 500 1000
Grafički akcelerator AX7990 6GBD5-A2DHJ 1 1000 1000
Infiniband adapter X4 DDR Infiniband 1 140 140
Infiniband kabl X4 DDR Infiniband 1 30 30
5680 (po bloku)

Za klaster takvih konfiguracija potrebne su vam dvije i njihova cijena će biti $11360 . Njegova potrošnja energije pri punom opterećenju iznosit će oko 3000W. Teoretski, performanse će biti do 31Tflops.

Klasterske tehnologije su odavno postale dostupne običnim organizacijama. Ovo je postalo moguće zahvaljujući korišćenju jeftinih Intel servera, standardnih komunikacionih alata i široko korišćenih operativnih sistema u klasterima početnog nivoa. Klasterska rješenja na Microsoft platformama prvenstveno su usmjerena na borbu protiv grešaka operatera, hardverskih i softverskih kvarova. Klasterska rješenja su efikasno sredstvo za rješavanje ovih problema.

Sa razvojem računarske tehnologije, stepen njene integracije u poslovne procese preduzeća i aktivnosti organizacija naglo je porastao. Pojavio se problem naglog povećanja vremena u kojem su računarski resursi dostupni, a to postaje sve relevantnije. Pouzdanost servera postaje jedan od ključnih faktora za uspešno poslovanje kompanija sa razvijenom mrežnom infrastrukturom, a to je posebno važno za velika preduzeća u kojima posebni sistemi podržavaju proizvodne procese u realnom vremenu, za banke sa razgranatom mrežom ekspozitura, ili telefonskog operatera. servisnih centara koji koriste sistem podrške za donošenje odluka. Svim takvim preduzećima su potrebni serveri koji rade neprekidno i pružaju informacije svaki dan 24 sata bez prekida.

Troškovi zastoja opreme za preduzeće stalno rastu, jer se sastoje od troškova izgubljenih informacija, izgubljene dobiti, troškova tehničke podrške i oporavka, nezadovoljstva korisnika itd. Kako napraviti pouzdan sistem i koliko košta riješiti ovaj problem? Postoji niz metoda koje vam omogućavaju da izračunate cijenu minute zastoja za dato preduzeće, a zatim, na osnovu ove kalkulacije, možete odabrati najprikladnije rješenje sa najboljim omjerom cijene i funkcionalnosti.

Postoji mnogo opcija i alata za izgradnju pouzdanog računarskog sistema. RAID diskovi i redundantni izvori napajanja, na primjer, „osiguraju“ dio sistemske opreme u slučaju kvara drugih sličnih komponenti sistema i omogućavaju da se obrada zahtjeva za informacijama tokom kvarova ne prekine. Neprekidna napajanja će održati funkcionalnost sistema u slučaju nestanka struje. Višeprocesorske matične ploče će osigurati funkcionisanje servera u slučaju kvara jednog procesora. Međutim, nijedna od ovih opcija vas neće spasiti ako cijeli računarski sistem zakaže. Tu u pomoć dolazi grupiranje.

Istorijski gledano, smatra se da su prvi korak ka stvaranju klastera bili široko korišćeni „hot“ standby sistemi. Jedan ili dva takva sistema, deo mreže od nekoliko servera, ne obavljaju nikakav koristan posao, ali su spremni da počnu da funkcionišu čim neki od glavnih sistema otkaže. Tako se serveri međusobno dupliraju u slučaju kvara ili kvara jednog od njih. Ali želio bih da kada se nekoliko računara kombinira, oni ne samo da se dupliraju, već i obavljaju druge korisne poslove, raspoređujući opterećenje među sobom. U mnogim slučajevima, klasteri su najbolji izbor za takve sisteme.

U početku su se klasteri koristili samo za moćno računanje i podršku distribuiranim bazama podataka, posebno tamo gdje je bila potrebna povećana pouzdanost. Kasnije su se počeli koristiti za web servis. Međutim, pad cijena klastera doveo je do toga da se ovakva rješenja sve više koriste za druge potrebe. Klasterske tehnologije su konačno postale dostupne običnim organizacijama – posebno zahvaljujući korišćenju jeftinih Intel servera, standardnih komunikacionih alata i uobičajenih operativnih sistema (OS) u klasterima početnog nivoa.

Klasterska rješenja na Microsoft platformama prvenstveno su usmjerena na borbu protiv hardverskih i softverskih kvarova. Statistika kvarova ovakvih sistema je dobro poznata: samo 22% njih je direktno uzrokovano kvarovima opreme, OS-a, snage servera itd. Da bi se eliminisali ovi faktori, koriste se različite tehnologije za povećanje tolerancije na greške servera (redundantne i diskovi koji mogu da se zamenjuju tokom rada, izvori napajanja, ploče u PCI slotovima, itd.). Međutim, 78% preostalih incidenata obično je uzrokovano kvarovima aplikacija i greškama operatera. Klasterska rješenja su efikasno sredstvo za rješavanje ovog problema.

Klasteri vam omogućavaju da izgradite jedinstvenu arhitekturu sa dovoljnim performansama i otpornošću na hardverske i softverske kvarove. Takav sistem je lako skalabilan i nadogradiv korišćenjem univerzalnih sredstava, baziranih na standardnim komponentama i po razumnoj ceni, koja je znatno manja od cene jedinstvenog računara otpornog na greške ili masovno paralelnog sistema).

Termin "klaster" podrazumijeva toleranciju grešaka, skalabilnost i upravljivost. Možete dati i klasičnu definiciju klastera: „klaster je paralelni ili distribuirani sistem koji se sastoji od nekoliko međusobno povezanih računara i koji se istovremeno koristi kao jedinstveni, objedinjeni računarski resurs. Klaster je kombinacija nekoliko računara kojima se, na određenom nivou apstrakcije, upravlja i koristi kao jedinstvena celina. Svaki čvor klastera (čvor je obično računar koji je dio klastera) ima svoju kopiju OS-a. Podsjetimo da sistemi sa SMP i NUMA arhitekturom, imaju jednu zajedničku kopiju OS-a, ne mogu se smatrati klasterima. Čvor klastera može biti jednoprocesorski ili višeprocesorski računar, au okviru jednog klastera računari mogu imati različite konfiguracije (različiti broj procesora, različite količine RAM-a i diskova). Čvorovi klastera su međusobno povezani ili pomoću redovnih mrežnih veza (Ethernet, FDDI, Fibre Channel) ili putem nestandardne specijalne tehnologije. Takve veze unutar klastera ili međučvorova omogućavaju čvorovima da međusobno komuniciraju bez obzira na vanjsko mrežno okruženje. Kroz kanale unutar klastera, čvorovi ne samo da razmjenjuju informacije, ali i nadziru jedni druge performanse.

Postoji i šira definicija klastera: „klaster je sistem koji funkcioniše kao jedinstvena celina, garantuje visoku pouzdanost, ima centralizovano upravljanje svim resursima i zajednički sistem datoteka, i pored toga, obezbeđuje fleksibilnost konfiguracije i lakoću proširenje resursa.”

Kao što je već napomenuto, glavna svrha klastera je da obezbedi visok nivo dostupnosti (inače poznat kao visoka dostupnost, HA) u poređenju sa različitim skupom računara ili servera, kao i visok stepen skalabilnosti i lakoće administracije. Povećana dostupnost sistema osigurava da aplikacije kritične za korisnika rade što je duže moguće. Kritične aplikacije uključuju sve aplikacije od kojih direktno zavisi sposobnost kompanije da ostvari profit, pruži uslugu ili druge vitalne funkcije. Tipično, korištenje klastera osigurava da ako server ili aplikacija prestanu funkcionirati normalno, drugi poslužitelj u klasteru će nastaviti obavljati svoje zadatke , će preuzeti ulogu neispravnog servera (ili pokrenuti kopiju neispravne aplikacije) kako bi se smanjilo vrijeme zastoja korisnika zbog kvara u sistemu.

Spremnost se obično mjeri kao procenat vremena provedenog od strane sistema u operativnom stanju, od ukupnog radnog vremena. Različite aplikacije zahtevaju različitu spremnost od računarskog sistema. Dostupnost sistema se može povećati različitim metodama. Izbor metode zavisi od cene sistema i troškova zastoja za preduzeće. Postoje prilično jeftina rješenja koja se prvenstveno fokusiraju na smanjenje vremena zastoja nakon pojave kvara. Skuplji osiguravaju normalno funkcionisanje sistema i pružaju uslugu korisnicima čak i ako jedna ili više njegovih komponenti pokvare. Kako se spremnost sistema povećava, njegova cijena raste nelinearno. Na isti način, trošak njegove podrške raste nelinearno. Sistemi s relativno niskom cijenom nemaju dovoljno visok nivo tolerancije na greške - ne više od 99% (to znači da će informaciona struktura preduzeća biti nefunkcionalna otprilike četiri dana u godini). Ovo nije toliko ako uključuje i planirane zastoje povezane s održavanjem ili rekonfiguracijom.

Visok stepen dostupnosti (dostupnost) podrazumijeva rješenje koje može nastaviti funkcionirati ili obnoviti rad nakon što se dogodi većina grešaka bez intervencije operatera. Najnaprednija (i prirodno skupa) rješenja otporna na greške mogu pružiti 99,999% pouzdanosti sistema (tj. ne više od 5 minuta zastoja godišnje).

Između sistema sa jednim serverom sa preslikanim diskovnim podsistemima (ili RAID diskovnim nizovima) i sistema otpornim na greške, klaster rešenja obezbeđuju „zlatnu sredinu“. Što se tiče dostupnosti, oni su blizu sistema otpornim na greške po neproporcionalno nižoj cijeni. Ova rješenja su idealna za situacije u kojima se mogu tolerirati samo vrlo mali neplanirani zastoji.

U slučaju kvara sistema klastera oporavak se kontrolira posebnim softverom i hardverom. Cluster softver vam omogućava da automatski otkrijete jedan hardverski ili softverski kvar, izolujete ga i vratite sistem. Posebno dizajnirane rutine mogu odabrati najbrži način oporavka i osigurati da se usluge pokrenu u najkraćem mogućem roku. Koristeći ugrađeni razvojni alat i programsko sučelje, možete kreirati prilagođene programe koji identificiraju, izoliraju i rješavaju kvarove koji se javljaju u aplikacijama koje je razvio korisnik.

Važna prednost klasteriranja je skalabilnost. Klaster vam omogućava da fleksibilno povećate računarsku snagu sistema dodavanjem novih čvorova u njega bez prekidanja rada korisnika. Moderna klaster rješenja omogućavaju automatsku raspodjelu opterećenja između čvorova klastera, zbog čega jedna aplikacija može raditi na više servera i koristiti njihove računske resurse. Tipične aplikacije koje rade na klasterima su:

  • Baza podataka;
  • Sistemi za planiranje resursa preduzeća (ERP);
  • Alati za obradu poruka i sistemi pošte;
  • sredstva za obradu transakcija preko Weba i Web servera;
  • sistemi odnosa s kupcima (CRM);
  • sistemi za odvajanje datoteka i štampanje.

Dakle, klaster objedinjuje nekoliko servera povezanih jedan s drugim poseban kanal komunikacije, koji se često naziva sistemska mreža. Čvorovi klastera međusobno prate performanse i razmjenjuju specifične informacije, na primjer, o konfiguraciji klastera, a također prenose podatke između zajednička pohrana i koordinirati njihovu upotrebu.

Praćenje učinka sprovedeno korišćenjem poseban signal otkucaja srca("puls"). Čvorovi klastera prenose ovaj signal jedni drugima kako bi potvrdili svoje normalno funkcioniranje. U malim klasterima, signali otkucaja srca se prenose preko istih kanala kao i podaci u velikim klaster sistemima, za to su dodeljene posebne linije. Softver klastera mora primiti signal otkucaja srca od svakog servera u određenom vremenskom intervalu - ako ga ne primi, server se smatra neispravnim i klaster se automatski rekonfiguriše. Konflikti između servera se također automatski rješavaju kada pri pokretanju klastera nastane problem odabira „vodećeg“ servera ili grupe servera čiji je zadatak formiranje novog klastera.

Za organizaciju klastera komunikacionog kanala, konvencionalne mrežne tehnologije (Ethernet, Token Ring, FDDI, ATM), dijeljene ulazno/izlazne magistrale (SCSI ili PCI), sučelje Fibre Channel velike brzine ili specijalizirane tehnologije CI (Computer Interconnect), DSSI (Digital) Storage System) može se koristiti Interconnect) ili Memory Channel.

DSSI interfejs je dizajniran za pristup disk jedinicama i za interakciju između sistema. Sličan je multi-host SCSI-2 protokolu, ali ima bolje performanse i mogućnost organiziranja komunikacije između računala. DSSI klasteri podržavaju poboljšanja pouzdanosti sistema, dijeljenje resursa, distribuirani sistem datoteka i transparentnost. Iz perspektive upravljanja i sigurnosti, čini se da je DSSI klaster jedna domena.

CI interfejs je dvostruka serijska magistrala sa brzinom razmene do 70 Mbit/s. Povezan je sa I/O sistemom računara preko inteligentnog kontrolera koji može da podrži rad sa dvostrukom i jednom magistralom, u zavisnosti od zahteva za pouzdanost pristupa određenom računaru. Sve komunikacijske linije CI sučelja su na jednom kraju povezane na CI integrator - poseban uređaj koji nadgleda konekcije na čvorove i konfiguracije klastera.

Tehnologija Memory Channel vam omogućava da kreirate visoko efikasno komunikaciono okruženje koje obezbeđuje veliku brzinu (do 100 MB/s) razmenu poruka između servera u klasteru.

Zahtjevi za brzinu komunikacijskog kanala zavise od stepena integracije čvorova klastera i prirode aplikacija. Ako, na primjer, aplikacije u različitim čvorovima ne komuniciraju jedna s drugom i ne pristupaju istovremeno diskovnim jedinicama, tada čvorovi međusobno razmjenjuju samo kontrolne poruke koje potvrđuju njihovu funkcionalnost, kao i informacije o promjeni konfiguracije klastera, odnosno dodavanju novih čvorovi, preraspodjela volumena diska, itd. Ova vrsta razmjene neće zahtijevati značajne resurse interkonekcije i lako se može zadovoljiti jednostavnim 10-Mbit Ethernet kanalom.

Postoji ogroman broj pravih konfiguracija klastera. Postoje rješenja koja predstavljaju kombinaciju više klastera, pa čak i zajedno sa dodatnim uređajima. Svaka opcija ispunjava zahtjeve odgovarajućih različitih aplikacija i prirodno se razlikuje po cijeni i složenosti implementacije. Topologije klastera kao što su zvijezda, prsten, N-N, itd. se široko koriste, ali bez obzira koliko je klaster složen i egzotičan, može se okvalifikovati prema dva kriterija:

Organizacija RAM-a čvorova klastera,

Stepen dostupnosti ulazno/izlaznih uređaja, prvenstveno diskova.

Što se tiče RAM-a, postoje dvije opcije: ili svi čvorovi klastera imaju nezavisnu RAM memoriju ili imaju zajedničku zajedničku memoriju. Dostupnost klasterskih I/O uređaja prvenstveno je određena mogućnošću korištenja eksterne memorije sa zajedničkim diskovima, što podrazumijeva da svaki čvor ima transparentan pristup sistemu datoteka zajedničkog prostora na disku. Osim podsistema dijeljenog diska, čvorovi klastera mogu imati lokalne diskove, ali se u ovom slučaju koriste uglavnom za učitavanje OS-a na čvor. Takav klaster mora imati poseban podsistem koji se zove Distributed Lock Manager (DLM) da eliminiše konflikte kada se istovremeno piše u datoteke iz različitih čvorova klastera. U sistemima bez DLM-a, aplikacije ne mogu raditi na istim podacima paralelno, a zajednička disk memorija, ako je dostupna, dodjeljuje se jednom po jednom čvoru.

U klasterima koji ne podržavaju istovremeni pristup vanjskoj memoriji, svi čvorovi su potpuno autonomni serveri. U slučaju dva čvora, zajedničkoj memoriji na diskovima se pristupa korištenjem dijeljene I/O magistrale (slika 1). Za svaki čvor, takva magistrala završava u nizu diskova. U svakom trenutku, samo jedan čvor posjeduje zajednički sistem datoteka. Ako jedan od servera pokvari, kontrola magistrale i zajedničkih diskova prelazi na drugi čvor.

Rice. 1. Izgradnja klastera od dva čvora.

Za kompanije koje imaju integrisani informacioni sistem, gde se samo deo resursa koristi za pokretanje aplikacija kritičnih za pouzdanost, može se koristiti šema izgradnje klastera „aktivno pripravnost“ (slika 2). U najjednostavnijem slučaju, takav sistem uključuje aktivni server koji pokreće najvažnije aplikacije i rezervnu mašinu koja rešava manje kritične zadatke. Ako aktivni server pokvari, sve njegove aplikacije se automatski prebacuju u standby, gdje aplikacije s najnižim prioritetom prestaju da funkcionišu. Ova konfiguracija eliminira usporavanje kritičnih aplikacija - korisnici jednostavno neće primijetiti nikakve promjene (poseban slučaj ove sheme je konfiguracija „pasivno-pripravnosti“, u kojoj backup server ne podnosi nikakvo opterećenje i nalazi se u stanju pripravnosti).

Rice. 2. Izgradnja klastera “aktivnog pripravnosti”.

Postoji i konfiguracija „aktivno-aktivno“, što podrazumeva da svi serveri u klasteru izvršavaju pojedinačne aplikacije istog visokog prioriteta, računarski resursi rezervnog servera se koriste u svakodnevnom radu. Prednost ovakvog pristupa je što korisnik ima na raspolaganju visokodostupan sistem (server je dupliciran) i istovremeno može koristiti sve računarske resurse klastera. Ovo vam omogućava da smanjite ukupne troškove sistema po jedinici računarske snage. Kada aplikacije ne uspiju, one se prenose sa mašine u stanju mirovanja na preostale, što, naravno, utiče na ukupne performanse. Klasteri aktivno-aktivni mogu postojati samo kao namjenski sistemi, koji ne mogu izvršavati zadatke niskog prioriteta kao što je podrška uredskom radu. Dodatno, kada gradite klastere sa aktivnim standby serverom, možete imati potpuno duplicirane servere sa sopstvenim zasebnim diskovima. Ovo stvara potrebu za stalnim kopiranjem podataka sa primarnog servera na rezervni server - to osigurava da će u slučaju kvara backup server imati ispravne podatke. Pošto su podaci potpuno duplirani, klijent može imati pristup bilo kom serveru, što nam omogućava da govorimo o balansiranju opterećenja u takvom klasteru. Osim toga, čvorovi takvog klastera mogu biti geografski raspršeni, što konfiguraciju čini otpornom na katastrofe. Ovaj pristup pruža vrlo visok nivo dostupnosti, ali ima i niz sljedećih nedostataka:

Potreba za stalnim kopiranjem podataka (to znači da će se dio računarskih i mrežnih resursa kontinuirano trošiti na sinhronizaciju);

Čak i najbrži mrežni interfejs između servera unutar klastera ne eliminiše kašnjenja u prenosu informacija, što u konačnici može dovesti do desinhronizacije ako jedan server pokvari, a sve transakcije na njegovom disku se ne odraze na disk drugog servera.

U klasteru bez dijeljenja resursa(Sl. 3) serveri su povezani na jedan niz diskova, ali svaki od njih kontroliše sa sopstvenim kompletom diskova. Ako dođe do kvara na jednom od čvorova, preostali server preuzima upravljanje svojim diskovima. Ova metoda eliminiše potrebu za stalnom sinhronizacijom podataka između servera i na taj način oslobađa dodatne računarske i mrežne resurse. Ali u ovoj konfiguraciji, diskovi postaju jedna tačka kvara, tako da se u ovom slučaju obično koriste diskovi koji koriste RAID tehnologiju.

Rice. 3. Izgradnja klastera bez zajedničkih resursa.

U sistemima uz potpuno dijeljenje resursa(Sl. 4) svi serveri u klasteru imaju istovremeni pristup istom disku. Ovaj pristup zahtijeva pažljivo dizajniran softver koji omogućava višestruki pristup jednom mediju. Kao iu prethodnom slučaju, diskovi i ovde mogu biti jedna tačka kvara, pa je i ovde preporučljiva upotreba RAID nizova. U ovoj opciji nema potrebe za stalnom sinhronizacijom podataka između servera. Ovo oslobađa dodatne računarske i mrežne resurse.

Rice. 4. Izgradnja klastera sa zajedničkim resursima.

Svi programi koje izvršava klaster mogu se podijeliti u nekoliko kategorija. Možete pokrenuti gotovo svaki uobičajeni program na bilo kojem čvoru klastera. Štaviše, isti program se može pokrenuti na različitim čvorovima klastera. Međutim, svaka kopija programa mora koristiti svoj vlastiti resurs (sistem datoteka), budući da je sistem datoteka dodijeljen određenom čvoru. Pored konvencionalnog klaster softvera, postoje takozvane prave klaster aplikacije. Takvi programi su, takoreći, raspoređeni među čvorovima klastera, a interakcija je organizirana između dijelova programa koji rade na različitim čvorovima. Pravi klaster programi omogućavaju vam da paralelizirate opterećenje na klasteru. Srednju poziciju zauzimaju aplikacije dizajnirane za rad u klasteru. Za razliku od pravih klaster programa, oni ne koriste eksplicitni paralelizam; u stvari, program je običan, ali može koristiti neke mogućnosti klastera, prvenstveno vezane za migraciju resursa.

Sva klasterska rješenja na Microsoft platformama usmjerena su prvenstveno na borbu protiv hardverskih i softverskih kvarova. Specijalni softver je ono što kombinuje servere u klastere. Mnoge moderne poslovne aplikacije i operativni sistemi imaju ugrađenu podršku za grupisanje, ali nesmetano funkcionisanje i transparentnost klastera mogu biti zagarantovani samo posebnim međuverskim softverom. Ono odgovara:

Za koordiniran rad svih servera;

Za rješavanje konflikata koji nastaju u sistemu,

Pruža formiranje klastera i rekonfiguraciju nakon kvarova;

Pruža raspodjelu opterećenja po čvorovima klastera;

Omogućava obnavljanje neuspjelih serverskih aplikacija na dostupnim čvorovima (failover - procedura migracije);

Prati status hardverskog i softverskog okruženja;

Omogućuje vam pokretanje bilo koje aplikacije na klasteru bez prethodnog prilagođavanja novoj hardverskoj arhitekturi.

Softver klastera obično ima nekoliko unapred definisanih scenarija za vraćanje funkcionalnosti sistema, a takođe može pružiti administratoru mogućnost prilagođavanja takvih scenarija. Oporavak od kvara može biti podržan i za čvor u cjelini i za njegove pojedinačne komponente - aplikacije, volumene diska, itd. Ova funkcija se automatski pokreće u slučaju kvara sistema, a može je pokrenuti i administrator ako npr. , on treba da onemogući jedan od čvorova za rekonfiguraciju.

Osim povećane pouzdanosti i performansi, klaster rješenja u modernim računarskim sistemima podliježu nekoliko dodatnih zahtjeva:

Moraju da obezbede jedinstveno spoljno predstavljanje sistema,

Velika brzina sigurnosnog kopiranja i oporavka podataka,

Paralelni pristup bazi podataka,

Imaju sposobnost prenošenja opterećenja sa neispravnih čvorova na one u servisu,

Imajte sredstva za konfiguriranje visokog nivoa dostupnosti, garantirajte oporavak nakon katastrofe.

Naravno, upotreba nekoliko čvorova klastera koji istovremeno pristupaju istim podacima povećava složenost procedure za sigurnosno kopiranje i naknadno vraćanje informacija. Prebacivanje opterećenja sa neispravnog čvora na zdrav je glavni mehanizam za osiguranje kontinuiranog rada aplikacija, uz optimalno korištenje resursa klastera. Za efikasnu saradnju između klaster sistema i DBMS-a, sistem mora imati distribuirani menadžer zaključavanja, koji osigurava dosljedne promjene u bazi podataka kada niz zahtjeva stigne iz različitih čvorova klastera. Postavljanje konfiguracije klastera uz istovremeno osiguravanje visoke dostupnosti aplikacija je prilično složen proces (to je zbog poteškoća u određivanju pravila po kojima se određene aplikacije prenose sa neuspjelih čvorova klastera na zdrave). Klaster sistem mora omogućiti lak prenos aplikacija sa jednog čvora klastera na drugi, kao i vraćanje hitne aplikacije na drugi čvor. Od korisnika sistema se ne traži da zna da radi sa klaster sistemom, tako da za korisnike klaster treba da izgleda kao jedan računar. Mora imati jedan sistem datoteka za sve čvorove, jednu IP adresu i jedno jezgro sistema.

Najpouzdaniji su distribuirani klasteri. Čak i najpouzdaniji sistemi mogu pokvariti ako se, na primjer, dogodi požar, zemljotres, poplava ili teroristički napad. S obzirom na globalne razmjere modernog poslovanja, ovakvi događaji mu ne bi trebali naštetiti, pa se klaster može (ili bi trebao) distribuirati.

Sve vodeće računarske kompanije (Compaq, Dell, Hewlett-Packard, IBM, Sun Microsystems) nude vlastita klaster rješenja. Vodeću poziciju u segmentu UNIX klastera zauzima IBM, koji aktivno promovira svoju DB2 bazu podataka. Sun aktivno promovira svoje Sun Cluster rješenje. Compaq Corporation je prepoznat kao jedan od najaktivnijih igrača (kako po broju platformi certificiranih za klastere tako i po raznolikosti samih klaster rješenja), koji je ponudio gotovo kompletan asortiman klastera na Windows platformama za odjel ili udaljenu podružnicu , za aplikacije u infrastrukturi korporacije i za velike centre za obradu podataka. Compaq TrueCluster Server klaster rješenje najbolje zadovoljava savremene zahtjeve koje kompanije postavljaju za takvu tehnologiju. Novi softver omogućava, na primjer, instaliranje baze podataka na nekoliko servera povezanih zajedno. Potreba za takvom konsolidacijom javlja se, na primjer, ako je potreban veliki kapacitet ili postoji potreba za smanjenjem vremena zastoja u slučaju kvara servera, što se postiže prenošenjem operacija na drugi server u klasteru. Ovo vam omogućava da značajno smanjite troškove hardverskih platformi, čineći ekonomski izvodljivim izgradnju klastera jeftinih servera standardne arhitekture čak i za relativno mala preduzeća. Compaq i Oracle sarađuju na tehnologiji i poslovanju kako bi stvorili skalabilniju, upravljivu, pouzdaniju i isplativiju platformu klaster baze podataka. Pored toga, Oracle se udružio sa kompanijama Dell i Sun Microsystems, koji kupcima nude unapred konfigurisane i testirane sisteme sa Oracle softverom za klasterisanje. Dell, na primjer, isporučuje softver za klasteriranje na testiranim Windows i Linux serverima.

Na tržištu korporativnih sistema klasteri igraju ključnu ulogu. U mnogim slučajevima, klasterska rješenja jednostavno nemaju dostojnu alternativu. Stvarna visoka dostupnost i široka skalabilnost klaster informacionih sistema omogućava im da uspešno rešavaju sve složenije probleme, a sa rastućim potrebama, lako je povećati računarsku snagu platforme na nivou troškova prihvatljivom za obična preduzeća.

Klaster računarski sistemi postali su nastavak razvoja ideja ugrađenih u arhitekturu MPA sistema. Ako u MPA sistemu procesorski modul deluje kao kompletan računarski čvor, onda se u klaster sistemima kao takvi računarski čvorovi koriste komercijalno dostupni računari. Razvoj komunikacijskih tehnologija, odnosno pojava brze mrežne opreme i posebnih softverskih biblioteka, na primjer, MPI (Message Passing Interface), koji implementira mehanizam za prijenos poruka korištenjem standardnih mrežnih protokola, učinio je klaster tehnologije općenito dostupnim. Trenutno se stvaraju mnogi sistemi malih klastera kombinovanjem računarske snage računara u laboratoriji ili učionici.

Atraktivna karakteristika klaster tehnologija je da u cilju postizanja potrebnih performansi omogućavaju izgradnju heterogenih sistema, odnosno kombinovanje računara različitih tipova u jedinstvene računarske sisteme, od personalnih računara do moćnih superračunara. Klasterske tehnologije postale su široko rasprostranjene kao sredstvo za kreiranje sistema superkompjuterske klase od komponenti masovne proizvodnje, što značajno smanjuje cenu računarskog sistema. Konkretno, jedan od prvih projekata koji je implementiran 1998. bio je The Cost Effective Computing Array (COCOA), u kojem je, na osnovu 25 dvoprocesorskih personalnih računara sa ukupnom cenom od oko 100.000 dolara, sistem sa performansama ekvivalentnim 48 -napravljen je procesor Cray T3D koji košta nekoliko miliona dolara.

Lyle Long, profesor svemirskog inženjerstva na Penn State University, vjeruje da bi relativno jeftini klasterski računarski sistemi mogli poslužiti kao alternativa skupim superkompjuterima u naučnim organizacijama. Pod njegovim vodstvom na univerzitetu je izgrađen COCOA klaster. U okviru ovog projekta, 25 ra-

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

U radu predstavljenom na 38. Aerospace Science Meeting and Exhibit, Long opisuje paralelnu verziju računarskog programa za balansiranje opterećenja koji se koristi za predviđanje nivoa buke helikoptera na različitim lokacijama. Poređenja radi, ovaj program za proračun je pokrenut na tri različita računara sa 48 procesora da bi se izračunao šum u 512 tačaka. Na sistemu Cray T3E proračun je trajao 177 sekundi, na sistemu SGI Origin2000 - 95 sekundi, a na COCOA klasteru - 127 sekundi. Dakle, klasteri su veoma efikasna računarska platforma za zadatke ove klase.

Još jedna prednost klaster sistema u odnosu na superkompjutere je da njihovi vlasnici ne moraju da dele procesorsko vreme sa drugim korisnicima, kao u velikim superkompjuterskim centrima. Konkretno, COCOA pruža više od 400 hiljada sati procesorskog vremena godišnje, dok u superračunarskim centrima može biti teško dobiti 50 hiljada sati.

Naravno, o potpunoj ekvivalenciji ovih sistema ne treba govoriti. Kao što je poznato, performanse sistema sa distribuiranom memorijom u velikoj meri zavise od performansi komutacionog okruženja, koje se može okarakterisati sa dva parametra: latencija - vreme kašnjenja pri slanju poruke i propusnost - brzina prenosa informacija. Na primjer, za Cray T3D računar ovi parametri su 1 μs i 480 Mb/s, respektivno, a za klaster u kojem se Fast Ethernet mreža koristi kao komutacijski medij, 100 μs i 10 Mb/s. Ovo djelimično objašnjava vrlo visoku cijenu superračunara. Sa parametrima kao što su parametri klastera koji se razmatra, nema mnogo zadataka koji se mogu efikasno rešiti na dovoljno velikom broju procesora.

Na osnovu gore navedenog, daćemo definiciju: klaster je povezani skup punopravnih računara koji se koriste kao jedinstveni računarski resurs. I identični (homogeni klasteri) i različiti (heterogeni klasteri) računari se mogu koristiti kao čvorovi klastera. Po svojoj arhitekturi, klaster računarski sistem je labavo povezan. Za kreiranje klastera obično se koriste jednostavni jednoprocesorski personalni računari ili dvo- ili četvoroprocesorski SMP serveri. U ovom slučaju, nikakva ograničenja nisu nametnuta na sastav i arhitekturu čvorova. Svaki čvor može pokrenuti vlastiti operativni sistem. Najčešće korišćeni standardni operativni sistemi su Linux, FreeBSD, Solaris, Tru64 Unix i Windows NT.

U literaturi se navode četiri prednosti koje se postižu klasterizacijom računarskog sistema:

apsolutna skalabilnost;

skalabilan;

visok faktor dostupnosti;

odnos cena/performanse.

Hajde da objasnimo svaku od gore navedenih karakteristika klaster računarskog sistema.

Nekretnina apsolutna skalabilnost znači da je moguće kreirati velike klastere koji nadmašuju čak i najmoćnije pojedinačne računare u računarskoj snazi. Klaster može sadržavati desetine čvorova, od kojih je svaki multiprocesor.

Mogućnost povećanja skalabilnosti znači da se klaster može proširiti dodavanjem novih čvorova u malim dijelovima. Dakle, korisnik može početi sa malim sistemom, proširujući ga po potrebi.

Pošto je svaki čvor klastera nezavisna računarska mašina ili sistem, kvar jednog od čvorova ne dovodi do gubitka funkcionalnosti klastera. U mnogim sistemima, tolerancija grešaka je automatski podržana od strane softvera.

I konačno, klaster sistemi pružaju nešto nedostižno za superračunare odnos cene i kvaliteta. Klasteri bilo koje izvedbe mogu se kreirati pomoću standardnih "građevnih blokova", a cijena klastera bit će niža od jedne

noćna računarska mašina sa ekvivalentnom procesorskom snagom.

Dakle, na nivou hardvera, klaster je skup nezavisnih računarskih sistema povezanih mrežom. Rješenja mogu biti jednostavna, bazirana na Ethernet hardveru, ili složena, s mrežama velike brzine sa propusnošću od stotina megabajta u sekundi.

Sastavni dio klastera je specijalizovani softver koji ima zadatak da održava proračune kada jedan ili više čvorova otkaže. Takav softver redistribuira računarsko opterećenje kada jedan ili više čvorova klastera pokvari, kao i vraća proračune kada čvor otkaže. Osim toga, kada klaster ima zajedničke diskove, softver klastera održava jedan sistem datoteka.

Klasifikacija arhitektura sistema klastera

Literatura opisuje različite načine klasifikacije klaster sistema. Najjednostavnija klasifikacija je zasnovana na načinu na koji se diskovi koriste: zajedno ili odvojeno.

Na sl. 5.5.1 i 5.5.2 prikazuju strukture klastera dva čvora, čija je koordinacija osigurana brzom linijom koja se koristi za razmjenu poruka. Ovo može biti lokalna mreža, koju koriste i računari koji nisu uključeni u klaster, ili iznajmljena linija. U slučaju iznajmljene linije, jedan ili više čvorova klastera će imati pristup lokalnoj ili globalnoj mreži, čime će se osigurati komunikacija između klastera servera i udaljenih klijentskih sistema.

Razlika između prikazanih klastera je u tome što u slučaju lokalne mreže čvorovi koriste nizove lokalnih diskova, a u slučaju namjenske linije čvorovi dijele jedan redundantni niz nezavisnih tvrdih diskova ili tzv. RAID (Redundantni Niz nezavisnih diskova). RAID se sastoji od nekoliko diskova kojima upravlja kontroler, međusobno povezanih brzim kanalima i percipiranih od strane eksternog sistema kao jedinstvena celina. U zavisnosti od tipa korišćenog niza, mogu se obezbediti različiti stepeni tolerancije grešaka i performansi.

CPU

CPU

Velika brzina

CPU

CPU

autoput

Uređaj

Uređaj

Uređaj

Uređaj

I/O

I/O

I/O

I/O

Disk

Disk

Rice. 5.5.1. Konfiguracija klastera bez dijeljenih 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

autoput

Rice. 5.5.2. Konfiguracija klastera sa zajedničkim diskovima

Pogledajmo najčešće tipove diskovnih nizova:

RAID0 (striping) je niz diskova od dva ili više tvrdih diskova bez redundanse. Informacije se dijele na blokove podataka i upisuju na oba (više) diskova istovremeno. Prednost je značajno povećanje produktivnosti. Nedostatak je što je pouzdanost RAID0 očito niža od pouzdanosti bilo kojeg diska pojedinačno i opada s povećanjem broja diskova uključenih u RAID0, jer kvar bilo kojeg diska 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 pri paralelizaciji upita, kao i visoka pouzdanost: radi sve dok funkcionira barem jedan disk u nizu. Verovatnoća kvara dva diska odjednom jednaka je proizvodu verovatnoće kvara svakog diska. U praksi, ako jedan od diskova pokvari, mora se poduzeti hitna akcija: redundantnost mora biti vraćena. Da biste to učinili, preporučuje se korištenje vrućih rezervnih diskova sa bilo kojim RAID nivoom (osim nulte). Prednost ovog pristupa je održavanje stalne dostupnosti. Nedostatak je što morate platiti cijenu dva čvrsta diska da biste dobili upotrebljivi kapacitet jednog tvrdog diska.

RAID10 je preslikani niz u koji se podaci upisuju uzastopno na nekoliko diskova, kao u RAID0. Ova arhitektura je RAID0 niz čiji segmenti su RAID1 nizovi umjesto pojedinačnih diskova. Prema tome, niz ovog nivoa mora sadržavati najmanje četiri diska. RAID10 kombinuje visoku toleranciju grešaka i performanse.

Potpuniju sliku o klasterskim računarskim sistemima daje klasifikacija klastera prema korištenim metodama klasterizacije, koje određuju glavne funkcionalne karakteristike sistema:

grupisanje s pasivnom redundantnošću;

grupisanje sa aktivnom redundantnošću;

samostalni serveri;

serveri sa konekcijama na sve diskove;

serveri sa zajedničkim diskovima.

Grupiranje sa redundantnošću je najstarija i najuniverzalnija metoda. Jedan od servera preuzima cjelokupno računarsko opterećenje, dok drugi ostaje neaktivan, ali je spreman da preuzme kalkulacije u slučaju kvara glavnog servera. Aktivni (ili primarni) server povremeno šalje poruku sata na rezervni (sekundarni) server. Ako nema srčanih poruka, što se smatra greškom primarnog servera, sekundarni server preuzima kontrolu. Ovaj pristup poboljšava dostupnost, ali ne poboljšava performanse. Štaviše, ako je jedini tip komunikacije između čvorova razmjena poruka i ako oba servera u klasteru ne dijele diskove, tada rezervni server nema pristup bazama podataka kojima upravlja primarni server.

Pasivna redundantnost nije tipična za klastere. Termin "klaster" se odnosi na skup međusobno povezanih čvorova koji aktivno učestvuju u računarskom procesu i zajedno stvaraju iluziju jedne moćne računarske mašine. Ova konfiguracija se obično naziva sistem sa aktivnim sekundarnim serverom, a postoje tri metode grupisanja: samostalni serveri, serveri koji se ne dele na disku i serveri koji dele disk.

U prvoj metodi, svaki čvor klastera se tretira kao nezavisni server sa sopstvenim diskovima, a nijedan disk u sistemu se ne deli. Shema pruža visoke performanse i visoku dostupnost, ali zahtijeva poseban softver za planiranje distribucije zahtjeva klijenata po serverima kako bi se postiglo uravnoteženo i efikasno korištenje svih servera. Neophodno je da ako jedan od čvorova ne uspije tokom izvršavanja aplikacije, drugi čvor u klasteru može presresti i prekinuti ovu aplikaciju. Da bi se to postiglo, podaci u sistemu moraju se stalno praviti rezervne kopije kako bi svaki server imao pristup svim najnovijim podacima u sistemu. Zbog ovih troškova, visoka dostupnost dolazi samo na štetu performansi.

Da bi se smanjili troškovi komunikacije, većina klastera se sada sastoji od servera povezanih na dijeljene diskove, obično predstavljene nizom RAID diskova (pogledajte sliku 5.5.2).

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

Druga opcija je da više servera dijele pristup zajedničkim diskovima tokom vremena, 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 servera ima pristup podacima u bilo kojem trenutku.

Klasteri obezbeđuju visoku dostupnost - nemaju jedan operativni sistem i zajedničku memoriju, odnosno nema problema koherentnosti keša. Osim toga, poseban softver u svakom čvoru stalno prati performanse svih ostalih čvorova. Ova kontrola se zasniva na periodičnom slanju signala "Još sam budan" od strane svakog čvora. Ako se signal ne primi od određenog čvora, onda se smatra da takav čvor nije u funkciji; nije mu data mogućnost da izvrši I/O, njegovi diskovi i drugi resursi (uključujući mrežne adrese) se ponovo dodeljuju drugim čvorovima, a programi koji se na njemu izvode ponovo se pokreću na drugim čvorovima.

Dodane su skale performansi klastera i čvorovi. Klaster može pokrenuti više pojedinačnih aplikacija, ali skaliranje jedne aplikacije zahtijeva da njeni dijelovi komuniciraju razmjenom poruka. Međutim, ne može se zanemariti da interakcije između čvorova klastera traju mnogo duže nego u tradicionalnim računarskim sistemima. Mogućnost skoro neograničenog povećanja broja čvorova i nedostatak jednog operativnog sistema čine arhitekture klastera izuzetno skalabilnim. Uspješno se koriste sistemi sa stotinama i hiljadama čvorova.

Prilikom razvoja klastera mogu se razlikovati dva pristupa. Prvi pristup je stvaranje malih klaster sistema. Klaster kombinuje potpuno funkcionalne računare koji nastavljaju da rade kao nezavisne jedinice, na primer, računare u učionici ili laboratorijske radne stanice. Drugi pristup je namjerno stvaranje moćnih računarskih resursa. Sistemske jedinice računara su kompaktno postavljene -

koji se nalaze u posebnim stalcima, a jedan ili više potpuno funkcionalnih računara, koji se nazivaju host računari, dodeljuju se za upravljanje sistemom i izvršavanje zadataka. U ovom slučaju nema potrebe za opremanjem računara računarskih čvorova grafičkim karticama, monitorima, disk drajvovima i drugom perifernom opremom, što značajno smanjuje troškove sistema.

Razvijene su mnoge tehnologije za kombinovanje računara u klaster. Najrasprostranjenija tehnologija u ovom trenutku je Ethernet, zbog jednostavnosti upotrebe i niske cijene komunikacione opreme. Međutim, to morate platiti očigledno nedovoljnim kursom.

Programeri paketa potprograma ScaLAPACK, dizajniranog za rješavanje problema linearne algebre na višeprocesorskim sistemima u kojima je veliki udio komunikacijskih operacija, formulišu zahtjev za višeprocesorskim sistemom na sljedeći način: „Brzina međuprocesorske razmjene između dva čvora, mjerena u MB /s, mora biti najmanje 1/10 vršne performanse računarskog č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 organizovanju klastera sa dva ili četiri čvora (slika 5.5.3). Čvorovi su grupirani u parove, nizovi diskova su vezani za oba čvora koja su dio para, a svaki čvor u paru ima pristup svim nizovima diskova ovog para. Jedan od čvorova u paru se koristi kao rezervna kopija za drugi.

Par klastera sa četiri čvora je jednostavno proširenje topologije sa dva čvora. Sa stanovišta administracije i konfiguracije, oba para klastera se smatraju jedinstvenom cjelinom.

Ova topologija se može koristiti za organizovanje klastera sa visokom dostupnošću podataka, ali tolerancija grešaka je implementirana samo unutar para, pošto uređaji za skladištenje informacija koji pripadaju paru nemaju fizičku vezu sa drugim parom.

Prekidač

klaster

klaster

klaster

klaster

Disk

Disk

Disk

Disk

Rice. 5.5.3. Topologija parova klastera

Topologija + 1 vam omogućava da kreirate klastere od dva, tri i četiri čvora (Sl.5.5.4). Svaki niz diskova povezan je sa samo dva čvora klastera. Nizovi diskova su organizovani prema šemi RAID1 (zrcaljenje). Jedan server ima vezu sa svim diskovnim nizovima i služi kao rezervna kopija za sve ostale (primarne ili aktivne) čvorove. Standby server se može koristiti za pružanje visoke dostupnosti kada je uparen sa bilo kojim aktivnim čvorom.

Topologija se preporučuje za organiziranje klastera s visokom dostupnošću podataka. U konfiguracijama u kojima je moguće posvetiti jedan čvor redundantnosti, ova topologija može smanjiti opterećenje aktivnih čvorova i osigurati da se opterećenje neuspjelog čvora može replicirati na rezervni čvor bez gubitka performansi. Tolerancija grešaka je osigurana između bilo kojeg od primarnih čvorova i rezervnog čvora. Istovremeno, topologija ne dozvoljava globalnu toleranciju grešaka, budući da glavni čvorovi klastera i njihovi sistemi za skladištenje informacija nisu međusobno povezani.

Topologija × je slična topologiji + 1, omogućavajući vam da kreirate klastere 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

Rice. 5.5.5. Topologija ×

Samo u ovoj topologiji svi čvorovi klastera imaju pristup svim nizovima diskova, koji su, zauzvrat, izgrađeni prema RAID1 (zrcaljenju) šemi. Skalabilnost topologije se manifestuje u lakoći dodavanja dodatnih čvorova i diskovnih nizova u klaster bez promjene veza u sistemu.

klaster

klaster

klaster

klaster

Disk

Disk

Disk

Disk

Rice. 5.5.6. Potpuno odvojena pristupna topologija

Potpuno odvojena pristupna topologija omogućava da se svaki niz diskova poveže samo sa jednim čvorom klastera (Sl. 5.5.6 ). Preporučuje se samo za one aplikacije koje karakterizira potpuno odvojena pristupna arhitektura.

Kontrolna pitanja

1. Dajte definiciju klaster računarskog sistema.

2. Navedite glavne prednosti i nedostatke klasterskih računarskih sistema.

3. Koje klasifikacije klaster računarskih sistema imate

4. Koje topologije sistema klastera poznajete? Navedite njihove prednosti i nedostatke.

Književnost

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

2. Mikroprocesorski sistemi: udžbenik. priručnik za univerzitete /

E.K. Aleksandrov, R.I. Grushvitsky, M.S. Kuprijanov i drugi; uređeno od D.V. Puzankova . - Sankt Peterburg: Politehnika, 2002. - 935 str.

Ova stranica je napisana na način da može biti korisna ne samo korisnicima NICC računarskih klastera, već i svima koji žele da steknu predstavu o ​funkcionisanju računarskog klastera. Rješenje tipičnih problema korisnika NIVC klastera predstavljeno je na posebnoj stranici.

Šta je računarski klaster?

Općenito, računarski klaster je skup računara (računarskih čvorova) povezanih nekom komunikacionom mrežom. Svaki računarski čvor ima svoju RAM memoriju i pokreće svoj operativni sistem. Najčešća je upotreba homogenih klastera, odnosno onih kod kojih su svi čvorovi apsolutno identični po svojoj arhitekturi i performansama.

Više o tome kako je računarski klaster strukturiran i kako funkcioniše možete pročitati u knjizi A. Latsisa „Kako izgraditi i koristiti superkompjuter“.

Kako se programi pokreću na klasteru?

Za svaki klaster postoji namenski računar - glavna mašina (front-end). Ovaj uređaj ima instaliran softver koji kontrolira kako se programi izvode na klasteru. Stvarni računarski procesi korisnika se pokreću na računarskim čvorovima, a distribuiraju se tako da ne postoji više od jednog računarskog procesa po procesoru. Ne možete pokrenuti računarske procese na glavnoj mašini klastera.

Korisnici imaju terminalski pristup glavnoj mašini klastera i nema potrebe da se prijavljuju u čvorove klastera. Programi se pokreću na klasteru u tzv. "batch" mod - to znači da korisnik nema direktnu, "interaktivnu" interakciju sa programom ne može čekati unos sa tastature i prikaz direktno na ekranu; Štaviše, korisnički program se može pokrenuti kada korisnik nije povezan na klaster.

Koji operativni sistem je instaliran?

Računarski klaster, po pravilu, pokreće jednu od varijanti Unix OS-a - višekorisnički mrežni operativni sistem za više zadataka. Konkretno, u istraživačkom računarskom centru Moskovskog državnog univerziteta, klasteri rade pod Linux OS-om, slobodno distribuiranom verzijom Unixa. Unix ima niz razlika u odnosu na Windows, koji obično radi na personalnim računarima, a posebno se ove razlike odnose na korisnički interfejs, rad sa procesima i sistem datoteka.

Više o funkcijama i naredbama UNIX OS-a možete pročitati ovdje:

  • Instalacija Linuxa i prvi koraci (knjiga Matta Welsha, na ruski preveo A. Solovjov).
  • UNIX operativni sistem (informacioni i analitički materijali na serveru CIT-Forum).

Kako se pohranjuju podaci korisnika?

Svi čvorovi klastera imaju pristup zajedničkom sistemu datoteka koji se nalazi na serveru datoteka. Odnosno, datoteka se može kreirati, na primjer, na glavnom stroju ili na nekom čvoru, a zatim čitati pod istim imenom na drugom čvoru. Pisanje u istu datoteku istovremeno sa različitih čvorova je nemoguće, ali je upisivanje u različite datoteke moguće. Pored zajedničkog sistema datoteka, mogu postojati lokalni diskovi na čvorovima klastera. Programi ih mogu koristiti za pohranjivanje privremenih datoteka. Nakon završetka (tačnije, neposredno prije kraja) programa, ove datoteke se moraju izbrisati.

Koji kompajleri se koriste?

Ne postoje specijalizovani paralelni kompajleri za klastere. Koriste se konvencionalni kompajleri za optimizaciju iz C i Fortran jezika - GNU, Intel ili drugi koji mogu kreirati izvršne Linux OS programe. U pravilu se za kompajliranje paralelnih MPI programa koriste posebne skripte (mpicc, mpif77, mpif90, itd.), koje su dodaci postojećim kompajlerima i omogućavaju vam povezivanje potrebnih biblioteka.

Kako iskoristiti mogućnosti klastera?

Postoji nekoliko načina za korištenje računarske snage klastera.

1. Pokrenite mnoge jednoprocesorske zadatke. Ovo može biti razumna opcija ako trebate pokrenuti mnoge neovisne računske eksperimente s različitim ulaznim podacima, pri čemu vrijeme svakog pojedinačnog izračuna nije važno, a svi podaci se nalaze u količini memorije koja je dostupna jednom procesu.

2. Pokrenite gotove paralelne programe. Za neke zadatke dostupni su besplatni ili komercijalni paralelni programi koje po potrebi možete koristiti na klasteru. Po pravilu, za to je dovoljno da je program dostupan u izvornom kodu i implementiran pomoću MPI interfejsa u C/C++ ili Fortranu. Primjeri slobodno distribuiranih paralelnih programa implementiranih pomoću MPI: GAMESS-US (kvantna hemija), POVRay-MPI (tracing zraka).

3. Pozovite paralelne biblioteke u vašim programima. Takođe za neke oblasti, kao što je linearna algebra, dostupne su biblioteke koje vam omogućavaju da rešite širok spektar standardnih podproblema koristeći mogućnosti paralelne obrade. Ako pristup takvim podzadacima čini većinu računskih operacija programa, onda će korištenje takve paralelne biblioteke omogućiti da se dobije paralelni program praktično bez pisanja vlastitog paralelnog koda. Primjer takve biblioteke je SCALAPACK. Priručnik na ruskom jeziku za korišćenje ove biblioteke i primeri mogu se naći na serveru za numeričku analizu Istraživačkog računarskog centra Moskovskog državnog univerziteta. FFTW paralelna biblioteka za izračunavanje brzih Fourierovih transformacija (FFT) je takođe dostupna. Informacije o drugim paralelnim bibliotekama i programima implementiranim sa MPI mogu se naći na http://www-unix.mcs.anl.gov/mpi/libraries.html.

4. Kreirajte vlastite paralelne programe. Ovo je najintenzivnija, ali i najuniverzalnija metoda. Postoje dvije glavne opcije. 1) Ubacite paralelne strukture u postojeće paralelne programe. 2) Kreirajte paralelni program od nule.

Kako paralelni programi rade na klasteru?

Paralelni programi na računarskom klasteru rade u modelu prenošenja poruka. To znači da se program sastoji od mnogo procesa, od kojih svaki radi na svom procesoru i ima svoj adresni prostor. Štaviše, direktan pristup memoriji drugog procesa je nemoguć, a razmjena podataka između procesa se odvija korištenjem operacija primanja i slanja poruka. To jest, proces koji mora primiti podatke naziva operaciju Receive (primi poruku) i ukazuje od kojeg procesa treba primiti podatke, a proces koji mora prenijeti podatke drugom poziva operaciju Send (pošalji poruku) i ukazuje na koju proces treba da prenese ove podatke. Ovaj model je implementiran pomoću standardnog MPI interfejsa. Postoji nekoliko implementacija MPI-ja, uključujući besplatne i komercijalne, prenosive i specifične za mrežu.

Po pravilu, MPI programi se grade prema SPMD (jedan program - mnogo podataka) modelu, odnosno za sve procese postoji samo jedan programski kod, a različiti procesi pohranjuju različite podatke i izvršavaju svoje radnje u zavisnosti od rednog broja proces.

  • Predavanje 5. Tehnologije paralelnog programiranja. Message Passing Interface.
  • Računarska radionica o MPI tehnologiji (A.S. Antonov).
  • A.S. Antonov.
  • MPI: The Complete Reference (na engleskom).
  • Poglavlje 8: Interfejs za prosleđivanje poruka u knjizi Iana Fostera "Dizajniranje i izgradnja paralelnih programa" (na engleskom).

Gdje mogu vidjeti primjere paralelnih programa?

Šematski primjeri MPI programa možete pronaći ovdje:

  • Kurs Vl.V. Voevodina "Paralelna obrada podataka". Dodatak predavanju 5.
  • Primjeri iz priručnika A.S. Antonova "Paralelno programiranje korištenjem MPI tehnologije".

Da li je moguće otkloniti greške u paralelnim programima na ličnom računaru?

Razvoj MPI programa i testiranje funkcionalnosti moguće je na običnom računaru. Možete pokrenuti nekoliko MPI procesa na računaru s jednim procesorom i tako provjeriti funkcionalnost programa. Preporučljivo je da se radi o računaru sa Linux OS-om, na koji možete instalirati MPICH paket. To je moguće i na Windows računaru, ali je teže.

Koliko je radno intenzivno programirati računske algoritme koristeći MPI i postoje li alternative?

Skup funkcija MPI interfejsa se ponekad naziva "paralelni asembler" jer to je programski sistem relativno niskog nivoa. Za početnika korisnika računara može biti prilično naporan zadatak programirati složeni paralelni algoritam koristeći MPI i otklanjati greške u MPI programu. Postoje i sistemi programiranja višeg nivoa, posebno ruski razvoji - DVM i NORMA, koji omogućavaju korisniku da napiše zadatak u terminima koji su mu razumljivi, a na izlazu kreiraju kod koristeći MPI, pa se stoga mogu koristiti na skoro svaki računarski klaster.

Kako ubrzati proračune na klasteru?

Prvo, morate što je više moguće ubrzati proračune na jednom procesoru, za što možete poduzeti sljedeće mjere.

1. Izbor opcija optimizacije kompajlera. Više o opcijama kompajlera možete pročitati ovdje:

  • Intel C++ i Fortran kompajleri (ruska stranica na našoj web stranici).

2. Korištenje optimiziranih biblioteka. Ako neke standardne operacije, kao što je množenje matrice, zauzimaju značajan dio vremena rada programa, onda ima smisla koristiti gotove optimizirane procedure koje izvode ove radnje, umjesto da ih sami programirate. Za izvođenje operacija linearne algebre nad matričnim i vektorskim veličinama razvijena je biblioteka BLAS (Basic Linear Algebra Procedures). Interfejs za pozivanje ovih procedura je zapravo postao standard, a sada postoji nekoliko dobro optimizovanih implementacija ove biblioteke prilagođene arhitekturi procesora. Jedna takva implementacija je slobodno distribuirana biblioteka, koja je, kada je instalirana, konfigurisana da uzme u obzir karakteristike procesora. Intel nudi MKL biblioteku, optimizovanu implementaciju BLAS-a za Intel procesore i SMP računare zasnovane na njima. članak o odabiru MKL opcija.

Više o bibliotekama linearne algebre (BLAS) možete pročitati ovdje:

3. Eliminacija zamjene (automatsko prenošenje podataka iz memorije na disk). Svaki proces ne bi trebao pohraniti više podataka od RAM-a koji mu je dostupan (u slučaju dvoprocesorskog čvora, to je otprilike polovina fizičke memorije čvora). Ako je potrebno raditi s velikom količinom podataka, možda je preporučljivo organizirati rad s privremenim datotekama ili koristiti nekoliko računarskih čvorova, koji zajedno osiguravaju potrebnu količinu RAM-a.

4. Optimalnije korištenje keš memorije. Ako je moguće promijeniti redoslijed radnji programa, potrebno je modificirati program tako da se radnje na istim ili uzastopno lociranim podacima također izvode u nizu, a ne „u neskladu“. U nekim slučajevima može biti prikladno promijeniti redoslijed petlji u ugniježđenim konstrukcijama petlje. U nekim slučajevima moguće je na "osnovnom" nivou organizirati proračune na takvim blokovima koji u potpunosti padaju u keš memoriju.

5. Optimalniji rad sa privremenim fajlovima. Na primjer, ako program kreira privremene datoteke u trenutnom direktoriju, onda ima smisla preći na korištenje lokalnih diskova na čvorovima. Ako se na čvoru pokreću dva procesa i svaki od njih kreira privremene datoteke, a na čvoru su dostupna dva lokalna diska, onda želite da dva procesa kreiraju datoteke na različitim diskovima.

6. Koristite najprikladnije tipove podataka. Na primjer, u nekim slučajevima može biti prikladno koristiti 32-bitne float jednostruke preciznosti ili čak cijele brojeve umjesto 64-bitnih dvostrukih brojeva.

Za više informacija o preciznoj optimizaciji programa, pogledajte Vodič za optimizaciju za Intel procesore i druge srodne materijale na Intel web stranici.

Kako procijeniti i poboljšati kvalitetu paralelizacije?

Da bi se ubrzao rad paralelnih programa, vrijedi poduzeti mjere za smanjenje troškova sinhronizacije i razmjene podataka. Kombinacija asinhronog prijenosa i izračunavanja može biti prihvatljiv pristup. Kako bi se izbjeglo vrijeme mirovanja pojedinih procesora, potrebno je što ravnomjernije rasporediti proračune između procesa, au nekim slučajevima može biti potrebno i dinamičko balansiranje.

Važan indikator koji pokazuje da li je paralelizam efikasno implementiran u programu je opterećenje računarskih čvorova na kojima se program izvodi. Ako je opterećenje svih ili dijela čvorova daleko od 100%, to znači da program neefikasno koristi računarske resurse, tj. stvara velike komunikacione troškove ili neravnomjerno distribuira proračune između procesa. Korisnici MSU istraživačkog računarskog centra mogu pregledati preuzimanje preko web interfejsa kako bi vidjeli status čvorova.

U nekim slučajevima, da bi se razumio razlog za slabe performanse programa i koja specifična mjesta u programu treba modificirati da bi se postigle povećane performanse, ima smisla koristiti posebne alate za analizu performansi - profilatore i tracere.

Više o poboljšanju performansi paralelnih programa možete pročitati u knjizi V.V.Voevodina

Klasterske tehnologije postale su logičan nastavak razvoja ideja ugrađenih u arhitekturu MPP sistema. Ako je procesorski modul u MPP sistemu kompletan računarski sistem, onda se sledeći korak nameće sam od sebe: zašto ne koristiti obične komercijalno dostupne računare kao takve računarske čvorove. Razvoj komunikacionih tehnologija, odnosno pojava brze mrežne opreme i specijalnog softvera, kao što je MPI sistem, koji implementira mehanizam za prenos poruka preko standardnih mrežnih protokola, učinio je klaster tehnologije opšte dostupnim. Danas nije teško napraviti mali klaster sistem kombinovanjem računarske snage računara u zasebnoj laboratoriji ili učionici.

Atraktivna karakteristika klaster tehnologija je to što one omogućavaju kombinovanje računara različitih tipova u objedinjene računarske sisteme, od personalnih računara do moćnih superkompjutera, kako bi se postigle potrebne performanse. Klasterske tehnologije postale su široko rasprostranjene kao sredstvo za kreiranje sistema superkompjuterske klase od komponenti masovne proizvodnje, što značajno smanjuje cenu računarskog sistema. Konkretno, projekat COCOA bio je jedan od prvih koji je implementiran, u kojem je, na osnovu 25 dvoprocesorskih personalnih računara sa ukupnom cenom od oko 100.000 dolara, sistem sa performansama ekvivalentnim 48-procesorskom Cray T3D koji košta nekoliko miliona američkih dolara. dolara stvorena.

Naravno, o potpunoj ekvivalenciji ovih sistema ne treba govoriti. Kao što je rečeno u prethodnom odeljku, performanse distribuiranih memorijskih sistema u velikoj meri zavise od performansi komunikacionog okruženja. Komunikaciono okruženje se može sasvim u potpunosti okarakterisati sa dva parametra: latencija- vrijeme kašnjenja pri slanju poruke, i propusnost- brzina prenosa informacija. Tako su za računar Cray T3D ovi parametri 1 μs i 480 Mb/s, respektivno, a za klaster u kojem se Fast Ethernet mreža koristi kao komunikacioni medij 100 μs i 10 Mb/s. Ovo djelimično objašnjava vrlo visoku cijenu superračunara. Sa parametrima kao što su parametri klastera koji se razmatra, nema mnogo zadataka koji se mogu efikasno rešiti na dovoljno velikom broju procesora.

Da ukratko, onda klaster je povezani skup punopravnih računara koji se koriste kao jedinstveni računarski resurs. Prednosti klaster sistema u odnosu na skup nezavisnih računara su očigledne. Prvo, razvijeni su mnogi dispečerski sistemi za grupnu obradu poslova koji vam omogućavaju da pošaljete posao na obradu klasteru kao celini, a ne bilo kom pojedinačnom računaru. Ovi dispečerski sistemi automatski distribuiraju zadatke slobodnim računarskim čvorovima ili ih baferuju ako ih nema, što omogućava ujednačenije i efikasnije opterećenje računara. Drugo, postaje moguće dijeliti računarske resurse nekoliko računara za rješavanje jednog problema.


Za kreiranje klastera obično se koriste jednostavni jednoprocesorski personalni računari ili dvo- ili četvoroprocesorski SMP serveri. U ovom slučaju, nikakva ograničenja nisu nametnuta na sastav i arhitekturu čvorova. Svaki čvor može pokrenuti vlastiti operativni sistem. Najčešće korišćeni standardni operativni sistemi su Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT. U slučajevima kada su čvorovi klastera heterogeni, govorimo o heterogena klasteri.

Prilikom kreiranja klastera mogu se razlikovati dva pristupa. Prvi pristup se koristi pri kreiranju malih klaster sistema. Klaster kombinuje potpuno funkcionalne računare koji nastavljaju da rade kao nezavisne jedinice, na primer, računare u učionici ili laboratorijske radne stanice. Drugi pristup se koristi u slučajevima kada se namjerno kreira moćan računarski resurs. Zatim se jedinice računarskog sistema kompaktno postavljaju u posebne police, a jedan ili više računara sa punom funkcijom, koji se nazivaju host računari, se dodeljuju za upravljanje sistemom i izvršavanje zadataka. U ovom slučaju nema potrebe za opremanjem računara računarskih čvorova grafičkim karticama, monitorima, disk drajvovima i drugom perifernom opremom, što značajno smanjuje troškove sistema.

Razvijene su mnoge tehnologije za povezivanje računara u klaster. Najrasprostranjenija tehnologija u ovom trenutku je Fast Ethernet. To je zbog jednostavnosti korištenja i niske cijene komunikacijske opreme. Međutim, to morate platiti očigledno nedovoljnim kursom. Zapravo, ova oprema omogućava maksimalnu brzinu prijenosa između čvorova od 10 MB/sec, dok je brzina prijenosa sa RAM-om 250 MB/sec i više. Programeri paketa potprograma ScaLAPACK, dizajniranog za rješavanje problema linearne algebre na višeprocesorskim sistemima u kojima je veliki udio komunikacijskih operacija, formulišu sljedeći zahtjev za višeprocesorski sistem: „Brzina međuprocesorske razmjene između dva čvora, mjerena u MB/ sec, mora biti najmanje 1/10 vršne performanse računarskog čvora, mjereno u Mflops"http://rsusu1.rnd.runnet.ru/tutor/method/m1/liter1.html - . Dakle, ako se računari klase Pentium III 500 MHz (vršne performanse 500 Mflops) koriste kao računarski čvorovi, onda Fast Ethernet oprema obezbeđuje samo 1/5 potrebne brzine. Ova situacija se može djelomično ispraviti prelaskom na Gigabit Ethernet tehnologije.

Brojne kompanije nude specijalizovana klaster rešenja zasnovana na mrežama veće brzine, kao što su SCI iz Scali Computer-a (~100 Mb/sec) i Mirynet (~120 Mb/sec). Proizvođači radnih stanica visokih performansi (SUN, HP, Silicon Graphics) takođe su aktivno učestvovali u podršci klaster tehnologijama.

mob_info