14
BEOWULF KLASTER Kasumović Zineta Rezime: Cilj ovog seminarskog rada je da vas upoznam sa pojmom Beowulf klastera, te da pokažem da postoji pogodna zamjena za superračunare koji koštaju milione dolara i koje ne mogu priuštiti niti manje istraživačke ustanove, niti instituti, niti univerziteti, a pogotovo ne manja skupina ljudi. Mnogo bolja alternativa od skupih superračunara su postali klasteri. Ukratko rečeno, klaster je kolekcija računara međusobno povezanih mrežom, koji rade zajedno da riješe problem. Kako je mrežna tehnologija zadnjih godina napredovala enormnom brzinom, klasteri od personalnih računara su postali još interesantniji, s obzirom da je potreba za bržim proračunima u nauci, a i u ostalim oblastima, postala sve veća. Ključne riječi: Paralelno procesiranje, klaster, frontend, Beowulf klaster UVOD Paralelno procesiranje se odnosi na koncept ubrzavanja izvršenja nekoga programa dijeljenjem tog programa u više dijelova koji se mogu izvršavati simultano, svako na jednom procesoru. Tradicionalan softver je bio pisan za serijsko procesiranje. On se izvršavao na jednom računaru koji ima jednu centralnu procesnu jedinicu, tako što se problem razbijao u diskretni broj instrukcija koje su se izvršavale jedna poslije druge i to tako da se jedna instrukcija može izvršavati u jednom trenutku vremena.

unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

BEOWULF KLASTERKasumović Zineta

Rezime: Cilj ovog seminarskog rada je da vas upoznam sa pojmom Beowulf klastera, te da pokažem da postoji pogodna zamjena za superračunare koji koštaju milione dolara i koje ne mogu priuštiti niti manje istraživačke ustanove, niti instituti, niti univerziteti, a pogotovo ne manja skupina ljudi. Mnogo bolja alternativa od skupih superračunara su postali klasteri. Ukratko rečeno, klaster je kolekcija računara međusobno povezanih mrežom, koji rade zajedno da riješe problem. Kako je mrežna tehnologija zadnjih godina napredovala enormnom brzinom, klasteri od personalnih računara su postali još interesantniji, s obzirom da je potreba za bržim proračunima u nauci, a i u ostalim oblastima, postala sve veća.

Ključne riječi: Paralelno procesiranje, klaster, frontend, Beowulf klaster

UVODParalelno procesiranje se odnosi na koncept ubrzavanja izvršenja nekoga programa dijeljenjem tog programa u više dijelova koji se mogu izvršavati simultano, svako na jednom procesoru. Tradicionalan softver je bio pisan za serijsko procesiranje. On se izvršavao na jednom računaru koji ima jednu centralnu procesnu jedinicu, tako što se problem razbijao u diskretni broj instrukcija koje su se izvršavale jedna poslije druge i to tako da se jedna instrukcija može izvršavati u jednom trenutku vremena.

Slika 1. Serijsko procesiranje [1] Slika 2. Paralelno procesiranje [1]

Paralelni programi se mogu izvršavati na više centralnih procesnih jedinica, tako što se problem razbije na diskretne dijelove koji se mogu riješiti paralelno. Svaki dio se dalje razlaže na seriju instrukciju. Instrukcije svakog dijela se izvršavaju na različitim centralnim procesnim jedinicama. Glavni razlozi za korištenje paralelnog procesiranja su ti što štedi vrijeme, rješava veće probleme i omogućava konkurentnost.

U zadnjih deset godina, trend koji je ukazan sve bržim mrežama, distribuiranim računarima i višeprocesorskim računarskim arhitekturama ukazuju na to da je paralelizam budućnost računarstva.

Page 2: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

Slika 3. Prikaz korištenja paralelnog procesiranja u svijetu [1]

Računarski resursi mogu biti :1. jedan računar sa više centralnih procesorskih jedinica2. proizvoljan broj računara povezanih mrežom (klaster)3. kombinacija prvog i drugog

