cs2013 ar klaudkompjuting cs2013 ar klaudkompjuting l01

44
Lekcija 1 - Uvodna razmatranja

Upload: anonymous-excl3lnj

Post on 11-Jan-2016

22 views

Category:

Documents


7 download

DESCRIPTION

Cloud computing introduction

TRANSCRIPT

Page 1: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

Lekcija 1 - Uvodna razmatranja

Page 2: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | Contents | 2

Contents

LearningObject................................................................ 3Uvod................................................................................................................................ 3Uvodna razmatranja.........................................................................................................3Distribuirano računarstvo.................................................................................................5Farma servera.................................................................................................................. 8Uslužno računarstvo.........................................................................................................9Klaster računarstvo........................................................................................................ 11Istorijat klastera............................................................................................................. 12Tehnologije klastera....................................................................................................... 12Softver klastera.............................................................................................................. 13Klaster............................................................................................................................ 15Vrste klastera................................................................................................................. 18Grid računarstvo.............................................................................................................20Saradnja resursa u gridu............................................................................................... 22Grid okruženje................................................................................................................23EGI.................................................................................................................................. 24HPC računarstvo.............................................................................................................26Paralelno računarstvo.....................................................................................................27Paralelizam na nivou instrukcije.................................................................................... 28Paralelizam na nivou podataka......................................................................................29Paralelizam na nivou zadatka........................................................................................ 30Modeli paralelnog programiranja................................................................................... 31Tipovi paralelizma.......................................................................................................... 32Pojam klaud kompjutinga...............................................................................................34LearningSummary.......................................................................................................... 35

LearningObject.............................................................. 36Klaud komjuting osnove.................................................................................................36Upoznavanje sa procesom kreiranja virtualnih mašina................................................ 44

Page 3: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 3

LearningObject

Uvod

UvodOvo poglavlje predstavlja uvod u distribuirano računarstvo. Objašnjavaju se osnovnekarakteristike distribuiranog sistema, diskutuje tehnologije, korišćeni softver, daje uvodu uslužno, klaster, grid i klaud računarstvo.Nakon toga se detaljno analizira klasterračunarstavo uz diskusiju o karakteristikama, vrstama, tehnologijama i korišćenomsoftveru.Sledeća tema je je grid računarstvo uz analizu grid okruženja, EGI inicijative i HPCmetoda.Diskutuju se takođe razne teme iz oblasti paralelnog računarstva, tehnike i tipoviparalelizma.Na kraju se daju osnovni pojmovi klaud računarstva kao uvod u sledeće teme.

Uvodna razmatranja

Cilj• Uvodna razmatranja

Uvodna razmatranjaUvodna razmatranjaDanas su aktuelnii sledeći trendovi nu računarstvu:

• Uslužno računarstvo (engl. utility computing)• Klaster računarstvo (engl. cluster computing)• Grid računarstvo (engl. grid computong)

Sledeća tehnologija je klaud računarstvo.

DefinicijsaRačunarstvo (engl. computing)

U opštem smislu, računarstvo je bilo koja aktivnost koja je orijentisana prema nekom ciljupripri čemu se koriste računari ili se oni stvaraju. Računarstvo uključuje:

• Projektovanje i izgradnja hardvera i softvera sistema za širok spektar namjena• Obradu, strukturiranje i upravljanje različitim vrstama informacija• Kreiranje naučnih studija pomoću računara• Kreiranje računarkih sistema koji se inteligentno ponašaju• Kreiranje i korištenje medija za komunikaciju i zabavu

Definicija

... računarstvo jednoga dana može biti organizirana kao javno preduzeće poput telefonskogsistema. ...Računar može postati osnova nove i važne industrije.

John McCarthy ( profesor na MIT) 1961.

Page 4: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 4

Kao što znate, računarske mreže su još uvijek u povoju, ali kada one odrastu i postatusofisticirane, vjerojatno ćemo vidjeti i širenje računarskih usluga koja će, kao i sadašnjeelektrične i telefonske usluge, pru\ati usluge pojedinačnim domovima i kancelarije širomzemlje.

L. Kleinrock (jedan od rukovodilaca originalnog ARPANET projekta), 1969.

Računarsto postaje peta ulužna delatnost. radicionalne usluge su (Slika 1):• Voda• Electricitet• Prirodni gas• Telefonska mreža

Slika 1: Tradicionalne usluge

Računarstco se pretvara u model koji se sastoji od usluga koja postaju uslužna dobra (engl.commodity) i koja se dostavljaju na način sličan dostavljanju tradicionalnih komunalnihusluga.

Uslužna roba (engl. commodity) je predmet proizveden da bi zadovoljio želje i potrebe.Ekonomska uslužna dobra obuhvataju robu i usluge.

Page 5: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 5

Distribuirano računarstvo

Cilj• Upoznavanje sa konceptom distribuiranog računarstva

Distribuirano računarstvo

Distribuirano računarstvo (engl. distributed computing)Distribuirani sistem se sastoji od više samostalnih računara koji komuniciraju putemračunarske mreže. Računari međusobno djeluju sa namjerom da postignu zajednički cilj.Računarski program koji radi u u distribuiranom sistemu se zove distribuirani program idistribuirano programiranje je proces pisanja takvih programaTermin distribuirano računarstvo se koristi za oblast koja proučava distribuirane sisteme.Distribuirano računarstvo se također odnosi na korištenje distribuiranih sistema za rešavanjeračunarskih problema. U distribuiranom računarstvu se problem delii na više zadataka, pa sesvaki dio zadatka rešava na posebnom računaru.Korišćenje konkurentnih procesa koji komuniciraju prenošenjem poruka ima svoje korene ustudijama arhitektura OS iz 1960-tih godina. Prvi široko raspostranjeni distribuirani sistemi subile lokalne mreže, kao što je Ethernet koji je uveden u 1970-tim.ARPANET (engl. Advanced Research Projects Agency Network), prethodnik Interneta, jepredstavljen u kasnim 1960-tim, i ARPANET e-mail je uveden u ranim 1970-tim.E-mail je postao najuspješnija aplikacija ARPANET-a, i vjerovatno je najraniji primerdistribuirane aplikacije u velikim razmjerama. Dodatno, uz ARPANET i njegovog nasljednikaInternet, druge rane svjetske računarske mreže uključujuUsenet iFidoNet iz 1980-tih, i obje subile korištene za podršku distribuiranim sistemima za diskusiju.Slika 1 prikazuje logičku mapu ARPANETA iz 1977. godine.Studij distribuiranog računarstva postaje posbna grana računarskih nauka u ranim 1980-tim.E-mail je postao najuspješnija aplikacija ARPANET-a, i vjerovatno je najraniji primerdistribuirane aplikacije u velikim razmjerama. Dodatno, uz ARPANET i njegovog nasljednikaInternet, druge rane svjetske računarske mreže uključujuUsenet iFidoNet iz 1980-tih, i obje subile korištene za podršku distribuiranim sistemima za diskusiju.Studij distribuiranog računarstva postaje posbna grana računarskih nauka u ranim 1980-tim.

Page 6: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 6

Slika 1 Logička mapa ARPANETAAplikacije

Dva su glavna razloga za korištenje distribuiranih sistema i distribuiranog računarstva. Prvo,sama priroda aplikacija može zahtijevati korištenje komunikacijske mreže koja spaja nekolikoračunara. Na primjer, podaci se proizvode na jednoj fizičkoj lokaciji i potrebni su na drugojlokaciji.Drugo, mnogo je slučajeva u kojima je, u principu, moguće korištenje jednog računara,ali je korištenje distribuiranog sistema korisno iz praktičnih razloga. Na primjer, može bitiefikasnije dobiti željeni nivo performansi korištenjem klastera računara, sastavljenog odjeftinijih računara, u poređenju sa računarom visoke klase. Takođe, klaster može biti manjepodložan padu cijelog sistema, jer nema samo jednu kritičnu tačku. Takođe, takav klaster jejednostavnije nadograđivati. Primjeri distribuiranih sistema i aplikacija uključuju:telekomunikacione mreže:telefonske mreže i mrežu mobilne telefonijeračunarske mreže, kao što je Internetbežične senzorske mrežealgoritmi ruteramrežne aplikacije:WWW i mreža ravnopravnih računara (engl. peer-to-peer networks)masivne online igre velikog broja igrača, kao zajednice virtualne realnostidistribuirane baze podataka i distribuirani sisteme upravljanja bazama podatakamrežni datotečni sistemi

Page 7: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 7

distribuirane informacione procesne sisteme, kao što su bankarski sistemi i sistemirezervacije avionskih karatakontrola procesa u realnom vremenu:kontrolni sistemi avio-saobraćajaindustrijski kontrolni sistemiparalelno računanje:računanje u naučne svrhe, uključujući klastersko računanje i grid računarstvo, kao i raznodobrovoljno računanje, odnosno njihovi projektidistribuirano realistično prikazivanjei (engl. render) u računarskoj graficiSlika 2 daje razlike između distribuiranih (a i b) i paralelnih sistema (c).

Slika 2 Distribuirani i paralelni sistemiNajbrže distribuirane mreže su:Folding@HomeBOINCMilkyway@HomeCollatz ConjectureSETI@HomeEinstein@HomeGIMPS

Page 8: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 8

Farma servera

Cilj• Upoznavanje sa karakteristikama farme servera

Farma serveraFarma servera

Farma servera ili server klastera je skup računarskih servera koje0 obično održava preduzećeza ostvarenje potreba servera koje su daleko izvan sposobnosti jednog računara. Farmeservera se često sastoje od hiljada računara koji zahtijevaju veliku količinu energije za rad ipotrebno hlađenje. Na optimalnom nivou performansi, farma servera ima ogromne troškovepovezane s njom, i financijski i ekološki.

Farma server poslužitelja često ima backup servera, moji mogu preuzeti funkciju osnovnihservera u kvara primarnog servera. Server farme obično su kolocirane s mrežnim prekidačimai / ili ruterima koji omogućuju komunikaciju između različitih dijelova klastera i korisnikaklastera. Računari, routeri, izvori napajanja i odgovarajuća elektronika se obično montiraju na19-inčnim ormarima (engl. racks) u server sobi ili data centruSlika 1 prikazuje tipičnu farmu servera.

Slika 1: Farma servera

Aplikacije

Farma servera se obično koristi za klaster računarstvo. Mnogi savremeni superračunariuključuju divovske farme sa velikim brzinama procesora povezanih ili preko Gigabit Ethernetili prilagođenim vezama preko InfiniBand ili Myrinet. Web hosting je uobičajeno korišćenjefarme servera, ovakav sistem se ponekad nazivaja I Veb farma. Drugi načini korištenja farmi

Page 9: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 9

su naučne simulacije (kao što je dinamika fluida) i prikaz 3D kompjuterski generirsanogprikaza.Farma servera se češće koristi umjesto ili kao dodatak mainframe računara od strane velikihptrduzeća,mada farme servera još nisu dostigle isti nivo pouzdanosti mainframe računara.Zbog velikog broja računara na velikim farma, kvar jednog računarane je čest slučaj, priupravljanju farmom servera treba voditi računa o podršci:redundatnostiautomatskom preklapanju između dva servera “na vruće” (engl. automatic failover)brzoj rekonfiguraciji klastera servera

Performance

Performanse najvećih farmi servera (hiljade i više procesora) obično su ograničeneperformansama data centara u oblasti sistema hlađenja i to najviše ukupnom cenom utroškaelektrične energije troškova, manje performansama procesora. Računari u farmama serverarade 24/7 i troše velike količine električne energije.Iz tog razloga, parametar kritičkog dizajnaza velike i kontinuirane sisteme jr performanse po vatu, a ne trošak vršnih performansi ili(vrhunske performanse / (jedinica * početna cena)).Za visoku dostupnost sistema koji moraju raditi 24/7 (za razliku od superračunara koji moguda rade na zahtev, a takođe imaju tendenciju za mnogo većom iskorištenošću), pažnja se višestavlja na štednju energije i sposobnost da se isključe delova računaraa ili celi računar bezrušenja kvaliteta usluge.Prema nekim priračunima, za svakih 100 vati utrošenim na serverima, gotovo 50 vati jepotrebno za njihovo hlađenje. Island, koji ima hladnu klimu čitave godine uz jeftinu energijuna osnovu bazi geotermalne, gradi svoj prvi sajt. Položeni su optički kablovi između Islanda iSjeverne Ametike da omoguće kompanijama da lociraju svoje servere na Islandu

Uslužno računarstvo

Cilj• Upoznavanje sa uslužnim računarstvom

Uslužno računarstvo

Uslužno računarstvo (engl.utility computing)Uslužno računarstvo je proces pružanja računarskih uslugu putem na-zahtev, plati po-upotrebi način naplate. Uslužno računarstvo je model poslovnog računarstva u kojemponuđač posjeduje, upravlja i vodi računarsku infrastrukturu i resurse, a pretplatnici impristupaju, kada je potrebno na osnovu najma ili dozirano.Računarstvo osigurava osnovni nivo računarske usluge koja se smatra neophodnom dazadovoljiti svakodnevne potrebe korisnika. Korisnici usluge pristupaju uslugama na osnovunjihovih zahtjeva, bez obzira gdje se usluge nude i kako se dostavljaju. U budućnosti će seračunarski resursi nuditi kao kao dozirane uslugeInternet je bio kamen temeljac koji je omogućio individualnim kupcima da komunicirajusa bilo kojim računarom koji može biti lociran bilo gdje u svetu. Postoji više modela (engl.paradigm) kao što su su klaster računarstvo, grid računarstvo i klaud računarstvo, Slika 1.Novi modeli se predlažu i prihvataju tako da se približavamo viziji uslužnog računarstva (engl.computer utilities).

Page 10: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 10

Slika 1: Modeli računarstva