Riječ klaster u prijevodu znači skupina ili grozd. U knjigama i na internetu se mogu naći mnoge definicije za riječ klaster, a samo neke od njih su :

Računarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično, ali ne i uvijek, spojeni brzom lokalnom mrežom (LAN). Klasteri se koriste kako bi povećali performanse i/ili dostupnost veću od one kod jednog računara, dok su u principu jeftiniji u usporedbi s jednim računarom istih karakteristika.

Klaster je paralelni kompjuterski sistem koji uključuje integrisanu kolekciju neovisnih čvorova od kojih je svaki čvor sistem za sebe, sposoban za izvođenje neovisnih operacija i koji potiče od proizvoda razvijenih i puštenih na tržište za samostalne svrhe.

Sve ove definicije su ispravne i ukazuju na to da je klaster skup usko međusobno povezanih računara, od kojih je svaki računar sposoban za izvođenje samostalnih operacija i koji rade zajedno da bi riješili neki problem.

Krajem 90-tih godina, klasterovanje je dovedeno do te mjere da je omogućno da veliki broj personalnih računara, radi koordinirano na obradi i izvršavanju računarskih aplikacija. Koncept klastera je rođen kada su ljudi pokušali podijeliti različite poslove na više računara i onda pokupiti podatke koje su proizveli ti poslovi.

Page 3: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

U osnovi postoje tri tipa klastera :

1. High-availability ili Fail-over klasteri (klasteri visoke dostupnosti)

2. Load-balancing klasteri (klasteri za raspoređivanje opterećenja)

3. High-performance klasteri (klasteri visokih performansi)Najpopularnija implementacija klastera visokih performansi je klaster sa čvorovima kojeg pokreće Linux i slobodan softver korišten u svrhu postizanja paralelizma. Ovakva konfiguracija se često naziva Beowulf klaster.

Slika 4. High-performance klaster [2]

BEOWULF KLASTER

Postoji veoma veliki broj definicija za Beowulf klastere. Neki tvrde da se računarski sistem može zvati beowulf samo ako je napravljen na isti način na koji je bio izgrađen prvi originalni Beowulf klaster. Neki ipak idu u krajnost i nazivaju Beowulfom svaki sistem radnih stanica koji izvršavaju paralelni posao. Međutim najprihvatljivija definicija Beowulfa je sljedeća :

Beowulf je multi kompjuterska arhitektura koja može biti korištena za paralelne proračune. To je sistem koji se obično sastoji od jednog serverskog čvora i više klijentskih čvorova međusobno povezanih putem Etherneta ili neke druge mreže. To je sistem koji napravljen korištenjem komercionalnih hardverskih komponenti koji su dostupni na tržištu, kao što je to svaki personalni računar sposoban da pokrene Linux, standardni ethernet adapteri i switchevi. Ne sadrži nikakve korisničke hardverske komponente. Beowulf također koristi commodity softver kao što je Linux operativni sistem, Parallel Virtual Machine (PVM) i Message Passing interfejs (MPI). Serverski čvor kontrolira čitav klaster i uslužuje datoteke klijentim čvorovima. On je također izlaz klasteru na vanjski svijet.

Čvorovi se konfigurišu i kontroliraju od strane glavnog čvora, i rade ono što im se kaže.

Jedna od glavnih razlika Beowulf-a i klastera radnih stanica (Cluster of Workstations) je činjenica da se Beowulf ponaša više kao jedinstvena mašina nego kao više radnih stanica. U

Page 4: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

velikom broju slučajeva klijetni čvorovi nemaju tastaturu, monitor pa u nekim slučajevima čak ni hard disk, i može im se pristupiti preko glavnog računara.

Beowulf nije specijalni softverski paket, nova mrežna topologija niti kernelska modifikacija. Beowulf je tehnologija klasterisanja Linux računara u cilju formiranja paralelnog, virtuelnog superračunara. Iako postoje mnogi softverski paketi kao što su modifikacije kernela, biblioteke za komuniciranje porukama, te konfiguracioni alati koji poboljšavaju Beowulf arhitekturu i dodatno je iskorištavaju, Beowulf class računar se može napraviti koristeći standardnu Linux distribuciju i dodatni softver.