Danas postoji velika potreba za računarskom snagom. Rješavaju se veliki izazovi aplikacijapomoću računarskog modeliranja, analiza i simulacija. Postavljaj se pitanje kako da se bržiizvršavaju aplikacije. Postoje tri načina pobojšanja performans i to:

Raditi višeRaditi pametnijeDobiti pomoć

Analogija sa računarima izgleda kao:

Koristiti brži harverKoristiti optimizirane algoritme i tehnike za rešavanje računarskih zadatakaKoristi više račuanra za rešavanje određenog zadatka

80-tih godina računarske performanse su se poboljavale stvaranjem bržih i efikasnijihprocesora.U ranim 90-tim, pojavio se rastući trend odmicanja od skupih i specijalizovanihvlastitih paralelnih superračunala prema mrežama radnih stanicama.

Trend računarstva uključuje:Od specializovaih tradicionalnih superračunarskih platform do jeftinijih sistema opštenamenekoji se sastoje od labavo povezanih (engl. loosely coupled) komponenti koje su bilenapravljene od PC mašina sa jenim procesorom ili radnih stanica

Page 11: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 11

Jeftinije uslužno superračunarstvoPovezivati zajedno dva ili više računara da bi se zajedno rešilineki računarski problmeiPružanje visokih performansi računarskih objekata za velike aplikacije sa velikim izazovimaSlika 2 prikazuje uspone i padove računarskih tehnologija.

Slika 2: Usponi i padovi računarskih tehnologija

Klaster računarstvo

Cilj• Upoznavanje sa klaster računarstvom

Klaster računarstvoKlaster računarstvo (eng. cluster computing)

Računarskii klaster (engl. cluster) je skup usko povezanih računara koja rade zajedno tako daih korisnik vidi kao kao jedan računar.Dijelovi klastera su obično, ali ne uvijek, spojeni zajedno brzom lokalnom mrežom (LAN).Klasteri se koriste kako bi povećali performanse i/ili dostupnost iznad one kod jednogračunala, dok su, u principu, jeftiniji u usporedbi s jednim računalom istih karakteristika.

Page 12: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 12

Istorijat klastera

Cilj• Upoznavanje sa uslužnim računarstvom

Istorijat klasteraIstorijat klastera

Prvi komercijalni Klusterski proizvod bio je ARCnet, kojeg je razvio Datapoint 1977 godine.Arcnet nije komercijalno uspio, a tako ni klastersko računarstvo sve dok DEC nije izbacio VAXkluster proizvod, 1984. za VAX/VMS OS.

ARCnet i VAX klaster proizvodi nisu samo podržavali paralelno računarstvo, već sutakođe delili datotečne sisteme i periferne jedinice. Trebali su pružiti prednosti paralelnogprocesiranja, a u isto vrijemegarantovati i održavati pouzdanost i jedinstvenost podataka.

VAX kluster (sada VMS kluster) je još uvijek dostupan na HP-ovim Open VMS sistemima kojeizvršavaju Alpha i Itanium serveri.

Druga dva rana komercijalna klastera vrijedna spominjanja bila su Tandem Himalaya (širokodostupan proizvod, oko 1994.) i BM S/390 Parallel Sysplex (također oko 1994, poslovnaklasa).

Nijedna istorija uslužnog klastera (engl. commodity clustera) ne bi bila potpuna bezspominjanja velike uloge koju je odigrao razvoj PVM-a (engl. Parallel Virtual Machine), 1989.Ovaj software otvorenog koda je baziran na TCP/IP komunikacijski omogućenoj instantnojkreaciji virtualnog superračunala -- računalnog klastera visokih performansi -- koristeći bilokoje TCP/IP spojene sisteme.

Heterogeni klusteri slobodnog oblika izgrađeni na osnovu ovog modela su brzo dostizaliukupnu brzinu u FLOPS-ima koja je bila puno veća i od one dostupne sa skupim "big iron"superračunalima.

PVM i razvoj jeftinih umreženih PC-ja doveli su 1993 godine do NASA projekta izgradnjesuperračunala. 1995. Godine izbačen je klaster "beowulf" stila, s mogućnošću izvođenja uskopovezanih paralelnih HPC proračuna. Sa druge strane, Ovo je, zauzvrat, podstaklo nezavisanrazvoj Grid računarstva kao posebnog, iako su Grid klasteri poznati otkad je imenovan UNIXOS, Arpanet i klasteri koji su ih koristili.

Tehnologije klastera

Cilj• Upoznavanje sa tehnologijama klastera

Tehnologije klasteraTehnologije klasteraMPI je širokodostupna biblioteka za komunikaciju koja omogućuje paralelno programiranje uC, Fortran, Python i mnogim drugim programskim jezicima.

Page 13: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 13

GNU/Linux podržava raznolik klasterski software, kao što je:Beowulf, distcc, MPICH i ostali - uglavnom specijalizirane klasterske aplikacije. distccomogućava paralelno kompiliranje, kad je korišten s GCC-om. Slika prikazuje tipičnu Beowulfkonfiguraciju.

Slika 1 Beowulf konfiguracija

Linux Virtual Server, Linux-HA - klasteri koji omogućavaju u raspoređivanje dolaznih zahtjevaza uslugama preko više klasterskih čvorovaMOSIX, openMosix, Kerrighed, OpenSSI - klasteri integrisanii u kernel koji omogućujemigraciju procesa između homogenih čvorova. OpenSSI, openMosix i Kerrighed su single-system image implementacije.

Microsoft Windows Compute Cluster Server 2003 baziran na Windows Server platformi dajealate visokih performansi kao što su Job Scheduler, MSMPI library i upravljački alati.

NCSA's nedavno instaliran klaster Lincoln je klaster od 450 Dell PowerEdge™ 1855 bladeservera koji izvršavaju Windows Compute Cluster Server 2003. Klaster je predstavljen na#130 Top500 liste u sredinom 2006. godine.DragonFly BSD, nedavni fork FreeBSD-a 4.8 se redizajnira u srži da bi omogućio prirodnookruženje za klasterski rad. Također, pokušava postići single-system image mogućnosti.

Softver klastera

Page 14: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 14

Cilj• Upoznavanje sa softverom klastera

Softver klasteraSoftver klastera• BOINC - Berkeley Open Infrastructure for Network Computing• Gluster - The GNU Clustering Platform• Kerrighed• Linux-Cluster Project Global File System and HA• Linux Virtual Server• Linux-HA• Maui Cluster Scheduler• OpenSSI High-availability, load-balancing, and high-performance clustering with or without

a SAN.• OpenMosix• OpenSCE• Open Source Cluster Application Resources (OSCAR)• Rocks Cluster Distribution• Scali Manage• Sun Grid Engine• TORQUE Resource Manager• WareWulf• Windows Server 2003 R2 Enterprise Edition – Cluster Server

Softver naveden u Tabeli 1 je dostupan u svim Windows, Mac i Linux javnim klastera.Tabela 1 Klaster softver

Page 15: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 15

Klaster

Cilj• Upoznavanje sa pojmom klastera

KlasterKlaster

ČvorJedan ili multiprocessor sa memorijom, I/O podrškom i OS

Klaster• Jedan ili više računara (čvorova) koji su zajedno povezani• U jednom kabinetu ili fizički odvojeni i povezani preko LAN-a• Pojavljuju se korisniku i aplikaciji kao jedan sistem• Osigurati ekonomičan način za dobivanje mogućnosti i prednost

Slika 1 prikazuje veliki Linux klaste na Chemnitz University of Technology u Njemačkoj.

Page 16: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 16

Slika 1: Linux klaster

Slika 2 prikazuje izgled tipičnom klastera sa 64 čvora I 128 procesora.

Page 17: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 17

Slika 2: Primer klastera

Slika 3 prikazuje klaster sa raspoređivanjem opterećenja (eng. load balancing cluster) sa dvaservera i četiri korisnićke radne stanice.

Page 18: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 18

Slika 3 Klaster sa raspoređivanjem

Vrste klastera

Cilj• Upoznavanje sa vrstama klastera

Vrste klasteraVrste klasteraKlasteri visoke dostupnosti HA (engl. high-availability cluster)Klusteri velike dostupnosti se koriste se prvenstveno kako bi poboljšali dostupnost usluga kojecluster pruža. Rade na principu ponavljajućih čvorova, koji onda pružaju usluge kada zakažukomponente.

Page 19: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 19