Glavna ideja Beowulf-a je korištenje komercijalno dostupnih računara u svrhu izgradnje jeftine alternative tradicionalnim superračunarima.

Beowulf klasteri su predodređeni klasteri, odnosno oni ne služe ni za jednu drugu svrhu osim za paralelnu obradu podataka. Imajući u vidu tu činjenicu, on je i potpuno optimiziran sistem za tu namjenu. Beowulf klaster daje mnogo bolji odnos cijene i performansi nego ostali superračunari jer može biti sagrađen iz tržišno dostupnih hardverskih komponenti te koristi čitav niz besplatnih rešenja. Beowulf je klaster personalnih računara međusobno povezanih mrežnom tehnologijom koji koristi message passing model za paralelno procesiranje. Glavna prednost ovoga pristupa su visoke performanse za nisku cijenu, skalabilnost sistema te brza prilagodba novim tehnološkim napretcima.

Korištenje beowulf klastera je široko rasprostranjeno u zajednici računarskih nauka. Ovakvi klasteri se koriste u modeliranju klime, biološkim proračunima, astrofizici, ali isto tako i u ne-tradicionalnim područjima kao što je to finansijsko modeliranje.

Slika 5. Beowulf klaster [4]

Danas beowulf sistemi mogu biti instalirani za trošak od između jednog i tri dolara po megaflopsu i opsegu od nekoliko gigaflopsa do pola teraflopsa. Također je važna i velika brzina rasta različitosti aplikacija. Prvobitno namjenjeni naučnoj i tehničkoj zajednici, Beowulf class sistemi su se proširili i na komercijalni domen, te se koriste za transakcijsko procesiranje, zabavnu industriju, te za kompjuterski generisane specijalne efekte.

Beowulf klaster je superračunar koji može napraviti i koristiti bilo ko. Tačnije rečeno Beowulf klaster je superračunar sastavljen od commodity komponenti.

Page 5: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

Ovaj pristup koristi prednost visokih performasi dostupnih danas u personalnim računarima. U mnogim mjerama današnji PC je jači nego superračunari prošlosti.

Beowulf klaster je dakle forma paralelnog računara koja nije ništa drugo nego kompjuter koji koristi više od jednog procesora. Beowulf klaster koristi dvije prednosti commodity komponenti : brze CPU, dizajnirane primarno za tržište personalnih računara i mreže dizajnirane da međusobno povežu personalne računare.

Najvažniji dio Beowulf klastera je glavni čvor – frontend. On vrši raspodjelu poslova na ostale čvorove, nadgleda stanje ostalih čvorova, uslužuje čvorove potrebnim datotekama i preko njega se vrši konfiguracija svih ostalih čvorova. On je jedini čvor koji je spojen na vanjsku mrežu i koji ima sve ostale dijelove računara kao što su monitor, tastatura i miš.

Slika 6. Šematski prikaz Beowulf klastera [4]

Na Beowulf klaster se može gledati kao na master-slave model :

master čvor podjeli posao između nekoliko slave čvorova

slave čvorovi rade na njihovim pojedinačnim zadacima

slave čvorovi komuniciraju međusobno ukoliko to moraju

slave čvorovi vraćaju rezultat master čvoru

master čvor sastavi rezultate, i eventualno dalje distribuira posao

S obzirom da glavni čvor ili tzv. frontend ima najznačajniju ulogu u čitavom klasteru potrebno ga je dobro održavati. Ponekad se zbog toga vrši kombiniranje High-availability klastera i Beowulf klastera, kako bi se izbjeglo stanje da Beowulf klaster ostane bez glavnog čvora.

HISTORIJA BEOWULFA