Najčešća veličina HA cluster-a su 2 čvora, što je minimum za ponovljivost. ImplementacijomHA clustera pokušava se eliminirati pojedinačne točke kvarova upravljanjem ponavljanjem.Postoji mnogo komercijalnih implementacija HA clustera za mnoge operacijske sustave.Linux-HA projekt je najčešće korišten HA paket slobodnog sofvera a koristi Linux OS.Linux-HA (engl High-Availability Linux) projekat pruža visoku dostupnost (klustering) rješenjaza Linux, FreeBSD, OpenBSD, Solaris i Mac OS X koji promovi[e pouzdanost, dostupnost imogućnost servisiranja RAS , (engl. reliability, availability, and serviceability).Klasteri sa raspoređivanjem opterećenja (engl. load-balancing)Raspoređivanje opterećenja se može implementirati sa hardverom, softverom ili njihovomkombinacijom . Tipično, to je glavnih razloga za postojanje klastera računarskih server.http://searchcio-midmarket.techtarget.com/definition/load-balancingKlusteri za raspoređivanje opterećenja tako funkcionirajuo da svo opterećenje dolazi krozjedan ili više pristupnih (engl. front end) server te se onda raspoređuje na više pozadinskih(engl back end) servera.

Iako se primarno koriste kako bi poboljšali performanse, obično takođe uključuju i velikudostupnost (engl. high-availability) i sposobnosti koje proizlaze iz nje. Takav se clusterponekad naziva farma servera.

Postoji mnogo komercijalnih klusterai za raspoređivanje opterećenja uključujući Platform LSFHPC, Sun Grid Engine, Moab Cluster Suite i Maui Cluster Scheduler.Linux Virtual Server projektnudi nam uobičajeni softverski paket za LinuxOS.Klasteri visokih perfransi HP (eng. clusterivisokih performansi).

Slika 1 prikazuje klaster za raspoređivanje opterećenja sa dva servera i četiri korisničkestanice.

Page 20: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 20

Slika 1: Klaster sa raspoređivanjem opterećenjaKlasteri visokih performasi HPC (engl. High-Performance Cluster) služe prvenstveno zapovećavanje performansi raspoređivanjem računalnih zadataka na više raznih čvorova uklasteru, i najčešće su korišteni u znastvene svrhe. Najpopularnija HPC implementatcija jeklaster s čvorovima kojeg pokreće LinuxOS i slobodan software u korišten svrhu postizanjaparalelizma. Ovakva konfiguracija se često naziva Beowulf klaster. Takvi klasteri običnovrste posebne programe dizajnirane da koriste mogućnosti paralelizma HPC klastera. Mnogetakve aplikacije koriste bibliotekepoput MPI koja je napisana posebno za izvršavanje naučnihprograma na HPC-ima.HPC-i su optimizirani za rad koji zahtjeva komunikaciju između poslova ili procesa koji seizvršavaju na odvojenim računarskim čvorovima. Ovo uključuje proračune gdje međurezultatiračuanjednog čvora utiču na račun drugih čvorova.

Grid računarstvo

Page 21: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 21

Cilj• Upoznavanje sa grid računarstvom

Grid računarstvoGrid računarstvoMotivacijaNauka postaje sve više digitalna izahteva obradu džinovskih količina podataka. Fizikaelementarnih čestica je jedna od važnih naučnih disciplina koja koristi velike količineračunarskih resursa• Velike međunarodne kolaboracije• Velike količine podataka iz eksperimenata• Large Hadron Collider (LHC) u CERN-u sa 40 miliona sudara u sekundiGrid računarstvo je geografski distribuiran kompjuterski system baziran na deljenjuprocesorskih i skladišnih resursa analogono električnoj mreži. Karaketristike uključujuzajedničku upotrebu distribuiranih računarskih resursa (CPU, podaci, itd.) na sigurannačin, tako da korisnici mogu da sarađuju u okviru virtuelnih organizacija VO (engl.VirtualOrganization).Grid renačunarstvo ili grid klasteri je tehnologija usko povezana s kluster računarstvom.Glavna razlika između gridova i konvencionalnih klustera je to što gridovi obuhvaćaju skupračunala koja ne vjeruju u potpunosti jedan drugom i stoga rade manje kao jedno računalo.Takođe, gridovi obično podržavaju više heterogene skupove nego što su oni uobičajeni uklusterima.Grid računarstvo je namenjeno za rad s opterećenjima koja se sastoje od više nezavisnihposlova (eng. jobs) i paketa, koji ne trebaju razmjenu podataka jedni između drugih tokomprocesa izračuna.Gridovi služe za upravljanje poslovima na pojedinim računalima koji se izvršavaju nezavisnoo ostatku grid-klastera. Resursi poput kapaciteta za uskladištavanje mogu biti deljeni na svimčvorovima, ali međurezultati ne utječu na izvršavanje poslova na odvojenim čvorovima.Grid počiva na naprednom softveru, koji se zove midlver (engl. middleware) i koji povezujeresurse i aplikacije. Grid middleware nalazi odgovarajuće klastere na kojima aplikacijemogu da i budu izvršene i optimizuje upotrebu resursa. Takođe organizuje efikasan pristuppodacima i vodi računa o autentifikaciji korisnika na različitim klasterima. Ostale funkcijesu obezbeđenje izvršavanja simulacija i nadgledanje njihovog statusa, isporuka rezultatasimulacija naučnicima.Najrasprostranjeniji je gLite midlver koji koristi CERN LHC koji je implementirankolaborativnimnaporima više od 80 saradnika iz 12 različitih akademskih i industrujskihcentara u Evropi.

Slika 1:prikazuje grid resurse.

Page 22: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 22

Saradnja resursa u gridu

Cilj• Upoznavanje sa načinom saradnje u gridu

Saradnja resursa u griduSaradnja resursa u griduNačin organizacije je virtual organizacija VO Organization (VO), Slika 1.

Page 23: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 23

Slika1: Virtualna organizacija

VO je skup pojedinaca i / ili ustanova za koje su definisana pravila šta se deli i uslovi pod kojisenešto deli . Stvarna organizacija može učestvovati u više VO delenjem nekih ili svim svojihresursa.

Grid okruženje

Cilj• Upoznavanje sa grid okruženjem

Grid okruženjeGrid okruženje

Karakteristike grid okruženja su sledeće:• Resoursi su heterogeni, na primer, superračunari, sistemi za uskladištavanje podataka,

izvori podataka i nameski uređaji koje poseduju razlićiti administrativni domeni• Omogućava delenje, izbor, i grupisanje raznim geografski distribuiranih resursa• Koristi se za rešavanje problem To solve large scale resource-intensive problems in

science, engineering, and commerce• Koristi se za rješavanje problema velikih razmjera koji se odnose na resurse u nauci,

inženjerstva i trgovini• Hvaljeno kao sledeći revolucija nakon interneta i WWW.

Page 24: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 24

EGI

Cilj• Upoznavanje sa Evropskom grid inicijativom

EGIEGI-Evropska Grid Inicijativa

EGI.eu uključuje koordinaciju EGI-InSPIRE projekta u trajanju od od maja 2010 do aprila 2014.godine sa oko 350 sajtova i oko 400,000 CPU jedinica. Institut za fiziku Beograd predstavljaSrbiju u EGI SavetuSuperračunari: PRACE (u okviru Evropska HPC inicijative) uključuju:PRACE superračunariCURIE (2.0 PFlop/s)FERMI (1.2 PFlop/s)HERMIT (1.0 PFlop/s)JUQUEEN (5.9 PFlop/s)MareNostrum (1.0 PFlop/s)SuperMUC (3.2 PFlop/s)

Postoji i HP-SEE sa HPC inicijativom u jugoistočnoj Evropi.

Postoji i AEGIS ili Akademska i obrazovna Grid inicijativa Srbije, formirana 2005. godine (1100CPUs, 30 TB) u Institutu za fiziku, bazirana na PARADOX klasteru (7 TFlop/s, 50 TB).

Slika 1 ilustruje AEGIS inicijativu u Srbiji.

Page 25: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 25

Slika 1: AEGIS inicijativa u SrbijiSlika 2 prikazuje AEGIS resurse.

Slika 2: AEGIS resursi

Page 26: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 26

HPC računarstvo

Cilj• Upoznavanje sa HPC računarstvom

HPC računarstvoHPC računarstvo (engl. High Performane Computing)Polugodišnja lista 500 najjačih računala, organizacije TOP500, obično sadrži mnogo klustera.TOP500 je saradnja Univerziteta u Mannheimu, Univerziteta u Tennesseeju, i Nacionalnogračunarskog centra za istraživanje u Lawrence Berkeley nacionalnom laboratoriju.Od septembra 2006., najjači superračunar je IBM BlueGene/L system Odelenja za energiju(engl. Department of Energy) s performansom od 280.6 .Korišćenje klustera može dati velikeperformanse po manjoj cijeni.System X supercomputer na Virginia Tech, 28. po jačini računar na Zemlji od sredine2006, je 12.25 TFlops-a brz kluster sastavljen od 1100 Apple XServe G5 2.3 GHz-nihdvoprocesorskih računala (4 GB RAM, 80 GB SATA HD) koje pokreće Mac OS X a koristeInfiniBand interkonekciju.Kluster se u početku sastojao od G5 Power Macova, korištenih tako da smanje zauzećeprostora. Sveukupna cijena prethodnog Power Mac sistema bila je 5.2 miliona dolara, što jedesetina cijene sporijeg mainframe superračunala.Glavna ideja Beowulf klastera je korištenje komercijalno dostupnih računaraa u svrhuizgradnje jeftine alternative tradicionalnim superračunalima. Jedan od projekata koji je ovopotpuno iskoristio je Stone Soupercomputer.Slika 1 prikazuje Stone Soupercomputer.

Slika 1: Stone supercomputerIpak, treba naznačiti da FLOPs-i (engl. floating point operations per second), nisu uvijeksigurno meriloe računarske brzine. Klusteri mogu imati mnogo FLOPs-a, a biti u nemogućnosti(brzo) pristupiti svim podacima kao što je slučaj s pojedinačnim računarom. Stoga su klusteri

Page 27: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 27

idealni za paralelno procesiranje, ali mnogo slabiji nego superračunala kod ne-paralelnogprocesiranja.SETI@home projekt je vjerojatno najrašireniji raspodjeljeni kluster koji postoji. Koristi približno3 miliona kućnih računara u celom svijetu kako bi analizirao podatke radioteleskopa Ericibo ,u potrazi za vanzemaljskom inteligencijom.JavaSpaces je standard kompanije Sun Microsystemsa koji omogućava rad klastera računarapreko distribuirane deljene memorije.

Paralelno računarstvo

Cilj• Upoznavanje sa paralelnim računarstvom

Paralelno računarstvoParalelno računarstvoParalelno računarstvo je forma računatrstva u kojem se mnoga račuananja izvršavajuistovremeno. Veliki problem se često mogu podeliti na manja problem i lakše rešitikonkuretno (engl. concurrently). Prednosti ovakvog načina su efikasanost po ceni, visokeperformase i poboljšana iskorištenost.Slika1 prikazuje IBM Blue Gene/P paralelni superračunar.

Slika 1: Blue Gene paralelni superračunar

Slika 2 prikazuje tipični tok paralelnog izvršenja.

Page 28: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 28

Slika 2 Tipični tok paralelnog izvršenja

Ovaj tip obrade postoji u nekoliko oblika:

1. Paralelizam na nivou bita2. Paralelizam na nivou instrukcije3. Paralelizam na nivou podataka4. Paralelizam na nivou zadatka (engl. task parallelism)

Paralelizam na nivou instrukcije

Cilj• Upoznavanje sa paralelizmom na nivou instrukcije

Paralelizam na nivou instrukcije

Page 29: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 29

Slika1 prikazuje paralelna obrada podataka (engl. pipelining) sa pet stepeni pri operacijiizvršavanja instrukcija u RISC procesoru.

Slika 1: Paralelna obrada instrukcija

Date skraćenice označavaju različita stanja pri izvršavanju instrukcija:IF = Dohvaćanje instrukcije (engl. instruction fetch)ID = Dekodiranje instrukcije (engl. instruction decode)EX = Izvršenje instrukcije (engl. instruction execution)MEM = Pristup memoriji (engl. memory access)WB = Ponovno zapisivanje u registar (engl. register write)

Računarski program je u osnovi redosled instrukcija koje izvršava procesor. Ove instrukcijese mogu presložiti i kombinovati u grupe koje će se izvršiti paralelno bez menjanja rezultataprograma. To je poznato kao paralelizam na nivou instrukcije. Napredak u paralelizmu nanivoui instrukcija su dominirali računarskom arhitekturom od sredine 1980-ih do sredine1990-ih.

Moderni procesori imaju višestepene instrukcijske cjevovode (engl. pipe). Svaki stepenodgovara različitoj radnji koju procesor izvršava na instrukciji u tom stepenu. Drugimrečima, procesor sa N cjevovodnih stepena može imati do N različitih instrukcija u različitimstepenima izvođenja. Na primer procesor sa cevovodima je RISC procesor sa pet stepena:dohvaćanje instrukcije, dekodiranje, izvršavanje, pristup memoriji i zapisivanje nazad.Procesor Pentium 4 ima 35-stepenski cevovod.

Cevovodni superskalarni procesor sa pet stepeni je sposoban za izvršavanje dve instrukcija pociklusu. Može imati dvije instrukcije u svakom stepenu cjevovoda, ukupno do deset instrukcija(prikazano zeleno) istovremeno izvršanih.

Kao dodatak paralelizmu na nivou instrukcija sa cevovodom, neki procesori mogu izvršavativiše od jedne instrukcije istovremeno. To su superskalarni procesori. Instrukcije se mogugrupisatii zajedno, jedino ako ne postoji podatkovna ovisnost između njih. Semafor iTomasulov algoritam (sličan Semaforu ali koristi preimenovanje registara) su dvije najčešćetehnike implementacije izvršavanja van redoslijeda i paralelizma na razini instrukcija

Paralelizam na nivou podataka

Page 30: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 30

Cilj• Upoznavanje sa paralelizmom na nivou podataka

Paralelizam na nivou podatakaParalelizam na nivou podataka

Paralelizam na nivou podataka je svojstven programskim petljama, koje se fokusirajuna distribuciji podataka kroz različite čvorove za obradu u svrhu paralelne obrade.„Paralelizovanje petlji često vodi do sličnih (ne nužno identičnih) operacionih sekvenci ilifunkcija izvođenih na elementima velikih struktura podataka. Mnoge naućne i inženjerskeprimjene su izložene ovom tipu paralelizmu.Dat je sledeći pseudokod koji računa prvih nekoliko Fibonaccijevih brojeva:1: prev2 := 02: prev1 := 13: cur := 14: do:5: CUR := PREV1 + PREV26: PREV2 := PREV17: PREV1 := CUR8: while (CUR < 10)Ova petlja se ne može paralelizirati zato što CUR ovisi o seb i (PREV1) i PREV2 koji se računajuu svakoj iterativnoj petlji. Kako svaka iteracija ovisi o rezultatu prethodne iteracije navedenone može biti izračunato paralelno. Kako veličina problema raste, uobičajeno također raste ikoličina podatkovnog paralelizma.U višeprocesorskom sistemu koji izvršava jedan (engl. Single Instruction, Multiple DataSIMD), paralelizam podataka se postiže kada svaki procesor obavlja isti zadatak na različitimdelovima distribuiranih podataka. U nekim situacijama, jedna nit upravlja svim delovimapodataka. U drugima, različite niti upravljaju operacijom, ali sve izvšavaju isti kod.

Paralelizam na nivou zadatka

Cilj• Upoznavanje sa paralelizmom na nivou zadatka

Paralelizam na nivou zadatkaParalelizam na nivou zadatka

Paralelizam na nivou zadatka je karakteristika paralelnog programa koji „potpuno različitekalkulacije mogu se izvesti na istom ili različitom skupu podataka“.Ovo predstavlja suprotnost s paralelizmomna nivou podataka, gdje se ista kalkulacija provodina istim ili različitim skupovima podataka. Paralelizam na nivou zadatka uobičajeno ne rastesrazmjerno sa veličinom problema.U višeprocesorskom sistemu, paralelizam na nivou zadatka se postiže kada svaki procesorizvršava drugu nit (ili proces) na istim ili različitim podacima. Niti mogu izvšavati isti ili različiti

Page 31: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 31

kod. U opštem slučaju, različite niti komuniciraju jedna s drugom kada rade. Komunikacija seobično odvija prolaskom podataka iz jedne niti u drugu kao dio proces rada (engl. workflow).U SPMD (engl. Single Program, Multiple Data) je tehnika za postizanje paralelizma. Zadacisu podeljeni i pokrenuti istovremeno na više procesora s različitim ulazima da bi dobili bržerezultate. SPMD je najčešći stil paralelnog programiranja. To je i preduslov za istraživanjekoncepata kao što je distribuirana zajednička memorija.

Modeli paralelnog programiranja

Cilj• Upoznavanje sa modelima paralelnog programiranja

Modeli paralelnog programiranjaModeli paralelnog programiranjaParalelni programski model je skup softverskih tehnologija za iskazivanje paralelnihalgoritama i mapiranja aplikacija sa osnovnim paralelnim sistemomKoristi se Flynn’s taxonomy i zajednička memorija (engl. shared-memory) ili modeldistribuirane memorijeFlynnova taksonomija (engl. Flynn's Taxonomy)Michael J. Flynn je načinio jednu od najranijih klasifikacija sistema za paralelne i sekvencijalneračunare i programe, danas poznatijom kao Flynnova taksonomija. Flynn je klasificiraoprograme i računala po tome rade li upotrebom jednog ili više seta instrukcija te koriste liinstrukcije jedan ili više seta podataka.

Slika 1: Flynnova taksonomijaKlasa jedna-instrukcija-jedan-podatak SISD (engl. Single Instruction Single Data) jeekvivalentna potpuno sekvencijalnom programu.

Klasa jedna-instrukcija-više-podataka SIMD (engl. Single Instruction Multiple Data) je analognaizvršavanju iste operacije ponavljanjem kroz velike setove podataka.Opisano se često koristikod aplikacija za procesiranje signala.

Klasa više-instrukcija-jedan-podatak MISD (engl. Multiple Instruction Single Data) je rijetkokorištena. Kada se otkriju računalne arhitekture koje tako funkcioniraju (sistolička polja),materijalizirat će se nekoliko primjena koje spadaju u tu grupu.

Više-instrukcija-više-podataka MIMD (engl. Multiple Instruction Multiple Data) programa sunajčešći tip paralelnih programa.Može se uvesti i slučaj jednog programa sa više podataka SPMD (engl.Single Program MultipleData), Slika , što je slično SIMD (single instruction multiple data)

Page 32: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 32

Slika 2: SPMD model

Tipovi paralelizma

Cilj• Upoznavanje sa tipovima paralelizma

Tipovi paralelizma

Tipovi paralelizmaPostoje dva osnovna modela paralelizma, model deljene (engl. shared memory model) idistribuirane memorije (engl. distributed memory model).

Model deljene memorijeMemoriji mogu istovremeno pristupiti više procesa s namerom osiguraju komunikaciju međunjima ili da se izbjegnu suvišne kopije. Slika 1 prikazuje model deljene memorije.

Page 33: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 33

Slika 1: Model deljene memorijeModel distribuirane memorijeVišeprocesorski računarski sistem u kojem svaki procesor ima vlastitu memoriju. Računarskizadaci se mogu izvršiti samo na lokalnim podacima, a ako su potrebni udaljeni podaci,računarski zadatak mora komunicirati s jednom ili više udaljenih procesora. Slika 2 prikazujemodel distribuirane memorije.

Slika 2: Model distribuirane memorije

MPI sistem (engl.Massage Passing Interface) je specifikacija koja računarima omogućava dakomuniciraju jedni s drugima. Koristi se prosljeđivanje poruka za sinhronizaciju

Kod distribuiranog memorijskog modela svi računari su povezani mrežom međusobnogpovezivanja, Slika 3.

Page 34: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 34

Slika 3: Mreža povezivanja računara

Pojam klaud kompjutinga

Cilj• Upoznavanje klaud kompjutinga

Pojam klaud kompjutingaPojam Klaud kompjutingaKlaud kompjuting (engl. cloud computing) predstavlja isporuku računarskih resursa iskladišnih kapaciteta kao uslugu za heterogenu grupu krajnjih korisnika. Koncept klaudkompjutinga se oslanja na deljenje resursa preko mreže, najčešće Interneta. Krajni korisnicipristupaju aplikacijama u oblaka preko veb pretraživača, ali desktop aplikacije na mobilnomtelefonu, dok se softver i korisnički podaci nalaze na serviod rama na udaljenoj lokaciji.]

Postoje tri osnovna tipa klaud kompjutingSoftver kao usluga, SaaS (engl. Software as a Service)Platforma kao usluga, PaaS (engl. Cloud Platform as a Service)Infrastruktura kao usluga, IaaS (engl. Cloud Infrastructure as a Service)Osnovu računarstva u oblaku čine konvergentna infrastruktura, koju čine različite ITtehnologije povezane u jednu logičku i funkcionalnu celinu, kao apstrakcija fizičkih resursavitruelizacijom, kao i deljenje resursa.]

U modelu računarskog oblaka razlikujemo dva odvojena dela sistema eksterni (engl. frontend), koji je korisnički deo i obuhvata sve delove infrastrukture koji su pod kontrolomkorisnika kao i sam način pristupa korisnika usluzi,i zadnji deo (engl. back end), koji obuhvatainfrastrukturu klaud provajdera.Zagovornici klaud kompjutinga tvrde da ovaj model dozvoljava preduzećima da podignu ikoriste aplikacije mnogo brže, sa boljom kontrolom i manje održavanja, što omogućava ITsektoru preduzeća da brže i efikasnije ispuni promenjive i nepredvidive zahteve poslovanja.

Slika 1 ilustruje strukturu klaud kompjutinga.

Page 35: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 35

Slika 1 Struktura klaud kompjutinga

LearningSummary

Page 36: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 36

LearningObject

Klaud komjuting osnove

Cilj• Cilj vežbe je da student stekne osnovna znanja o klaud kompjutingu i načinima

virtualizacije.

Uvod u klaud kompjuting

Klaud kompjuting postaje jedan od sve primenjenijih oblika računarstva, pri čemu se čestokao glavne prednosti navode smanjeni troškovi održavanja, dostupnost i jednostavnostkorišćenja. Da bi smo shvatili u stvari šta je, koja je ideja iza klaud kompjutinga, treba danapravimo osvrt ka prošlosti.