Beowulf projekat je prvobitno organiziran i osnovan u Novembru 1993 i mali tim je bio okupljen za nekoliko narednih mjeseci, uključujuči Don, Daniel Savarese, Chance Reschke, Dan Ridge, John Dorband i ostale. Sredinom 1994-te oni su napravili prvi operacionalni Beowulf-calss PC cluster, nazvan “Wiglaf“ u NASA Goddard Space Flight Centru. Sistem je bio namjenjen za aplikacije za astronomska istraživanja, pod sponzorstvom NASA High Performance Computing and Communications programa.

Page 6: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

Sadržavajući 16 Intel 100 Mhz 80486 baziranih PC's, svaki sa 32 Mbytes memorije i sa gigabajtom hard diska, koji su povezani sa dva paralelna 10-Base-T Ethernet Lana, ovaj prvi PC cluster je dostigao performanse na pravim numeričko snažnim, znanstvenim aplikacijama u opsegu od 70 Mflops-a (tačnije 72 Mflopsa).

U tadašnje vrijeme, najveći izazov je bila među procesorska komunikacija. Ethernet, iako široko dostupan, nije bio jeftin, a ruteri su bili posebno skupi. Čak što više, uprkos relativno skromnim performansama PC čvorova, 10 Mbps kanalna propusnost koju je pružao Ethernet nije uvijek bila odgovarajuća.

U početku su switchevi bili preskupi pa su korišteni hubovi. Tokom ovog vremena neovisni proizvođači su ponudili nove ethernet karte i beowulf projekat je investirao značajne resurse da obezbjedi Linux drajvere za njih, izdavajući iste kao open source sa svakom sukcesivnom linux distribucijom.

Drugi beowulf cluster je bio implementiran 1995 koristeći 16 novih intel pentium procesora koji su radili na frekvenciji od 100 Mhz, ali koristeći novi Fast Ethernet, 100-Base-T LAN. Kombinacija ovih poboljšanja je rezultirala u značajnom ravnomjernom rastu performasni do približno 240 Mflops-a. Ta mašina se je zvala „Hrothgar“. Ovi rezultati su bili ohrabrujući i veći broj naših kolega sa GSFC koji su bili računarski znanstvenici su bili više nego zainteresirani da portuju svoje aplikacije na Hrothgar, demonstrirajući konzizstentnu korist cijene po performansi, koja se je često približavala faktoru od 50 u odnosu na dostupne alternative.

1996. godine napravljen je novi Beowulf cluster. Ovaj put on se sastojao od 16 Intel Pentium Pro 200 Mhz procesora, ali ovaj put povezani 100-Base-T koristeći switch. Hyglac je postigao 1.26 Gflops performanse i bio je to proboj u performansama po cijeni.

Slika 7. Wiglaf $40.000 [3] Slika 8. Hrothgar $46.000 [3]

Page 7: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

1997. godine je vođa tima projekta na kojem je izgrađen Hyglac, kao i ostali članovi tima uključujući Thomas Sterlinga i Donald Beckera, su dobili Gordon Bell prize za price/performance.

Slika 9. Hyglac $50.000 [3] Slika 10. Nagrada za price/performance [3]

Zahvaljujući napretku tehnologije, Beowulf klaster je danas rasprostranjem po cijelome svijetu i koristi se za mnoga izračunavanja, što se može vidjeti i na TOP500.org.

Već 1997.godine, Beowulf klasa sistema od preko stotinu računara je dostigla ustaljeni režim rada od 10 gigaflopsa i time ušla u listu 500 najmoćnijih računara u svijetu.

ODRŽAVANJE BEOWULF KLASTERAKako raste broj čvorova, mora se obratiti pažnja na fizičku infrastrukturu. Cluster čvorovi troše struju i proizvode toplotu te zbog toga zahtjevaju odogovarajuće hlađenje. Clusteri zahtjevaju mrežno ožičenje, te unutar njega čvorovi moraju biti fizički povezani, tako da bi on mogao podržavati odgovarajuće izdržavanje.