Sredinom XX veka, dominantan oblik računarstva je bilo terminalno računarstvo (slika1). Korisnici su se preko terminala povezivali sa glavnim računarom, mejnfrejmom (engl.mainframe) od kojeg su dobijali određeno procesorsko vreme radi realizacije zadataka. Ovimnačinom se smanjivao prazan hod u radu i postizala veća, bolja iskorišćenost. U to vreme,računari su bili izrazito skupi i nije bilo moguće da prosečan građanin poseduje svoj kompjuterbez većih ulaganja. Početkom 80-desetih i 90-desetih dolazi do razvoja personalnih računara ipotreba za terminalnim računarstvom se smanjuje.

Page 37: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 37

Slika 1: Počeci klaud kompjutinga: terminalno/mejnfrejm računarstvo

Kako je vreme teklo, performanse računara su se poboljšavale a cena komponenti je padala.Sa sve jačim hardverom, došlo do je stvaranja praznog hoda u radu (npr. moderni procesorikoriste tek oko 2-5% snage za puštanje mp3 fajla, što bi bilo 80-90% neiskorišćenostiprocesora, sa sistemskim procesima). Postavilo se pitanje da li je moguće povećatiiskorišćenost računara, imati neki sistem koji omogućuje napredno upravljanje hardverskimresursima i korak dalje, dodeljivati tačno određenu količinu hardverskih resursa korisnicimana osnovu njihovih potreba. Primena klaud kompjutinga je odgovor na ova pitanja.

Modeli klaud kompjutinga

U zavisnosti od primene klaud sistema možemo da identifikujemo različite modele korišćenja.Klaud možemo da koristimo za čuvanje podataka, dizanje (virtualnih) servera ili daiznajmljujemo usluge nekog specifičnog servisa (npr. Office365). Postoje tri glavna modelaklaud kompjutinga (slika 2):• Infrastructure As A Servise ( IAAS ) podrazumeva iznajmljivanje hardverskih resursa i

operativnih sistema• Platform As A Service ( PAAS ) obuhvata korišćenje već dostupnog rešenja za razvoj

sopstvenih aplikacija• Software As A Service ( SAAS ) predstavlja iznajmljivanje nekog softvera

Page 38: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 38

Slika 2: Modeli klaud kompjutinga i njihovi korisnici

Neki od bolje poznatih IAAS provajdera su:Amazon Web Services (AWS), u okviru kojih se se nalaze Amazon EC2, S3: http://aws.amazon.com/

Microsoft Azure: https://azure.microsoft.com/en-us/

Google Compute Engine: https://cloud.google.com/compute/

Neki od PAAS provajdera:Apprenda (platforma za efikasniji razvoj i održavanje aplikacija): http://apprenda.com/platform/

Appistry (jedna od specijalizacija je pružanje platforme za medicinska istraživanja) : http://www.appistry.com/

GridGain: http://gridgain.com/

OpenShift (RedHat PAAS): https://www.openshift.com/products

Što se tiče SAAS modela, mnoge web aplikacije i servisi u stvari predstavljaju primenuSAAS modele, među kojima su: Google Gmail, Twitter, Facebook, Flickr i mnogi drugi. Međunajčešće korišćenim besplatnim klaud sistemima spadaju online office sistemi od kojih bitrebalo istaći:Zoho: https://www.zoho.com/mail/online-office-apps.html

Page 39: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 39

Google (ima ceo sistem za obradu office fajlovima): http://www.google.com/enterprise/apps/business/products/docs/

Prema načinu korišćenja, možemo da razlikujemo privatne, javne i hibridne klaud sisteme.Privatni klaud sistemi se najčešće koriste za izgradnju data-centara, virtualnih servera saaplikacijama za specifične potrebe neke organizacije. Javni klaud sistemi pružaju kvalitetnuosnovu za aplikacije koje imaju veliki broj korisnika i potrebno je da se osigura dostupnost ibrzina rada. Hibridni predstavljaju kombinaciju privatnih i javnih klaud sistema.

Virtualizacija i klaud kompjutingVirtualizacija je tehnika kojom na osnovu postojećih hardverskih resursa formiramo virtualneresurse, npr. virtualni CPU, RAM, HDD, NIC. U okviru klaud kompjutinga podrazumevakreiranje virtualnih mašina sa unapred određenom količinom virtualnih resursa. Kod klaudsistema za upravljanje tim virtualnim mašinama se koriste neki od već postojećih hipervizora(ili Virtual Machine Monitor, VMM):• Kernel-based Virtual Machine (KVM) http://www.linux-kvm.org/page/Main_Page

Virtualizaciono rešenje razvijeno za Linux operativne sisteme. Podržava širok spektar guestoperativnih sistema kao što su: Windows, Linux, BSD, Solaris, ReactOS i druge. Za pokretanjeKVM virtualizacije je potreban procesor sa mogućnošću hardverske virtualizacije.• Citrix XenPostoji open-source (link: www.xenproject.org/ ) i komercijalna verzija ( link: http://www.citrix.com/products/xenserver/overview.html ). Poznat kao stabilan i funkcionalanhipervizor, podržava operativne sisteme kao što su Linux, Windows, NetBSD.• VMware (ESX) http://www.vmware.com/products/esxi-and-esx/overview

VMware je napoznatije komercijalno virtualizaciono rešenje. Podržan širok spektar operativnihsistema i napredna podrška hardverske virtualizacije.

Na tim virtualnim mašinama moguće je instalirati željeni operativni sistem ili nekispecijalizovani softver i kao takve ih dodeliti korisnicima. Klaud sistemi, pored upravljanjavirtualnim mašinama uz pomoć hipervizora, mogu sadržati ili se nadograditi dodatnimfunkcionalnostima kao što je praćenje korišćenja procesorskih (hardverskih) resursa i naplataistih, udaljeno upravljanje virtualnim mašinama pomoću npr. SSH protokola ili grafički prikazpomoću VNC ili Spice protokola. Neki od danas popularnih open-source klaud sistema, tj.sistema za upravljanje klaud-om:• OpenNebula http://opennebula.org/• OpenStack http://www.openstack.org/• CloudStack http://cloudstack.apache.org/• Eucaliptus https://www.eucalyptus.com/• OpenVZ http://openvz.org/Main_Page

Treba obratiti pažnju na hardverske zahteve virtualizacije, odnosno koje virtualizacionetehnike procesor sa kojim radimo podržava. Prvo treba da se utvrdi da li je procesor umogućnosti da virtualizuje 64bitne instrukcije, odnosno da li ima mogućnost hardverskevirtualizacije. Ovi procesori će obično u BIOS-u imati opciju za hardversku virtualizaciju. Akoje hardverska virtualizacija podržana, možemo još proveriti da li procesor ima mogućnostugnježdene virtualizacije (nested paging). Ova tehnika nam omogućuje virtualizaciju uvirtualizaciji, što pomaže prilikom testiranja npr. hipervizora.

Primer kreiranja virtualne mašine uz pomoć VirtualBox-a

Page 40: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 40

Da bi smo stekli ideju kako se kreiraju virtualne mašine, demonstriraćemo proces uz pomoćbesplatnog, open-source alata VirtualBox.

Za realizaciju ovog primera ću koristiti 32-bitnu instalaciju Linux Lubuntu (derivat Ubuntu)operativnog sistema.Na slici 3 vidimo početni interfejs VirtualBox programa.

Slika 3: Početni ekran VirtualBox softvera

Da bi smo kreirali novu virtualnu mašinu, kliknemo na dugme „New“ ili preko „Machine ->New“. Potrebno je da definišemo tip operativnog sistema (Windows, Linux, BSD ili drugi) iarhitekturu koju koristi (32-bitnu x86 ili 64-bitnu x86_64) (slika 4).

Page 41: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 41

Slika 4: Dodela imena, definisanje tipa i arhitekture operativnog sistema

Potrebno je da dodelimo željenu količinu RAM memorije (slika 5) i veličinu virtualnog harddiska mašini (slike 6, 7, 8 i 9).

Slika 5: Dodela RAM memorije mašini

Page 42: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 42

Slika 6: Kreiranje virtualnog hard diska (1)

Slika 7: Kreiranje virtualnog hard diska (2) – biranje tipa formata HDD-a

Page 43: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 43

Slika 8: Kreiranje virtualnog hard diska (3) – možemo odmah da alociramo prostor ili da sedinamički širi

Slika 9: Kreiranje virtualnog hard diska (4) – odabir veličine HDD-a

Pritiskom na dugme otvoriće se novi prozor koji će predstavljati grafički interfejs ka virtualnojmašini. Sada preostaje samo da instaliramo operativni sistem za koji smo se odlučili napočetku podešavanja virtualne mašine.

Page 44: CS2013 AR KlaudKompjuting CS2013 AR KlaudKompjuting L01

 | LearningObject | 44

Upoznavanje sa procesom kreiranja virtualnih mašina

Opis domaćeg zadatka 01Cilj domaćeg zadatka1. Instalirati Oracle VirtualBox2. Odabrati neki open-source operativni sistem i napraviti virtualnu mašinu pomoću

VirtualBox-a ( predlog: pogledajte sajt koji prati aktuelne open-source operativne sistemeDistroWatch http://distrowatch.com/ )

3. Prikazati funkcionalnost instalacije: proces kreiranja virtualne mašine (naziv, arhitektura,ram, virtualni hdd i druga podešavanja ako ste primenjivali), tok instalacije OS-a i rezultatinstalacije (snapshot funkcionalnog instaliranog OS-a u okviru VirtualBox-a).

4. Ispobajte VMware Workstation (link za trial verziju: http://www.vmware.com/products/workstation/workstation-evaluation?rct=j&q=&esrc=s&source=web&cd=1&ved=0CB0QFjAA&url=http://www.vmware.com/go/tryworkstation&ei=ITosVPrNGaSvygPsgoKADA&usg=AFQjCNFazeuEILUB-EcUfYSqfJ61G42hYQ&bvm=bv.76477589,d.bGQ&cad=rja ili nađite preko nekog drugogizvora) – napravite virtualnu mašinu sa proizvoljnim operativnim sistemom uz pomoćVMware Workstation-a i napišite šta smatrate prednostima a šta manama u odnosu naVirtualBox

Pripremiti izveštaj sa odgovarajućim snapshot slikama. Izveštaj pripreti u skladu sa template-om za pisanje domaćih zadataka.Domaći zadatak je potrebno dostaviti na sledeći mejl: [email protected]

Naslov mejla treba da bude:CS2013-DZ01-Ime-Prezime-BrojIndeksa