Kada se želi napraviti cluster koji sadrži na stotinu čvorova, tada je potrebno napajanje koje zahtjeva desetak kilowata električne snage i dobro zračno hlađenje. Tako jako napajanje i dobro hlađenje godišnje koštaju oko desetak hiljada dolara.

Veze među pojedinim čvorovima unutar cluster-a moraju biti takve da omoguće da pojedini čvorovi budu ubačeni tj. izbačeni iz cluster-a. Prostorija mora biti takva da omogući izlazak toplog zraka i ulazak hladnog zraka te da omogući dobar raspored mrežnih i naponskih kablova.

Cijelo napajanje koje ulazi u sobu kroz ove električne kablove treba biti također i izbačeno iz sobe, i to obično sa jednim ili više jedinica za hlađenje. Toplina koja ostaje povećaju sobnu temperature, i računari ne podnose tropske uvjete.

Ako neki cluster koji ima samo jedan čvor troši 100 W dok radi, njegov rad košta između 100 $ i 150 $ u toku godine. Cluster koji ima 100 čvorova zahtijeva 10.000 $ tokom godine samo za pokrivanje troškova infrastructure, a mogao bi koštati i dvostruko više ukoliko cluster ima dual CPU čvorove koji zahtjevaju dodatno napajanje.

Drugi važan elemenat cluster management-a je nadgledanje čvorova. Linux je vrlo stabilan, ali se i on može srušiti naročito kada izvršava neku paralelnu aplikaciju koja sadrži jako puno

Page 8: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

memorije u tom trenutku. Centralna Procesorska Jedinica radi na vrhuncu, a mreža može da transmituje veliki broj složenih poruka. Dok je mogućnost da jedan čvor doživi hardverski pad u toku jednog dana dosta niska, mogućnost da jedan čvor ispadne iz clustera nije uopšte tako niska.

ZAKLJUČAKKlasteri se koriste odavno za istraživanja u fizici, hemiji, matematici, biologiji i statistici. Međutim, posljednjih godina, klasteri su se počeli koristiti i u ekonomiji, različitim medicinskim istraživanjima i računarskoj grafici.

Budući da su cijena i performanse glavni gradivni elementi kod klaster-a, treba očekivati pravu “poplavu” klaster-a baziranim na AMD procesorima, dok će za to vrijeme većina klaster-a baziranih na Intelovim procesorima ostati u trgovinama. Nije za odmet niti zaboraviti tehnički i marketinški utjecaj IBM-a.

Slika 11. Top 500 – Učestalost po arhitekturi [3]

Slika 12. Poruka klastera[5]

Page 9: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,

LITERATURA

[1]http://www.llnl.gov/computing/tutorials/parallel_comp/ (15.05.2012.)

[2]http://www.hacc.org/ger/hochverfuegbarkeit/komponenten/applikationsverfuegbarkeit/cluster/high_performance_cluster/ (15.05.2012.)

[3]www.wag.caltech.edu/PASI/lectures/PUJ- Building %20a%20 Beowulf %20 Class %20 Supercomputer %20(Intro). pdf (16.05.2012.)

[4]http://en.wikipedia.org/wiki/Computer_clusterhttp://en.wikipedia.org/wiki/Beowulf_(computing) (16.05.2012.)

[5]http://www.ibm.com/developerworks/linux/library/l-cluster1/ (16.05.2012.)

[6]http://ibiblio.org/pub/Linux/docs/HOWTO/archive/Beowulf-HOWTO.html (16.05.2012.)

[7]http://www.linux-mag.com/id/1378/ (16.05.2012.)

[8]http://www.linux-mag.com/id/1379/ (18.05.2012.)

[9]http://www.linux-mag.com/id/949/ (18.05.2012.)

[10]http://www.linux-mag.com/id/2147/ (18.05.2012.)

Page 10: unze.ba Zineta.docx · Web viewRačunarski klaster je skup usko povezanih računara koji rade zajedno tako da se mogu posmatrati kao jedan računar. Dijelovi klaster-a su obično,