Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am...

68

Transcript of Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am...

Page 1: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Univerza v Ljubljani

Fakulteta za ra£unalni²tvo in informatiko

Dejan Ambru²

Visoko zmogljivo ra£unanje v oblaku

Windows Azure

DIPLOMSKO DELO

VISOKO�OLSKI STROKOVNI �TUDIJSKI PROGRAM

PRVE STOPNJE

RA�UNALNI�TVO IN INFORMATIKA

Mentor: izr. prof. dr. Uro² Lotri£

Ljubljana, 2013

Page 2: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Rezultati diplomskega dela so intelektualna lastnina Fakultete za ra£unalni²tvo in informatiko

Univerze v Ljubljani. Za objavljanje ali izkori²£anje rezultatov diplomskega dela je potrebno

pisno soglasje Fakultete za ra£unalni²tvo in informatiko ter mentorja.

Besedilo je oblikovano z urejevalnikom besedil LATEX.

Page 3: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,
Page 4: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Izjava o avtorstvu diplomskega dela

Spodaj podpisani Dejan Ambru², z vpisno ²tevilko 63050001, sem avtor diplomskega

dela z naslovom:

Visoko zmogljivo ra£unanje v oblaku Windows Azure

S svojim podpisom zagotavljam, da:

� sem diplomsko delo izdelal samostojno pod mentorstvom izr. prof. dr. Uro²a Lotri£a,

� so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.)

ter klju£ne besede (slov., angl.) identi£ni s tiskano obliko diplomskega dela

� sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki �Dela FRI�.

V Ljubljani, dne 10. januarja 2013 Podpis avtorja:

Page 5: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Za pomo£ pri diplomskemu delu bi se rad zahvalil vsem, ki so mi pomagali pri izdelavi

dela, ²e posebej mentorju izr. prof. dr. Uro²u Lotri£u in materi Alenki Rozman.

Page 6: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Druºini

Page 7: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Kazalo

Povzetek

Abstract

1 Uvod 1

2 Ra£unalni²tvo v oblaku 3

2.1 Delovanje in uporaba storitev v oblaku . . . . . . . . . . . . . . . . . . . . 3

2.1.1 Storitve IaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.2 Storitve PaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.3 Storitve SaaS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Windows Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Pregled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.2 Storitve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 Visoko zmogljivo ra£unanje . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3.1 Windows HPC Server in Windows Azure . . . . . . . . . . . . . . . 9

2.3.2 Kombinacija ra£unanja v oblaku z ra£unanjem v lastni²kih prostorih 14

2.3.3 Ra£unanje zgolj v oblaku . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Namestitev storitve v oblaku Windows Azure 17

3.1 Priprava sistema za virtualizacijo . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Nastavitve glavnega ra£unalnika . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.1 Namestitev operacijskega sistema . . . . . . . . . . . . . . . . . . . 18

3.2.2 Nastavitev omreºja . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.3 Nastavitev poverilnic . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.4 Nastavitev poimenovanja novih ra£unalnikov . . . . . . . . . . . . . 19

3.3 Nastavitev ra£una v oblaku Windows Azure . . . . . . . . . . . . . . . . . 20

Page 8: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.3.1 Namestitev certi�kata . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.3.2 Kreiranje gostujo£e storitve in diskovnega ra£una . . . . . . . . . . 20

3.4 Nastavitve delovne vloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4.1 Izdelava slike za delovno vlogo . . . . . . . . . . . . . . . . . . . . . 22

3.4.2 Dodajanje slike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4.3 Nalaganje slike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Kreiranje predloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 Izvajanje aplikacij 33

4.1 Zagon ra£unalnikov v gru£i . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Ureditev okolja za test aplikacije . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3 Test sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4 Rudarjenje besedil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.4.1 Analiza meritev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5 Zaklju£ek 53

Page 9: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Povzetek

Visoka zmogljivost, varnost, zanesljivost, prilagodljivost, zdruºljivost, predvsem pa eko-

nomi£nost, so razlogi, da postaja ra£unanje v oblaku v zadnjem £asu vedno bolj pri-

ljubljeno in se vse bolj uporablja tudi v poslovnem svetu. V resnici nam ra£unalni²tvo

v oblaku ponuja ²e mnogo ve£. Z uporabo virtualnih ra£unalni²kih gru£ nam omogo£a

visoko-zmogljivo ra£unanje, s tem pa odpira nove moºnosti pri zagotavljanju ra£unalni²ke

podpore za poslovni in javni svet.

V diplomskem delu opisujemo namen uporabe oblakov, njihovo strukturo, prednosti, pa

tudi nekatere slabosti. Osredoto£ili smo se na Windows Azure, ki ga ponuja podjetje Mi-

crosoft in bolj podrobno predstavili njegovo kon�guracijo. V drugem delu diplome pred-

stavljamo prakti£ni primer uporabe tega ra£unalni²kega okolja. Opisujemo na£in pristopa

z odpiranjem ra£una v oblaku Windows Azure in postopek namestitve ter ureditve nasta-

vitve sistema, v katerem smo naredili test delovanja aplikacij v na£inu visoko-zmogljivega

ra£unanja. Moºnost dinami£nega dodajanja in odstranjevanja ra£unalnikov in enosta-

ven na£in upravljanja nas je prepri£al, da je uporaba tak²nega sistema smiselna tudi z

vidika vzdrºevanja in zagotovo prina²a ²tevilne prednosti v primerjavi s stacionarnimi

ra£unalni²kimi sistemi.

Page 10: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Abstract

High performance, security, availability, scalability, �exibility and lower costs of mainte-

nance have essentially contributed to the growing popularity of cloud computing in all

spheres of life, especially in business. In fact cloud computing o�ers even more than this.

With usage of virtual computing clusters a runtime environment for high performance

computing can be e�ciently implemented also in a cloud.

There are many advantages but also some disadvantages of cloud computing, some of

them are addressed in our thesis, mainly regarding to the Microsoft's public cloud com-

puting platform Windows Azure. We describe the underlying infrastructure and software

con�guration as well as its functions and server usage charges.

In the second part we describe how to set up a Windows Azure account and con�gure

it for high-performance computing and also how to run many virtual machines simulta-

neously using HPC Cluster Manager. Dynamic resource allocation, improved �exibility,

broad network access, performance enhancements as well as business bene�ts convinced us

there are many bene�ts of cloud computing comparing to the on-site computing resources.

Page 11: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Poglavje 1

Uvod

Storitve v oblaku so primerne tako za manj²a, kot za velika podjetja. Majhna in nova

podjetja si z njimi lahko privo²£ijo storitve, ki bi jim bile sicer zaradi visokih stro²kov

uvedbe in dragega vzdrºevanja nedostopne, velika podjetja pa si z njimi zagotovijo ve£jo

varnost, integracijo in skladnost informacijskih sistemov. Z uvedbo re²itev v oblaku pod-

jetju ni potrebno name²£ati visoko-razpoloºljivih streºni²kih gru£, ki poleg drage uvedbe

in vzdrºevanja zahtevajo dodatne stro²ke prostora, energije in hlajenja. Bistvenega po-

mena za vse vrste podjetij je ekonomi£nost, saj se procesorske in pomnilni²ke kapacitete

lahko dodajajo glede na dejanske potrebe in ni nevarnosti, da jih zmanjka, niti jih ni po-

trebno kupovati na zalogo. Visoka razpoloºljivost in zanesljivost sta med pomembnej²imi

lastnostmi storitev v oblaku.

Storitve v oblaku pa postajajo zanimive ²e iz enega razloga � omogo£ajo namre£ visoko-

zmogljivo ra£unanje, prav to pa je danes ²e kako potrebno. Informacijski sistemi in po-

samezne aplikacije obdelujejo vse ve£je koli£ine podatkov, na osnovi £esar se sprejemajo

poslovne odlo£itve ali napovedujejo vremenski pojavi, ki lahko obvarujejo ljudi pred ka-

tastrofami. Skratka, potrebe po visoko-zmogljivem ra£unanju so iz dneva v dan ve£je in

ljudje si izmi²ljajo nove in nove naloge na podro£jih tehnolo²kega razvoja in znanosti, pa

tudi pri pove£evanju kvaliteti ºivljenja in zagotavljanju zdravja in varnosti. �e pred ne-

kaj leti je bilo visoko-zmogljivo ra£unanje predrago za navaden poslovni svet, z razvojem

ra£unalni²kih tehnologij in arhitektur pa je postalo dosegljivo tudi v teh sferah ºivljenja

in s tem postalo tudi konkuren£na prednost pred manj zmogljivimi sistemi.

V prvem delu diplomske naloge bomo opisali storitve v oblaku, njihovo delovanje in upo-

rabo. Predstavili bomo tri najbolj tipi£ne oblike storitev, ki so danes v uporabi, to so

infrastruktura kot storitev, ra£unalni²ki sistem kot storitev in programi kot storitev. Osre-

1

Page 12: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2 POGLAVJE 1. UVOD

doto£ili se bomo na storitve Windows Azure, saj so sistemi Windows med najbolj raz²ir-

jenimi sistemi tako v Sloveniji, kot tudi v svetu. Na kratko bomo povzeli pregled njihovih

storitev in funkcionalnosti. Osrednji del na²ega diplomskega dela je visoko-zmogljivo ra-

£unanje v oblaku, ki ga bomo preko sistema HPC predstavili bolj natan£no. Razloºili

bomo, kje so prednosti ra£unanja v oblaku in kak²ne so moºnost kombinacije s programi

na stacionarnih lokacijah. Mnoga podjetja imajo namre£ vrsto programov, ki jih upora-

bljajo v podporo svojim poslovnim procesom in jih ne morejo £ez no£ zamenjati, nekateri

med njimi pa se iz dolo£enih razlogov celo morajo izvajati lokalno. V nadaljevanju bomo

predstavili ²e konkretni postopek priprave sistema za uporabo storitev Windows Azure.

Opisali bomo, kako je potrebno pripraviti sistem za virtualizacijo, urediti nastavitve ra-

£unalni²ke gru£e z glavnim ra£unalnikom in ra£unom v oblaku, nato pa ²e kako pripraviti

predloge, s pomo£jo katerih se lahko popolnoma samodejno aktivira potrebno ²tevilo ra-

£unalnikov z ºelenimi operacijskimi sistemi in programi, ki se zaganjajo in ustavljajo ob

vnaprej pripravljenih terminih.

Page 13: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Poglavje 2

Ra£unalni²tvo v oblaku

Ra£unalni²tvo v oblaku je storitev, ki uporabnikom preko omreºja zagotavlja dostop do

ra£unalni²kih virov, kot so omreºja, streºniki, pomnilni²ki viri, aplikacije in razli£ne sto-

ritve, pri £emer je dodajanje in spro²£anje teh virov hitro in enostavno.

2.1 Delovanje in uporaba storitev v oblaku

Oblaki torej skupini kon£nih uporabnikov v obliki storitve nudijo procesorsko mo£ in

prostor za shranjevanje podatkov. Oskrbujejo jih s storitvami, programsko opremo in

zagotavljajo ra£unanje preko omreºja. V osnovi se tako imenovane storitve v oblaku delijo

na tri modele, ki jih bomo v nadaljevanju na kratko predstavili in sicer, infrastruktura

kot storitev (ang. Infrastructure as a Service, IaaS), ra£unalni²ki sistem kot storitev (ang.

Platform as a Service, PaaS), in programi kot storitev (ang. Software as a Service, SaaS).

2.1.1 Storitve IaaS

Infrastruktura kot storitev (ang. Infrastructure as a Service, IaaS) je najbolj osnovni

model storitve v oblaku. Zagotavlja ra£unalnike kot �zi£ne ali ²e bolj pogosto, virtu-

alne ra£unalnike, s pomnilni²kimi in procesorskimi kapacitetami ter osnovnimi omreºnimi

storitvami. Virtualni ra£unalniki te£ejo preko modulov za upravljanje virtualnih ra£u-

nalnikov (ang. hypervisor) kot gostujo£i ra£unalniki in prav zdruºevanje in upravljanja

ve£jega ²tevila tak²nih modulov s pomo£jo operativne podpore v oblaku zagotavlja raz-

²irljivost in podporo velikemu ²tevilu virtualnih ra£unalnikov. Zagotovljeni so ²e drugi

viri, knjiºnice slik, diskovne kapacitete v datote£ni ali blokovni obliki, poºarni zidovi,

izena£evanje porabe, naslovi IP, omreºja VLAN in sveºnji programske opreme. Zani-

3

Page 14: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

miva je storitev izena£evanja porabe, ki omogo£a enakomerno razporeditev obremenitve

med ra£unalniki. Strojna oprema se �zi£no nahaja v tako imenovanih podatkovnih ozi-

roma ra£unalni²kih centrih. Ti centri so opremljeni tako, da zagotavljajo visoko varnost s

podvojenimi klju£nimi komponentami, z varnostnimi kopijami podatkov, dodatnimi viri

elektrike in nadzorno-kontrolnimi sistemi, ki izvajajo za²£ito pred izpadom sistema.

Storitev se uporablja tako, da si uporabnik namesti sliko operacijskega sistema in svoje

aplikacije. V tem primeru je uporabnik zadolºen za vzdrºevanje operacijskega sistema in

aplikacij, stro²ki storitve pa se zara£unavajo na podlagi sredstev in mo£i procesiranja, ki

se koristi.

2.1.2 Storitve PaaS

Ra£unalni²ki sistem kot storitev (ang. Platform as a Service) predstavlja delujo£ ra-

£unalni²ki sistem z operacijskimi sistemi in okoljem za izvajanje programov. Razvijalci

programske opreme lahko razvijajo in izvajajo svoje programske re²itve v oblaku, ne da

bi se pri tem morali ukvarjati z nakupovanjem in vzdrºevanjem drage strojne in sistem-

ske opreme. V dolo£enih primerih je na voljo celo avtomatsko prilagajanje strojnih virov

zahtevam aplikacije.

Na trgu obstaja ve£ razli£nih sistemov, ki zagotavljajo storitve PaaS, med katerimi so

najbolj znani Amazon EC2, Google App Engine, Engine Yard, od leta 2010 dalje pa tudi

Windows Azure. Ti sistemi ponujajo upravljanje in vzdrºevanje izvr²ljivih programov,

podatkovnih baz, operacijskih sistemov, virtualizacijo, namestitve in upravljanje streºni-

kov, spominskih kapacitet in omreºij. Vse to lahko organizaciji prinese velike ekonomske

prednosti, saj po nekaterih analizah kar 90% celotnih stro²kov informacijskih sistemov

predstavljajo prav operativni stro²ki na²tetih storitev.

2.1.3 Storitve SaaS

V primeru modula programi kot storitev (ang. Software as a Service, SaaS) ponudnik

storitve namesti v oblak delujo£o programsko re²itev, do katere uporabniki dostopajo

preko odjemalcev v oblaku. Uporabniki ne upravljajo ra£unalni²kega sistema, na katerem

te£e aplikacija, zato namestitev programa na lokalne uporabni²ke ra£unalnike ni potrebna,

kar mo£no poenostavi samo podporo in vzdrºevanje. Aplikacija v oblaku se od standardne

aplikacije razlikuje v svoji raz²irljivost, ki se doseºe s kloniranjem zahtevanih opravil na

ve£ virtualnih ra£unalnikov med delovanjem. Izena£evalci obremenitve razporejajo delo

Page 15: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.2. WINDOWS AZURE 5

preko ve£ ra£unalnikov in obenem omogo£ajo uporabniku enotno prijavno to£ko.

2.2 Windows Azure

Microsoftova platforma za ra£unalni²tvo v oblaku Windows Azure, ponuja hitro izgra-

dnjo, uvajanje in upravljanje aplikacij preko svetovnega spleta in podatkovnih centrov,

ki jih upravlja Microsoft. To je odprta in �eksibilna platforma, na kateri lahko te£ejo

aplikacije, napisane v katerem koli programskem jeziku. Omogo£a izgradnjo spletnih

aplikacij z orodji ASP.NET, PHP ali Node.js. Tak²ne aplikacije je mogo£e uporabljati

tako v storitvah v oblaku, kot lokalno, lahko pa se tudi med seboj povezujejo. Preko

Pogodbe o zagotavljanju razpoloºljivosti (ang. Service Level Agreement, SLA) je zagoto-

vljena 99,95% razpoloºljivost, kar pomeni, da je skupni £as prekinitev v roku enega meseca

dobrih 21 minut. Tako visoka stopnja razpoloºljivosti zadosti potrebam najzahtevnej²ih

aplikacij.

Vse te lastnosti omogo£ajo nemoteno izgradnjo in delovanje programov, ne da bi se or-

ganizacija pri tem morala posebej ukvarjati z infrastrukturo. Windows Azure ponuja

samodejno posodabljanje in nadgrajevanje operacijskih sistemov, vgrajene sisteme za ena-

komerno obremenitev omreºnega prometa in pove£ano odpornost proti napakam v strojni

opremi. Posebni uvajalni modul zagotavlja nadgrajevanje programov brez prekinitve de-

lovanja. Prilagodi se lahko razli£no velikim aplikativnim potrebam po strojnih virih. Gre

za nekak²no samopostreºno platformo, ki omogo£a spreminjanje velikosti strojnih virov v

nekaj minutah. Procesorji in pomnilnik se dinami£no prilagajajo posameznim potrebam

in se obra£unavajo po dejanski porabi. Na voljo je v ²tevilnih podatkovnih centrih po

svetu, zato se namestitev lahko izvede v bliºini organizacije. Platforma lahko organiza-

ciji prihrani visoke stro²ke licenc, kar zmanj²uje operativne stro²ke in pove£a moºnost

investicije v aplikativne izbolj²ave.

2.2.1 Pregled

Pregled funkcionalnosti, ki jih prina²a Azure, predstavlja slika 2.1. Njegova primarna

funkcionalnost je seveda ra£unanje ali procesiranje, obenem s tema pa prina²a ²e druge

prednosti, s £imer se celotna platforma uporablja zgolj kot storitev. Arhitektura Win-

dows Azure zagotavlja razpoloºljivost aplikacije med nadgradnjami in celo v primeru

okvare strojne opreme. V arhitekturo so vklju£eni sistemi za izena£evanje obremenitve,

kar zagotavlja raz²irljivost aplikacij. Ta je lahko horizontalna ali vertikalna. Pri verti-

Page 16: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

6 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

Slika 2.1: Funkcionalnosti Windows Azure.

kalni raz²irljivosti gre za pove£evanje procesorskih in pomnilni²kih virov, pri horizontalni

raz²irljivosti pa za pove£evanje ²tevila aplikativnih instanc. Prilagodljiv je tudi v primeru

£asovno ne-enakomernih potreb po strojnih virih, saj se ti lahko pove£ajo, po potrebi pa

tudi zmanj²ajo.

2.2.2 Storitve

Med aplikativnimi storitvami je na razpolago preverjanje pristnosti, shranjevanje podat-

kov v predpomnilniku, elektronska po²ta, medijske storitve, obve²£anje, integracija, spre-

mljanje delovanja, upravljanje in nadzor aplikacij [4].

Kontrola dostopa do aplikacij se lahko integrira s programi WIF (ang. Windows Iden-

tity Foundation) in priljubljenimi metodami identi�kacije spletnih ponudnikov, vklju£no

z Windows Live ID, Google, Yahoo, Facebook in podporo za ADFS 2.0. (ang. Active

Direcotry Federation Services). Lahko se uporabi tudi enkratna spletna prijava (ang.

single sign-on), ki je zasnovana na mehanizmu varnostnega ºetona STS (ang. Security

Token Service). Za£asno shranjevanje podatkov iz drugih virov v predpomnilnik pove£uje

u£inkovitost in lahko zmanj²a stro²ke baznih transakcij v oblaku. Aplikacije v Azurjevem

oblaku lahko uporabljajo funkcionalnost spletne po²te SendGrid, ki zagotavlja zanesljivo

dostavo, analize v realnem £asu in prilagodljive knjiºnice, ki uporabnikom omogo£ajo eno-

stavno vklju£itev te storitve v aplikacije. Uporabljajo lahko tudi SMS in zvokovno storitev

Page 17: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.3. VISOKO ZMOGLJIVO RA�UNANJE 7

Twilio, preko katere sprejemajo telefonske klice, sprejemajo in po²iljajo kratka sporo£ila

in omogo£ajo zvokovno komunikacijo preko obstoje£ih internetnih povezav, vklju£no z

mobilnimi povezavami. Medijske storitve zagotavljajo raz²irljivo platformo in se lahko

uporabljajo za izpolnjevanje razli£nih nalog, vklju£no s prenosom, shranjevanjem, kodi-

ranjem in pretakanjem razli£nih vsebin. Lahko se izkoristi sistem end-to-end, ki integrira

posamezne komponente z obstoje£imi orodji in procesi. Storitve sporo£ilnih vrst ponujajo

preprosto zaporedno dostavo sporo£il, pri £emer podpirajo standardne protokole, kot sta

Representational state transfer (REST) in Advanced Message Queuing Protocol (AMQP),

ter knjiºnice, preko katerih se sporo£ila po²iljajo in pobirajo iz sporo£ilnih vrst.

2.3 Visoko zmogljivo ra£unanje

Visoko zmogljivo ra£unanje (ang. High Performance Computing, HPC) je podro£je ra-

£unalni²tva, ki se osredoto£a na razvoj programske opreme in algoritmov, ki omogo£ajo

delitev programov na manj²e enote na tak²en na£in, da se posamezne enote programa iz-

vajajo isto£asno na lo£enih procesorjih [1]. Tak²no paralelno procesiranje zagotavlja hitro

izvedbo programov z zahtevnimi ra£unskimi nalogami. Zmogljivost procesiranja sega v

obmo£je tera �opov ali 1012 operacij s plavajo£o vejico na sekundo. Izraz HPC se upo-

rablja tudi kot sinonim za ra£unanje superra£unalnikov, ki pa v resnici dosegajo najvi²jo

stopnjo zmogljivosti, to je obmo£je peta �opov, kar pomeni 1015 operacij s plavajo£o ve-

jico v sekundi.

Najpogostej²i uporabniki sistemov visoko zmogljivega ra£unanja so znanstveni razisko-

valci, inºenirji in akademske ustanove. Uporablja se na razli£nih podro£jih znanosti, kot

so kvantna in jedrska �zika ter molekularno modeliranje, kjer se izra£unavajo strukture in

lastnosti kemi£nih spojin, biolo²kih makromolekul, polimerov in kristalov. Uporablja se

tudi pri podnebnih raziskavah in napovedovanju vremena, pri simulacijah letal v vetrov-

nikih, pri simulacijah eksplozij jedrskega oroºja in v voja²ki raziskavah nasploh,v zadnjem

£asu pa vse bolj tudi na podro£ju podatkovnega rudarjenja. Ker se zahteve po procesor-

ski mo£i neprestano pove£ujejo, je tak²no ra£unanje vse bolj aktualno tudi v poslovnem

svetu, predvsem v transakcijskih sistemih in podatkovnih skladi²£ih.

Microsoft je prav z operacijskim sistemom Windows HPC Server 2008 R2 naredil klju£ni

korak pri doseganju dolgoro£nega cilja, da se tovrstno procesiranje pribliºa ²ir²emu krogu

uporabnikov. Uporabniki sedaj lahko uporabljajo HPC Server kot osnovo za izgradnjo in

Page 18: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

8 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

izvajanje simulacij, ki modelirajo svet okrog nas, pospe²ujejo raziskovanja in pomagajo

pri sprejemanju kvalitetnej²ih odlo£itev. Windows HPC server 2008 R2 tako predstavlja

izjemno priloºnost za pridobitev kvalitete ogromnih koli£in podatkov, obenem pa omogo£a

izkori²£anje prednosti novih tehnologij, kot so streºni²ke gru£e, gra�£no-procesne enote,

ra£unanje v oblaku in ve£-jedrno procesiranje. Podobne funkcionalnosti od leta 2012

ponuja odprto-kodno programsko okolje Apache Hadoop, ki z Google-ovim programskim

modelomMapReduce omogo£a porazdeljeno procesiranje programov na ra£unalni²kih gru-

£ah in s tem ra£unske obdelave velikih naborov strukturiranih in tudi ne-strukturiranih

podatkov [13].

Bistvo visoko zmogljivega ra£unanja je mo£ ra£unanja. Visoko zmogljivo ra£unanje je v

²estdesetih letih prej²njega stoletja pripadalo domeni super ra£unalnikov, ki so si to vlogo

zadrºali skoraj do konca prej²njega stoletja. Danes se za visoko zmogljivo ra£unanje upo-

rabljajo predvsem gru£e ra£unalnikov. Seveda morajo imeti ra£unalniki za povezovanje

v gru£e ustrezno programsko opremo. Windows HPC Server 2008 R2, ki vsebuje pripo-

mo£ke za zaganjanje programov v gru£i, nam tak²no povezovanje omogo£a, s tem pa tudi

visoko zmogljivo ra£unanje. �tevilne organizacije iz ekonomskih razlogov za re²evanje teº-

kih problemov, ki zahtevajo veliko mo£ ra£unanja, uporabljajo streºni²ke gru£e Windows.

Z vse bolj pogosto uporabo storitve v oblaku nastajajo spremembe tudi v svetu visoko

zmogljivega ra£unanja. Oblak Windows Azure ima veliko prednosti. Med drugim:

� ponuja mnogo virtualnih ra£unalnikov in s tem tudi zelo veliko cenovno ugodnega

prostora za shranjevanje podatkov;

� omogo£a uporabo toliko sredstev, kolikor jih potrebujemo, kar je najve£ja prednost

oblaka Windows Azure;

� je enostaven za uporabo, saj gru£o ra£unalnikov dobimo z nekaj kliki;

� sredstva lahko dinami£no prilagajamo in v primeru, da ena od na²ih aplikacij za£a-

sno potrebuje ve£jo procesorsko mo£, jo naro£imo in ko je ne potrebujemo ve£, to

odstranimo.

Kljub ²tevilnim prednostim pa se uporaba oblaka v dolo£enih primerih ne izkaºe kot dobra

re²itev, na primer:

� ob£asno delamo s podatki, ki se ne smejo hraniti ali procesirati v oblaku zaradi

pravnih, regulativnih ali drugih omejitev;

Page 19: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.3. VISOKO ZMOGLJIVO RA�UNANJE 9

� nekatere naloge uporabljajo programsko opremo, ki jo platforma v oblaku ne pod-

pira;

� naloge, ki se nana²ajo na ogromno maso podatkov, ve£krat niso primerne za ra£u-

nanje v oblaku, saj je potrebno prenesti podatke v oblak, kar pa lahko vzame preve£

£asa.

Dejstvo je, da ra£unalni²ke gru£e v lastni²kih sistemih ²e ne bodo izginile, zato je smiselno,

da se �zi£ne gru£e v lastni²kih prostorih kombinirajo z virtualnimi gru£ami v oblaku.

Ravno to je implementiral Windows Server.

2.3.1 Windows HPC Server in Windows Azure

Tehnologija HPC deluje tako, da se na vseh ra£unalnikih izvajajo razli£ni programi ali,

da se na vseh ra£unalnikih izvajajo isti programi, vendar se pri tem uporabljajo razli£ni

podatki. Za dolo£evanje ra£unalni²kih programov, ra£unalnikom Windows HPC ponuja

razvr²£evalec opravil (ang. Scheduler), ki ga prikazuje slika 2.2.

Delovna postaja

Glavni računalnik Gruča računalnikov

Gruča računalnikov v prostorih organizacije

WindowsHPC Server Windows HPC Aplikacija

RAZVRŠČEVALECOPRAVIL

PROGRAM

PROGRAM

PROGRAM

Slika 2.2: Gru£a ra£unalnikov v lastni²kih prostorih.

Razvr²£evalec opravil se zaganja na posebnem ra£unalniku, ki je v ve£ini primerov tudi

Page 20: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

10 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

glavni ra£unalnik (ang. Head node). Naloge se prenesejo iz delovne postaje (ang. Work

station) na glavni ra£unalnik, kjer razvr²£evalec opravil razdeli programe na ve£ ra£u-

nalnikov. Vloga razvr²£evalca opravil ni zgolj dodeljevanje nalog drugim ra£unalnikom,

temve£ tudi dolo£anje njihovih prioritet. Tako se naloge z vi²jo prioriteto izvajajo pred

nalogami z niºjo prioriteto. Hkrati pa razvr²£evalec opravil omogo£a izbiro ra£unalnikov

ali skupin ra£unalnikov, na katerih ºelimo nalogo izvajati. Obstajajo re²itve, ki v primeru

okvare glavnega ra£unalnika, njegove naloge preselijo na drug ra£unalnik (ang. failover).

Izvajanje programov lahko poteka na ra£unalnikih simultano, zato Windows HPC Server

podpira MPI (ang. Message Passing Interface). To je standardni sistem za posredova-

nje sporo£il, zasnovan za delovanje na razli£nih, vzporedno delujo£ih ra£unalnikih, kar je

vzpodbudilo razvoj prenosljivih in prilagodljivih vzporedno delujo£ih programskih re²itev.

HPC za izvajane nalog pogosto izkori²£a ve£ jeder, zato mora zagotavljati knjiºnice kot

na primer OpenMP (ang. Open Multiprocessing), Parallel LINQ (mehanizem za hkratno

oziroma paralelno izvajanje poizvedb) in TPL (ang. Task Parallel Library), ki je kompo-

nenta za raz²iritev paralelizma v okolje .NET. Okolje visoko zmogljivega ra£unanja hkrati

omogo£a razhro²£evanje paralelnih aplikacij.

HPC Server se ve£inoma osredoto£a na kreiranje in urejanje aplikacij, kar ni ravno tri-

vialna naloga. Administrator mora ustvariti gru£o in dolo£iti enote, ki bodo sodelovale

pri nalogi, pri £emer lahko aplikacijam dolo£i to£no dolo£en niz ra£unalnikov za izvajanje

aplikacije, hkrati pa lahko aplikacija sama za izvajanje nalog izbere dodatne ra£unalnike.

V okolju Windows se za upravljanje ra£unalni²kih gru£ uporablja programsko orodje HPC

Cluster Manager, ki ga predstavlja slika 2.3. Orodje je namenjeno nastavljanju in upra-

vljanju virtualnih ra£unalnikov in ra£unalni²kih gru£, upravljanju nalog, diagnostiki in

razli£nim oblikam poro£il.

Slika prikazuje, kako administrator ureja gru£o ra£unalnikov in naloge, ki se izvajajo na

gru£i, izvaja diagnosti£ne teste na gru£i ter izdeluje grafe in poro£ila o ra£unalnikih. Ure-

jevalnik hkrati omogo£a gra�£ni prikaz izkori²£enosti virov posameznih ra£unalnikov, pa

tudi njihove sistemske nastavitve.

Tako kot Windows HPC Server, se tudi Windows Azure za izvajanje nalog zana²a na

veliko ²tevilo ra£unalnikov. Windows Azure deluje kot gru£a ra£unalnikov, ki so �zi£no

name²£eni v ra£unalni²kih centrih, te pa nadzoruje Microsoft. Prostori ra£unalni²kih cen-

trov so dostopni preko internetnega omreºja, in omogo£ajo uporabo toliko ra£unalnikov,

kot jih organizacija potrebuje. Stro²ki se obra£unajo tako, da uporabnik pla£a le toliko

enot procesorskih in pomnilni²kih virov, kolikor jih koristi. Pri £emer je eno enoto pro-

Page 21: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.3. VISOKO ZMOGLJIVO RA�UNANJE 11

Slika 2.3: Programsko okolje HPC Cluster Manager.

cesorskih in pomnilni²kih virov sestavlja en CPE s frekvenco 1,6 GHz, 1,75 GB RAM-a,

225 GB diskovnega prostora in 100 Mbps pasovne ²irine. Enote se pove£ujejo vse do 8 x

1,6 GHz, 14 GB RAM-a, 2.040 GB diskovnega prostora in 800 Mbps pasovne ²irine.

Slika 2.4 prikazuje potek aplikacij na ra£unalnikih Windows Azure. Tako aplikacije, ki

te£ejo na ra£unalnikih Windows Azure, kot tiste, ki se izvajajo v lastni²kih prostorih,

lahko koristijo prostor na Windows Azure.

Windows Azure omogo£a dva tipa shranjevanja podatkov. Prvi je shranjevanje v ne-

strukturirane binarne zbirke, drug na£in so tabele, ki omogo£ajo strukturiran na£in shra-

njevanja podatkov, pri £emer tabele niso relacijske. Vse to ureja aplikacija, ki se imenuje

nadzornik sistemov (ang. fabric controller). Aplikacija te£e na posebej rezerviranih ra£u-

nalnikih v prostorih Windows Azure in ureja vse posodobitve in sistemske popravke.

Da bi razumeli, kako Windows Azure in HPC Server sodelujeta med sabo, je potrebno

razumeti, kako delujejo programi v oblaku Windows Azure. Spletna vloga ali �Web role�

se tipi£no uporablja za aplikacije, ki potekajo preko protokola HTTP in storitve IIS (ang.

Intrernet Information Service). Delovna vloga (ang. Worker role) se obi£ajno uporablja

za razli£ne vrste procesiranja. Ne glede na to, katera vloga se uporablja, Windows Azure

zahteva, da se vloga izvaja vsaj na dveh primerkih, to pomeni, na dveh virtualnih ra£unal-

Page 22: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

12 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

Windows Azure računalniški center

NadzorniksistemovWindows Azure

pomnilnikWindows Azure

aplikacija

Slika 2.4: Shema ra£unalni²kega centra, ki ga nadzoruje Microsoft.

nikih. Ta dva primerka sta zamenljiva, kar zagotavlja delovanje aplikacije tudi v primeru,

ko en primerek iz kakr²negakoli razloga preneha delovati ali postane nedostopen. Tak²en

na£in nam zagotavlja visoko razpoloºljivost aplikacije.

V primeru na sliki 2.5 je prikazana aplikacija, ki vsebuje eno spletno vlogo in eno delovno

vlogo. Od tu naprej je spreminjanje primerkov enostavno, bodisi s strani administratorja,

bodisi aplikacije. Na sliki je razvidno, kako program nadzornik sistemov vsak primerek

naslavlja na drug ra£unalnik, zaradi £esar je sistem bolj odporen proti napakam. V

primeru, da se ra£unalnik pokvari, nadzornik sistemov po dolo£enem £asu priºge nov

primerek iste vloge, med tem pa se sklene pogodba SLA (ang. Service Level Agreement).

Ker ima vsak primerek enega ali ve£ jeder rezerviranih za aplikacijo, lahko predvidevamo

napredek aplikacije, pri £emer se jedra, ki skrbijo za sistem, uporabnikom ne prikazujejo.

Windows Azure v osnovi podpira Windows aplikacije, zato lahko na njem poganjamo

aplikacije, narejene v .NET okolju ali napisane v programskem jeziku C++. Omogo£a pa

tudi druge tehnologije, kot sta Java in PHP.

Ne glede na to, s katero tehnologijo je aplikacija narejena, lahko uporabljamo prostor na

razli£nih mestih. Uporabljamo lahko Azure-jeve tabele, blob-e (ang. Binary large object)

in tudi SQL Azure, storitev oblaka za relacijske podatke. Aplikacije imajo prosto pot

in lahko dostopajo tako do prostora, ki pripada stacionarnim ra£unalnikom v lastni²kih

Page 23: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.3. VISOKO ZMOGLJIVO RA�UNANJE 13

Windows Azure računalniški center

Windows Azure aplikacija

DELOVNA VLOGAprimerek 1

Virtualni računalnikDELOVNA VLOGA

primerek 2

Virtualni računalnik

DELOVNA VLOGAprimerek 3

Virtualni računalnikDELOVNA VLOGA

primerek 4

Virtualni računalnik

Slika 2.5: Aplikacija, ki te£e na ra£unalni²kem centru.

prostorih, kot do prostora v oblaku. To pomeni, da nismo omejeni le na prostor v oblaku.

Da lahko bolje ocenimo Windows Azure, moramo poznati na£in obra£unavanja storitev.

� Za procesiranje moramo pla£ati od $0,05 do $0,96 na uro za vsako enoto. Cena je

odvisna od velikosti enote. Izbiramo lahko med enim, dvema, ²tirimi ali osmimi

jedri. Cena po drugi strani ni odvisna od obremenitve, kar pomeni, da pla£amo isto

ceno za enoto, ki je le priºgan in enoto, ki izvaja zahtevne ra£unske operacije.

� Prostor na disku nas stane od $0,1 do $0,15 za GB na mesec. Obenem moramo

pla£ati $0,01 na 10.000 operacij, kot so branje ali pisanje.

� Pasovna ²irina 1 GB prenosa z odjemalca (ang. upload) nas stane $0,1, pasovna

²irina 1 GB prenosa na odjemalca (ang. download) pa $0,15, kar velja zgolj za

podatke aplikacije, ne pa aplikacije same.

Platforma v oblaku predstavlja nov pristop za nalaganje, uporabljanje in obra£unavanje

ra£unalni²kih virov, Microsoft pa nam obenem daje nov na£in programiranja aplikacij v

Windows okolju.

Page 24: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

14 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

2.3.2 Kombinacija ra£unanja v oblaku z ra£unanjem v lastni²kih

prostorih

Visoko zmogljivo ra£unanje je odvisno od velikosti procesorske mo£i, Windows Azure pa

omogo£a veliko procesorske mo£i na zahtevo. O£itno je, da sta narejeni drug za drugega.

Ena od moºnosti uporabe je, da se glavni ra£unalnik in nekaj ra£unalnikov namesti v

lastni²kih prostorih, ostali pa se namestijo v oblaku. Druga moºnost je, da se v lastni²kih

prostorih namesti le glavni ra£unalnik, drugi ra£unalniki pa so v oblaku. Iz arhitekturnega

vidika je izvajanje aplikacije, ki te£e delno na gru£i, ki se nahaja v lastni²kih prostorih in

delno v oblaku, zelo enostavno.

Delovna postaja

Glavni računalnik Gruča računalnikov

Gruča računalnikov v prostorih organizacije Windows Azure računalniški center

Windows HPC Aplikacija

RAZVRŠČEVALECOPRAVIL

PROGRAM

PROGRAM

PROGRAM

PROGRAM

Slika 2.6: Kombinacija oblaka in gru£e v lastni²kih prostorih.

Slika 2.6 prikazuje arhitekturo z glavnim ra£unalnikom v lastni²kih prostorih. Uporab-

nik zaganja aplikacijo s svoje delovne postaje na obi£ajen na£in. Razvr²£evalec opravil

nato porazdeli logiko na dostopne vire ra£unalnikov. V tem primeru so dostopni viri v

lastni²kih prostorih in viri v oblaku. Uporabnik ne opazi razlike pri izvajanju aplikacije.

Razlika je le v tem, da mora nekaj dodatnega dela narediti administrator. Ta mora od-

preti ra£un na Windows Azure in nastavite delovne postaje, hkrati mora nastaviti, katere

aplikacije uporabljajo posamezne vire.

Delovne postaje na Windows Azure se ne nastavijo samodejno, ko se naloga za£ne. Na-

Page 25: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

2.3. VISOKO ZMOGLJIVO RA�UNANJE 15

stavi jih administrator po potrebi. Ko jih ne potrebuje ve£, pa jih ugasne. Priporo£ljivo

je, da se delovne postaje na Windows Azure v primeru, ko jih ne potrebujemo, uga²ajo,

saj nam sicer te£e £as, ki se nam v skladu s pogodbo zara£una.

Navajmo nekaj primerov, ko je priporo£ljivo uporabljati kombinirano metodo, to je ra£u-

nalni²ka gru£a v lastni²kih prostorih in gru£a v oblaku.

� V primeru, da aplikacija ob£asno potrebuje ve£ procesorske mo£i, lahko pri Win-

dows Azure za£asno naro£imo dodatne ra£unalnike. Ko jih ne potrebujemo ve£, jih

enostavno odstranimo. To je ceneje, kot £e bi kupili nove stacionarne ra£unalnike,

ki bi jih namestili v lastni²ke prostore in bi bili ob£asno neizkori²£eni.

� Podobno je v primeru, da ob£asno potrebujemo ve£ procesorske mo£i, na primer za

tedenske ali mese£ne obdelave podatkov. Na Windows Azure enkrat tedensko ali

mese£no dokupimo dodatne ra£unalnike, ki jih potem, ko jih ne potrebujemo ve£,

preprosto ugasnemo.

� V primeru, da nam v lastni²kih prostorih primanjkuje �zi£nega prostora, elektri£ne

mo£i ali imamo teºave s hlajenjem, je Windows Azure spet ugodna re²itev, saj bi si v

nasprotnem primeru nakopali veliko dodatnih stro²kov z dokupom ali preureditvijo

ustreznega ra£unalni²kega prostora.

Prednost imajo tudi programerji, ki programirajo visoko zmogljive aplikacije v okolju

visoko zmogljivega ra£unanja, saj lahko uporabljajo vsa orodja, ki so jih uporabljali doslej,

obenem pa imajo dostop do veliko ve£je procesorske mo£i.

2.3.3 Ra£unanje zgolj v oblaku

�e je smiselno naro£anje ra£unalnikov v Windows Azure, zakaj potem ne bi postavili

oblak vseh programov in podatkov? In dejansko je to smiselno storiti, £e nimamo kak²nega

od ºe navedenih zadrºkov, ko se iz dolo£enih razlogov podatki ne smejo procesirati izven

organizacije, £e platforma v oblaku ne podpira na²ih programov ali programi ne zahtevajo

prenosa zelo velikih koli£in podatkov [2]. Slika 2.7 prikazuje arhitekturo sistema, ko je na

�zi£ni lokaciji organizacije samo glavni ra£unalnik, vsi ostali pa so v oblaku. Zaganjanje

nalog je podobno, kot v prej²njem primeru, le da upravitelj razdeli logiko aplikacije le na

ra£unalnike v oblaku. Ta na£in delovanja ima prednosti.

Page 26: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

16 POGLAVJE 2. RA�UNALNI�TVO V OBLAKU

Delovna postaja

Glavni računalnik

Gruča računalnikov v prostorih organizacije

Windows Azure računalniški center

Windows HPC Aplikacija – Azure delovni računalniki

RAZVRŠČEVALECOPRAVIL

PROGRAM

PROGRAM

PROGRAM

PROGRAM

Slika 2.7: Aplikacija, ki te£e samo na oblaku.

� Ni stro²kov nakupa, name²£anja in vzdrºevanja novih ra£unalnikov. Cenovno gle-

dano je cena novih �zi£nih ra£unalnikov primerljiva s ceno ra£unalnikov, ki jih upo-

rabljamo v Windows Azure.

� Podobno, kot v prej²njem primeru, je prednost oblaka v tem, da uporabljamo in

pla£amo le toliko ra£unalni²kih virov, kot jih potrebujemo.

� Za razliko od prej²njega primera, so v drugem primeru vsi podatki v oblaku, kar

posledi£no privede do hitrej²ega dostopa, saj so vsi podatki na enem mestu. Zato

je arhitektura z vsemi ra£unalniki v oblaku bolj²a.

� Windows Azure uporablja nadzornik sistemov, ki nam pomaga pri posodabljanju

sistema in odpravljanju napak. Ta dela se v oblaku izvajajo samodejno, kar pomeni

prihranek pri stro²kih vzdrºevanja.

Page 27: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Poglavje 3

Namestitev storitve v oblaku Windows

Azure

Sama namestitev sistema HPC v oblaku Azure je preprosta, seveda pa je potrebno pred

tem dobro poznati zmoºnosti in omejitve, predvsem pa ºelene u£inke sistema. Pripra-

vili smo postopek, po katerem je preko orodja HPC Cluster Manager moºno zaganjati

programe, napisane za paralelno procesiranje, in izbirati vrsto in ²tevilo ra£unalnikov za

izvajanje nalog. Po opisanem postopku se na glavni ra£unalnik (ang. head node) namesti

programski paket HPC, odpre se ra£un in vzpostavi povezava med lokalnim sistemom in

oblakom. Za tem se namesti delovna vloga (ang. worker node), pripravijo se ²e predloge,

ki jih ºelimo v nadaljevanju uporabljati, in osnovna nastavitev je s tem zaklju£ena.

3.1 Priprava sistema za virtualizacijo

Ra£unalnik, na katerega smo nameravali namestiti virtualne ra£unalnike, je bilo najprej

potrebno ustrezno pripraviti [3]. V prvem koraku smo preverili, ali ra£unalnik podpira

virtualizacijo preko programa Hyper-V. Hyper-V je Microsoftov sistemski program, ki

omogo£a zagon in upravljanje virtualnih ra£unalnikov na 32 in 64 bitnih ra£unalni²kih

sistemih. Beta razli£ica je bila ºe vklju£ena v nekatere operacijske sisteme Windows 2008,

z oznako Windows 2008 R2 pa je Hyper-V postal del standardne izdaje tega operacijskega

sistema.

Kontrolo ustreznosti smo naredili tako, da smo v programu BIOS (ang. Basic Input/Ou-

tput Systems, Osnovno vhodno-izhodni sistem) preverili opciji Virtualizacijske tehnologije

(ang. Virtualization technology) in Onemogo£i izvr²itev (ang. Execute Disable), ki ju je

17

Page 28: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

18 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

potrebno vklju£iti. Opcija Execute Disable je varnostna funkcija v Intel-ovih procesorjih,

ki omogo£a za²£ito pred virusi tako, da aplikacijam onemogo£i dostop do dela pomnilnika,

ki je rezerviran procesorju. Vklju£ili smo obe opciji in pri£eli s postopkom namestitve.

3.2 Nastavitve glavnega ra£unalnika

3.2.1 Namestitev operacijskega sistema

S pomo£jo programa Hyper-V smo se lotili namestitve novega virtualnega ra£unalnika z

operacijskim sistemom Windows Server 2008 HPC Edition, ki bo imel vlogo glavnega ra-

£unalnika (ang. Head Node). Glavni ra£unalnik krmili celoten virtualni sistem v oblaku.

V primeru, ko je med glavnim ra£unalnikom in ostalimi virtualnimi ra£unalniki potrebne

veliko komunikacije, je bolje, da se ta namesti v oblaku, v na²em primeru pa smo za test

izbrali namestitev na lokalni sistem.

Glavni ra£unalnik je v na²em primeru namenjen zagonu programov v na£inu visoko-

zmogljivega ra£unanja, za kar ga je bilo potrebno ustrezno pripraviti. Minimalna zah-

tevana razli£ica popravkov za delovanje ra£unalnika v oblaku Azure je SP2, vendar je iz

varnostnih razlogov vedno bolje uporabiti najnovej²o preverjeno razli£ico, zato smo na

ra£unalnik namestili posodobitve s paketom SP3 . Hkrati smo namestili ²e paket pro-

gramov HPC (ang. High Performance Computing Pack), ki med drugim vsebuje tudi

orodje za upravljanje gru£ HPC (ang. Cluster Manager). Upravitelj gru£ HPC smo ka-

sneje uporabljali kot glavni program za zaganjanje nalog na gru£i. Glavni ra£unalnik je

bilo potrebno dodati ²e v domeno, pri £emer smo lahko izbirali med obstoje£o in novo

domeno. Po priporo£ilu smo se odlo£ili, da kreiramo novo domeno, ki smo jo poimenovali

DejanAzure.net.

3.2.2 Nastavitev omreºja

V programu HPC Cluster Manager smo najprej nastavili omreºje in sicer smo med na-

borom razli£nih topologij izbrali topologijo vodila, po kateri so vsi ra£unalniki povezani

v eno omreºje, kar je prikazano na sliki 3.1. Z rumeno je ozna£en glavni ra£unalnik, z

modro pa ra£unalniki, ki se v gru£o na Windows Azure priklju£ujejo naknadno.

V primeru, da je v omreºju vklju£en poºarni zid, je potrebno omogo£iti pretok dolo£ene

vrste omreºnega prometa preko ustreznih vrat, kar nam je sicer samodejno uredila na-

Page 29: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.2. NASTAVITVE GLAVNEGA RA�UNALNIKA 19

Slika 3.1: Nastavitev omreºja.

mestitev paketa HPC Pack SP3. Samo nastavitev in delovanje smo dodatno preverili s

programom HPC Cluster Maneger in sicer s funkcijo Windows Azure Firewall Ports Test.

Za delovanje mora biti omogo£en promet TCP preko vrat 443 in 3389.

3.2.3 Nastavitev poverilnic

Ob nastavitvi poverilnic, ki so potrebne za upravljanje virtualnih ra£unalnikov v oblaku

preko na²ega upravljalnika gru£, smo dolo£ili uporabni²ko ime in geslo, ki se mora ujemati

z uporabni²kim imenom in geslom na glavnem ra£unalniku.

3.2.4 Nastavitev poimenovanja novih ra£unalnikov

Ob nastavitvi poimenovanje dolo£imo, kako naj bo sestavljeno ime novih virtualnih ra£u-

nalnikov, pri £emer se dolo£i dolºina imena in maksimalno ²tevilo novih ra£unalnikov [5].

Tak²no poimenovanje se uporabi v primeru, ko se na sistemu samodejno, preko £asovnega

razporejevalnika, ali ro£no, glede na potrebe, dodajajo novi virtualni ra£unalniki. Novi

ra£unalniki se lahko avtomatsko dodajo tudi na zahtevo aplikacije.

Page 30: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

20 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

3.3 Nastavitev ra£una v oblaku Windows Azure

3.3.1 Namestitev certi�kata

Za dostop do oddaljenih storitev v oblaku Windows Azure je potrebno pridobiti uporab-

ni²ki ra£un in ga ustrezno urediti [6]. Ker je delo v oblaku ºe v svoji osnovi pogojeno

s komunikacijo po omreºjih LAN in WAN, je zagotavljanje varnosti klju£nega pomena.

Zato nas ºe postopek prijave prisili v namestitev certi�kata, ki preko izmenjave javnih

klju£ev zagotavlja varno komunikacijo med na²im glavnim ra£unalnikom in ostalimi ra-

£unalniki v oblaku. Pri tem se lahko odlo£imo za samostojno izdelavo certi�kata, lahko

pa uporabimo privzeti certi�kat, ki ga vsebuje paket HPC Pack. Sami smo se odlo£ili za

drugo moºnost in izbrali izdelan certi�kat. Na²li smo ga v mapi paketa HPC pod imenom

hpccert.cer.

Prijavili smo se preko vstopne to£ke https://manage.windowsazure.com in uporabili upo-

rabni²ko ime in geslo, ki ga je za testne namene pridobila fakulteta. S prijavo smo izbrali

ustrezno namizje, kjer smo nadaljevali z name²£anjem certi�kata. V meniju smo izbrali

polje Hosted Services, Storage Accounts & CDN, in Management Certi�cates in nato

dodali certi�kat.

Slika 3.2: Nalaganje certi�kata.

3.3.2 Kreiranje gostujo£e storitve in diskovnega ra£una

Pred namestitvijo predloge je potrebno urediti gostujo£o storitev, pri £emer imamo dve

moºnosti. Lahko uredimo lo£eno gostujo£o storitev, ki velja za posamezno predlogo,

ali uredimo pomnilni²ki ra£un, s katerim je zagotovljen dostop ve£ predlogam. Z izbiro

Hosted Services in New Hosted Service smo preko vnosnega obrazca vpisali ime gostujo£e

storitve in poljubni naslov URL. Med regijami smo izbrali Zahodno Evopo, ki za podro£je

Page 31: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.3. NASTAVITEV RA�UNA V OBLAKU WINDOWS AZURE 21

Slovenije zagotavlja najhitrej²o povezavo. Med opcijami uvajanja (ang. Deployment

options) smo izbrali Do not deploy, saj bo to kasneje za nas naredil Program HPC Cluster

Manager.

Slika 3.3: Kreiranje gostujo£e storitve.

Z izbiro Storage Accounts in New Storage Account smo uredili ²e nastavitve za diskovni

ra£un. V obrazec smo vpisali ºeljen naslov URL, preko katerega dostopamo in izbrali

zahodno-evropsko regijo [7].

Slika 3.4: Kreiranje pomnilni²kega ra£una.

Page 32: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

22 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

3.4 Nastavitve delovne vloge

Potem, ko so urejene nastavitve ra£unov, je potrebno urediti nastavitve sistemskega oko-

lja, na katerem se bodo izvajale delovne vloge. Delovne vloge se namre£ izvajajo na

enem ali ve£ virtualnih ra£unalnikov v oblaku, ki jih je za to potrebno posebej pripraviti.

Na virtualnih ra£unalnikih mora biti name²£en operacijski sistem, ki mora biti ustrezno

nastavljen, name²£eni pa morajo biti tudi programi, ki bodo izvajali izbrane naloge.

3.4.1 Izdelava slike za delovno vlogo

Ker nas v na²em primeru konkretno zanima visoko-zmogljivo ra£unanje v oblaku in smo

si v ta namen ºe pripravili testne programe, smo si lahko vnaprej pripravili sliko s po-

trebnimi programi in nastavitvami, ki jo bomo uporabili za delovno vlogo. Za izdelavo

slike smo uporabili program Hyper-V [5]. Vstavili smo DVD z operacijskim sistemom

Windows Server 2008 HPC Edition, Hyper-V pa nam je izdelal sliko virtualnega diska

(VHD ali Virtual Hard Disk), ki smo jo kasneje naloºili na Windows Azure. Datoteka

VHD predstavlja virtualni trdi disk in vsebuje particije in datote£ne sisteme, ti pa direk-

torije in datoteke in se uporablja kot trdi disk na virutalnih ra£unalnikih. Uporaben je

predvsem zato, ker omogo£a uporabo razli£nih operacijskih sistemov na enem gostujo£em

ra£unalniku in je zato primeren za razvijalce programske kode, ki svoje programe lahko

testirajo v razli£nih okoljih.

S pomo£jo £arovnika smo namestili operacijski sistem, pri £emer smo pazili, da smo iz-

brali angle²ko verzijo operacijskega sistema, saj Windows Azure, na ºalost, ne pozna

sloven²£ine. Posodobili smo operacijski sistem z zadnjimi razli£icami popravkov in po po-

sodobitvi izklju£ili samodejno posodabljanje. Samodejno posodabljanje bi namre£ kasneje

lahko povzro£ilo zaustavljanje in ponovni zagon ra£unalnikov, kar je potrebno prepre£iti,

saj morajo biti zaustavitve na£rtovane in nadzorovane, sicer lahko povzro£ijo okvaro po-

datkov.

Integracija ra£unalnika v virtualno okolje se izvede preko posebnih integracijskih kompo-

nent za virtualni ra£unalnik v oblaku Windows Azure. Komponente smo na²li v Windows

Azure SDK. Pri name²£anju komponent je pomembno, da je izbrana prava razli£ica, ki

se mora ujemati z razli£ico paketa visoko zmogljivega ra£unanja, v na²em primeru je to

je SP3. Pred name²£anjem komponent smo namestili ²e dodatne funkcionlanosti .NET

Framework 3.5.1 Features, ki tak²no integracijo sploh omogo£ijo. Med integracijskimi

komponentami smo izbrali HPC Pack 2008 R2 for Windows Azure in HPC Pack 2008 R2

Page 33: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.4. NASTAVITVE DELOVNE VLOGE 23

MS-MPI Redistributable Package.

Nazadnje smo na na²o sliko namestili ²e programe, narejene v programskem jeziku Ma-

tlab, ki smo jih izbrali za izvedbo testa visoko-zmogljivega ra£unanja v oblaku. V tem

delu bi lahko izbrali poljubne programe, ki izkori²£ajo moºnost vzporednega procesiranja.

Za dokon£no pripravo slike VHD za nalaganje na Azure smo uporabili program sy-

sprep.exe, in opcijo Generalize, ki sliko pripravi tako, da se lahko uporabi ve£krat. Pri

uporabi programa je potrebno vedeti, da odstrani vse odve£ne podatke, zato pred tem

pripravimo zgolj potrebne programe. Iz varnostnih razlogov ga je moºno na eni namestitvi

uporabiti najve£ trikrat, sicer pa je uporaba trivialna.

3.4.2 Dodajanje slike

Windows Azure omogo£a izdelavo ra£unalnikov na osnovi razli£nih tipov slik [8]. V po-

stopku izbire tipa slike operacijskega sistema lahko izdelamo novo sliko, ki bo vsebovala

zgolj operacijski sistem, lahko pa uvozimo vnaprej pripravljeno sliko VHD, kar opisujemo

v na²em postopku. Postopek izdelave slike z operacijskim sistemom in programi za iz-

vajanje visoko zmogljivega ra£unanja, ki smo je izdelali s programom Hyper-V, smo ºe

opisali v to£ki 3.4.1. Sliko bi sicer lahko pripravili tudi ²ele v tem koraku.

Nalaganje slike smo izvedli preko glavnega ra£unalnika in programa HPC Cluster Mana-

ger. Preselili smo se torej na glavni ra£unalnik, odprli okno Images in izbrali Add Image.

Izbira te menijske postavke je sproºila zagon pomoºnega orodja, tako imenovana £arov-

nika, ki nas je vodil skozi celoten postopek dodajanja slike in je poskrbel, da smo izvedli

vse potrebne akcije in nastavitve.

V prvem koraku se je odprl obrazec za izbiro tipa slike operacijskega sistema. Glede na to,

da smo imeli ºe pripravljeno sliko, smo izbrali opcijo Import an existing Windows Azure

operating system image from VHD �le in po pritisku na tipko Next dolo£ili pot do na²e

slike.

Pred dejanskim uvozom slike nam je £arovnik v pregled prikazal izbrane nastavitve. Izbrali

smo uvoz obstoje£e slike VHD, ki smo jo pripravili na lokalnem ra£unalniku v mapi in

ime IMESLIKE.vhd.

V primeru, da z nastavitvami nismo zadovoljni, na primer da smo izbrali napa£no sliko

ali mapo, se lahko vra£amo nazaj z izbiro gumba Previous in napako popravimo. Ker

smo bili z nastavitvami zadovoljni, smo dodali izbrane slike. Koraka prikazujeta sliki 3.5

in 3.6

V zgornjem okviru smo lahko preverili, da je na²a slika prikazana v seznamu dodanih slik,

Page 34: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

24 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

Slika 3.5: Dodajanje slike v HPC Cluster manager.

Slika 3.6: Povzetek dodajanja slike.

v spodnjem okviru pa smo preverili potek aktivnosti in se prepri£ali, da pri dodajanju ni

pri²lo do napak. Na zavihku Image Properties bi lahko spremenili nastavitve in lastnosti

izbrane slike.

Z opcijo Upload image smo s pomo£jo £arovnika vpisali podatke Subscription ID in Ma-

nagement Certi�cate. Te smo prekopirali z ra£una Windows Azure, pri £emer smo za

Page 35: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.4. NASTAVITVE DELOVNE VLOGE 25

Slika 3.7: Kon£ano nalaganje slike.

Management Certi�cate uporabili prstni odtis Thumbprint.

Slika 3.8: Vnos podatkov za povezavo z Windows Azure.

3.4.3 Nalaganje slike

Nadaljevali smo z nalaganjem izbrane slike in sicer tako, da smo v meniju Actions na desni

strani zaslona izbrali menijsko postavko Upload image [8]. Tudi za ta del je na razpolago

£arovnik, ki nas je vodil po obrazcih za potrebne nastavitve.

Najprej smo morali vpisati svoje naro£ni²ke podatke. V polje Subscription ID smo vpisali

Page 36: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

26 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

identi�kacijsko kodo, v polje Management Certi�cates pa prstni odtis na²ega certi�kata.

Oba podatka smo dobili na ra£unu Windows Azure, kjer smo predhodno uredili nastavitve

na²ega ra£una in pripravili certi�kat. Na levi strani Windows Azure namizja smo v meniju

izbrali Management Certi�cates in prekopirali naro£ni²ko kodo, ki smo jo prilepili v na²

obrazec v programu HPC Cluster Manager. Enako smo naredili s prstnim odtisom.

V nadaljevanju je program preveril na²e podatke in nato odprl obrazec, v kateri smo

dolo£ili lokacijo, kamor smo v naslednjem koraku naloºili na²o sliko. Regija med drugim

dolo£a, katere storitve bo slika imela na razpolago, pri £emer vse regije ne podpirajo slike

VHD. Ob izboru regije se v spodnjem okviru izpi²ejo storitve, ki jih lahko uporabimo.

Ponovno smo izbrali zahodno Evropo in dobili na razpolago storitev Azure HPCVM.

Slika 3.9: Izbira lokacije.

Nato smo dolo£ili ime slike. To ime se kasneje uporablja v upravljalnem namizju in se

lahko razlikuje od dejanskega imena slike. Odlo£ili smo se, da obdrºimo predlagano ime,

to je HPCR2VMROLE.west.europe.vhd, ki je smiselno sestavljeno iz obstoje£ega imena

slike in izbrane regije. Pred zaklju£kom nam je £arovnik prikazal povzetek izbranih na-

stavitev, to je imena slike, naro£ni²ke identi�kacije, prstnega odtisa certi�kata, izbrane

regije in imena slike v Windows Azure.

Podatke smo pregledali in sproºili nalaganje slike. Za popravljanje nastavitev bi se lahko

s pomo£jo gumba Previous preselili v dolo£en obrazec in ponovili postopke do zaklju£nega

dela. V obrazcu smo pustili izbrano moºnosti Go to Operations pane to track progress,

da smo lahko sledili poteku nalaganja slike.

Preden se sproºi nalaganje slike je potrebno preveriti omreºno povezavo v smislu po²iljanja

(ang. upload), saj so te slike velike ve£ GB in nam slabe povezave in morebitne prekinitve

Page 37: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.4. NASTAVITVE DELOVNE VLOGE 27

Slika 3.10: Izbira imena slike.

Slika 3.11: Povzetek po²iljanja slike.

mo£no podalj²ajo postopek. Na²a slika je bila velika pribliºno 50 GB.

Nalaganje slike smo spremljali v spodnjem okviru zaslona, kjer lahko preko �ltrov lo£eno

opazujemo napake, opozorila in informativna sporo£ila ob prenosu.

Slika 3.12: Prenos slike.

Ko se je prenos v HPC Clustre Managerju kon£al, smo na na²em Windows Azure ra£unu

Page 38: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

28 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

pod menijsko izbiro VM Images lahko preverili uspe²nost prenosa. Na zaslonu smo videli

na²o sliko s statusom Commited, kar pomeni, da se je slika uspe²no naloºila.

Slika 3.13: Pogled naloºene slike na Windows Azure platformi.

3.5 Kreiranje predloge

Zadnji korak na²e namestitve je bil kreiranje predloge za delovno vlogo [9]. Predloga

vsebuje podatke o povezavi na²ega ra£una, naro£enih storitvah, razpoloºljivi politiki in o

drugih nastavitvah delovne vloge. Ko so delovne vloge dodane v ra£unalni²ko gru£o, se

lahko zaºenejo, s £imer se zagotovi vloga Windows Azure instance, ta pa jih nato aktivira

za izvajanje nalog v gru£i visoko zmogljivega ra£unanja.

Tudi predlogo za delovno vlogo smo izdelali v programu HPC Cluster Manager. V meniju

za nastavitve smo izbrali Node Templates in nato opcijo Windows Azure node template

in spet nas je £arovnik vodil preko obrazcev za potrebne nastavitve.

Slika 3.14: Izbira med razli£nimi predlogami.

V polje Template name smo vpisali ime predloge, v na²em primeru AzureHPCVM, opcij-

sko bi lahko vpisali tudi opis predloge.

Podobno, kot pri nalaganju slike, smo vpisali svoje naro£ni²ke podatke. V polje Sub-

scription ID identi�kacijsko kodo, v polje Management Certi�cates pa prstni odtis na²ega

certi�kata.

Page 39: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.5. KREIRANJE PREDLOGE 29

Slika 3.15: Izbira imena predloge.

Program je preveril na²e podatke in odprl obrazec za vnos informacij o storitvah. V polju

Service name smo izbrali ime storitve AzureHPCVM, v polju Storage account name pa

ime prostora za shranjevanje podatkov azurehpcstorage.

Slika 3.16: Vnos gostujo£e storitve in pomnilni²kega prostora.

Nato smo dolo£ili ime delovne vloge. V obrazcu se izbere tista vloga, ki se nato implemen-

tira s to predlogo. Moºno je izbrati med delovno vlogo, ki uporablja privzeti operacijski

sistem, in vlogo VM, ki uporabi vnaprej pripravljeno sliko virtualnega ra£unalnika. Glede

na to, da smo ºeleli uporabiti ºe pripravljeno sliko virtualnega ra£unalnika, smo izbrali

drugo opcijo. V polju VHD image smo izbrali HPCR2VMROLE.

Sledil je obrazec za nastavitev dostopa oddaljenega namizja. V tem delu se lahko nasta-

vijo podatki za dostop do Windows Azure sistema preko oddaljenega namizja. Podatki

morajo biti druga£ni, kot so podatki za dostop do domene. Prav tako mora biti uporab-

ni²ko ime druga£no, kot je uporabni²ko ime lokalnega uporabnika ali skupine.

Sledi obrazec za omogo£anje povezave z Windows Azure. V tem obrazcu lahko omogo-

£imo Windows Azure povezavi, da poveºe ra£unalnike lokalnega omreºja z ra£unalniki,

Page 40: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

30 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

Slika 3.17: Izbira tipa virtualnega ra£unalnika.

Slika 3.18: Kreiranje uporabni²kega imena in gesla za delo na daljavo.

ki bodo naloºeni s to predlogo. �e bi ºeleli to narediti, bi morali na tem mestu vpisati

poverilnice za ra£un Windows Azure in nato izbrati lokalno skupino, ki se bi povezala z

Azurjevimi vlogami. V na²em primeru tega ne potrebujemo, zato smo ta obrazec pustili

prazen. Nadaljevali smo z obrazcem za nastavitev pravil razpoloºljivosti.

Slika 3.19: Omogo£anje Windows Azure Connect.

Page 41: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

3.5. KREIRANJE PREDLOGE 31

Obrazec za nastavitev pravil razpoloºljivosti omogo£a nastavitev pravil po vnaprej do-

lo£enem urniku na tedenski osnovi, pri £emer se dolo£i dan in ura, ko se izbrane vloge

avtomatsko zaºenejo in zaustavijo. V na²em primeru tega ne potrebujemo, zato smo iz-

brali opcijo Start and stop nodes manually, kar pomeni, da bomo vloge zaganjali ro£no.

Slika 3.20: Izbira na£ina zagona.

Pred zaklju£no potrditvijo nam je £arovnik spet prikazal izbrane nastavitve, tako, da smo

imeli moºnost narediti eventualne popravke. Pregledali smo nastavitve imena vloge, pri-

javne identi�kacije, imena storitve, imena diskovnega prostora, vloge, prijavnega imena za

dostop preko oddaljenega namizja, povezave z lokalnimi ra£unalniki in nastavitev urnika.

Nastavitve smo potrdili z izbiro gumba Create.

S tem smo zaklju£ili z nastavitvami. V orodju HPC Cluster Manager smo med predlogami

vlog preverili ²e ²tevilo posameznih predlog. V desnem okviru smo videli eno predlogo

za glavno vlogo, ki je kreirana avtomatsko in je ni mogo£e spreminjati in dve predlogi

WinAzure VM. Okolje je bilo pripravljeno za izvajanje programov.

Ko smo imeli vse pripravljeno, smo se lotili zaganjanja ra£unalnikov v oblaku. V orodju

HPC Cluster Manager smo odprli okno upravitelj vozli²£ (ang. Node Management) in

izbrali dodajanje ra£unalnikov v gru£o Add Windows Azure nodes.

Page 42: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

32 POGLAVJE 3. NAMESTITEV STORITVE V OBLAKU WINDOWS AZURE

Slika 3.21: Povzetek predloge.

Slika 3.22: Prikaz ustvarjenih predlog.

Page 43: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Poglavje 4

Izvajanje aplikacij

4.1 Zagon ra£unalnikov v gru£i

Za zagon ra£unalnika smo v orodju HPC Cluster Manager izbrali akcijo Add nodes in

nato v obrazcu izbrali Add Windows Azure nodes [10].

Slika 4.1: Izbira metode delovanja na²ih ra£unalnikov.

�arovnik nam je odprl obrazec za speci�kacijo novih ra£unalnikov, kjer smo izbrali na²o

predlogo, ki smo jo de�nirali v zadnjem koraku nastavitev. V polju Windows Azure

template smo tako izbrali AzureHPCVM, v polju Number of Windows Azure nodes smo

izbrali en ra£unalnik in v polju Size of Windows Azure nodes velikost Small, kar pomeni,

da imajo ra£unalniki eno jedro in 2 GB RAM-a. Obrazec nas opozarja, da je skupina ra-

£unalnikov, ki jih zaºenemo preko predloge, obravnavana kot ena enota, zato v primeru,

da de�niramo ve£ ra£unalnikov, ne moremo posebej zaganjati ali ustavljati samo enega

med njimi.

33

Page 44: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

34 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.2: Izbira velikosti na²ih ra£unalnikov.

Pred dokon£no potrditvijo nas obrazec obvesti, da bomo v gru£o dodali dolo£ene ra£u-

nalnike in da bodo po vklju£itvi ostali v statusu, ko ²e ne bodo aktivni, kar pomeni, da

se tudi programi ²e ne bodo izvajali. Pred-nastavljena politika razpoloºljivosti za ra£u-

nalnike dolo£a, kako in kdaj se posamezni ra£unalniki aktivirajo.

Slika 4.3: Potrditev na²e izbire.

Zagon ra£unalnika je preprost � s klikom na desni gumb mi²ke se odpre obrazec za zagon,

na katerem izberemo gumb Start. Obrazec opozarja, da morajo biti ra£unalniki zagnani

kot skupina in da ra£unalniki v skupini koristijo isto predlogo in so povezani z isto stori-

tvijo Windows Azure. V polju Node template je ºe vpisano ime na²e predloge, pod njim

pa ²tevilo ra£unalnikov, ki se bo zagnalo.

V statusni vrstici vidimo, da so se spremenili statusi za zagnani ra£unalnik. Pod Node

State je oznaka Provisioning, kar pomeni, da se ra£unalnik aktivira, pod Node Health je

status Transitional in pod Progress je izpisan tekst Moving node AZURECN0044 from

Page 45: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.1. ZAGON RA�UNALNIKOV V GRU�I 35

Slika 4.4: Zagon ra£unalnika.

state NotDeployed .. , kar pomeni, da se na² ra£unalnik zaganja.

Potek zagona lahko spremljamo v spodnjem delu zaslona na zavihku Provisioning Log,

kjer imamo sicer a razpolago ²e ve£ zavihkov za kontrolo. V logu se izpisuje £as, tip

informacije, ki je v primeru, ko je potek normalen, informativen in nosi oznako i, zraven

pa se izpisujejo tudi obvestila. Tako lahko natan£no sledimo posameznim aktivnostim.

Slika 4.5: Dnevnik s podatki o ra£unalniku med zaganjanjem.

Status smo lahko preverili tudi na na²em Windows Azure ra£unu. V menijskem delu

smo izbrali postavko Hosted Services in v desnem delu zaslona dobili pregled gostujo£ih

storitev. Seznam je vseboval ime, tip in status storitve. Videli smo, da ima storitev

Deployment for Microsoft Windows statusu kreiranja Creating, po uspe²nem zagonu pa

Page 46: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

36 POGLAVJE 4. IZVAJANJE APLIKACIJ

dobi storitev status Ready, kar je prikazano na naslednjih ²tirih posnetkih zaslona.

Slika 4.6: Pogled na zaganjanje ra£unalnika v platformi Windows Azure.

Lahko smo spremljali dodajanje novih storitev, to je zagon streºnika HpcSmallVM, ki je

prehajal od statusa Initializing in Creating host do Ready. Po pridobljenem statusu Ready

je na² ra£unalnik pripravljen za delo. Pomembno je vedeti, da se ob posameznem zagonu

virtualnih ra£unalnikov dodatno aktivirata dva posredovalna streºnika (ang. Proxy), v

na²em primeru HpcProxy_IN_0 in HpcProxy_IN_1.

Slika 4.7: Zaganjanje ra£unalnika v platformi Windows Azure.

Slika 4.8: Inicializacija sistema in zaganjanje gostitelja.

Slika 4.9: Priprava ra£unalnika za prvo uporabo.

Potem, ko smo zagnali virtualne ra£unalnike v na²em oblaku, lahko kon£no zaºenemo ²e

pripravljeno vlogo. To naredimo tako, da v orodju HPC Cluster Manager izberemo na²

Page 47: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.2. UREDITEV OKOLJA ZA TEST APLIKACIJE 37

Slika 4.10: Priºgani ra£unalniki.

ra£unalnik z izbrano vlogo, ki je trenutno v statusu O�ine in jo s pomo£jo menija in

izbiro opcije Bring Online aktiviramo.

Slika 4.11: Omogo£anje delovnih vlog za ra£unanje.

4.2 Ureditev okolja za test aplikacije

Za kontrolo delovanja storitve visoko-zmogljivega ra£unanja smo vnaprej pripravili apli-

kacijo, ki tak²en na£in ra£unanja podpira v svoji zasnovi. Za izvedbo naloge smo izbrali

²tiri delovne vloge. Ker na²a aplikacija deluje tako, da razdeli ra£unanje na ve£ ra£u-

nalnikov, nato pa rezultate zdruºi, potrebujemo skupno podro£je, ki bo dostopno vsem

ra£unalnikom, ki sodelujejo pri ra£unanju. Odlo£ili smo se, da na eni od delovnih vlog

oziroma na enem od virtualnih ra£unalnikov, pripravimo mapo v skupni rabi, v katero

bodo posamezni ra£unalniki shranjevali svoje rezultate.

Page 48: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

38 POGLAVJE 4. IZVAJANJE APLIKACIJ

Najprej smo torej v orodju HPC Cluster Manager izbrali delovno vlogo in jo zagnali na

²tirih virtualnih ra£unalnikih in sicer po postopku, ki smo ga ºe opisali v to£ki 4.1. Nato

smo nadaljevali na Windows Azure platformi. Povezali smo se na enega od virtualnih

ra£unalnikov, tako, da smo v seznamu gostujo£ih storitev izbrali eno od delovnih vlog in

nato gumb �Connect� na desni strani zgornje menijske vrstice.

Slika 4.12: Povezovanje na enega od ra£unalnikov v oblaku.

Sistem nas sicer opozori na neznanega izdajatelja, kar je del varnostne za²£ite sistema, ki

smo jo nastavili v fazi priprave slike delovne vloge. Ker poznamo povezavo, jo potrdimo

z izbiro gumba Connect.

Naslednja varnostna za²£ita zahteva od nas poverilnice preko uporabni²kega imena in ge-

sla. Vpisali smo uporabni²ko ime in geslo, ki smo ga dolo£ili ob ustvarjanju predloge.

Prijava poteka podobno, kot z oddaljenim dostopom do �zi£nega ra£unalnika, oziroma

prijava na �zi£ni ra£unalnik.

Po izvedenih zagonskih programih in nastavitvah smo lahko pri£eli za nastavitvami za

na²o aplikacijo. Naredili smo novo mapo, poimenovali smo jo PiTest � na²a testna apli-

kacija namre£ ra£una ²tevilo Pi. Mapo smo uredili tako, da smo jo dali v skupno rabo in

s tem omogo£ili dostop iz drugih ra£unalnikov. Z desnim klikom na mi²ki se nam je odprl

meni, kjer smo izbrali opcijo �share with� in nato �speci�c people�.

Page 49: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.2. UREDITEV OKOLJA ZA TEST APLIKACIJE 39

Slika 4.13: Vnos uporabni²kega imena in gesla za povezavo na oddaljen ra£unalnik.

Slika 4.14: Kreiranje mape za skupno rabo.

Dodelili smo pravico skupne rabe za skupino, ki smo jo poimenovali enako, kot na²e upo-

rabni²ko ime. Nastavitev smo potrdili s pritiskom na gumb �Share�.

Omogo£ili smo skupno rabo za vsa omreºja. S tem je postala mapa PiTest v skupni rabi.

Dodatno smo preverili, da je mapa PiTest res dosegljiva tudi na ostalih ra£unalnikih. To

smo naredili tako, da smo se prijavili naslednji virtualni ra£unalnik in od tam poiskali

mapo. Mapo v skupni rabi lahko uporabljamo preko imena gostujo£ega ra£unalnika ozi-

roma njegovega naslova IP in imena, ki smo ga dolo£ili pri urejanju nastavitev skupne

rabe. Uporabili smo IP naslov, ki smo ga prebrali na gostujo£em ra£unalniku v koman-

dnem na£inu dela, tako, da smo vpisali ukaz ipcon�g. Mapo smo lahko odprli v brskalniku.

V mapo, ki je v skupni rabi, smo sedaj naloºili ²e na²o aplikacijo Pi.exe.

Page 50: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

40 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.15: Dodeljevanje pravic za dostop.

Slika 4.16: Vklop mreºnega raziskovanja.

4.3 Test sistema

Po izvedenih aktivnostih, opisanih v prej²njih to£kah, imamo pripravljeno okolje za test

visoko-zmogljivega ra£unanja v oblaku. �tirje ra£unalniki v gru£i, ki smo jih naredili na

osnovi slike delovne vloge, so priºgani in aktivni v oblaku Windows Azure. Na enem od

ra£unalnikov je pripravljena mapa PiTest v skupni rabi, kjer je naloºena aplikacija Pi.exe.

Pi.exe je aplikacija, ki z numeri£nem integriranjem funkcije

f(x)=4

1 + x2

na intervalu [0, 1] ra£una ²tevilo π. Pripravljena je tako, da se integracija lahko izvaja

vzporedno na ve£ porazdeljenih ra£unalnikih.

Kot prikazuje slika 4.17 program Pi.exe v prvi fazi izra£una delne integrale in v drugi fazi

zdruºi delne vsote v kon£ni rezultat. Za izra£un delnih integralov se v argumentih opredeli

ime opravila quad, zaporedna ²tevilka indeksa, ²tevilo procesorjev in aproksimacija

Page 51: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.3. TEST SISTEMA 41

pi.exe quad <index> <procNo> <accuracy> .

Program rezultat zapi²e v datoteko output_<index>.txt Za kon£ni izra£un se v argu-

mentih opredeli ime opravila sum in ²tevilo procesorjev

pi.exe sum <procNo> .

Program prebere rezultate delne integracije iz datotek output_0.txt do output_<procNo>.txt

in jih se²teje. Rezultat shrani v datoteko output_PI.txt.

Slika 4.17: Usmerjeni necikli£ni graf za ra£unanje ²tevila π.

Za zagon aplikacij oziroma nalog v gru£i HPC je potrebno imeti name²£ene pomoºne

programe za upravljanje klientov, ki jih vsebuje HPC Pack 2008. Med programi je tudi

integrirana aplikativna platforma Job Manager, ki omogo£a zagon, upravljanje in razvoj

paralelno delujo£ih aplikacij in predstavlja primarni vmesnik za izvajanje nalog v gru£i.

Z njim je mogo£e z enega mesta potrjevati, nadzirati in upravljati naloge ra£unanja. Vse

te naloge sicer lahko izvajamo tudi z ukazi v ²koljki HPC Power Shell ali preko spletnega

vmesnika HPC Basic Pro�le.

HPC Job Manager smo odprli tako, da smo med programi izbrali Microsoft HPC Pack

in nato HPC Job Manager. Ob prvem zagonu programa smo izbrali glavni ra£unalnik

na²e gru£e in nato pri£eli z nastavitvami naloge. Izbrali smo opcijo Job Management. S

pritiskom na akcijo New Job se nam je odprl obrazec, v katerega smo vpisali nastavitve

naloge.

Page 52: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

42 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.18: Graf funkcije f(x) =4

1 + x2in njen integral

∫ 1

0f(x)dx = π.

V nastavitvah Job Details smo vpisali samo ime naloge, in pustili privzete nastavitve pre-

dloge in prioritete. Job run options bi nastavili v primeru, da bi aplikacijo zaganjali po

dolo£enem urniku � ker bomo v na²em primeru nalogo zagnali ro£no, te nastavitve sedaj

niso potrebne. Med viri Job resources smo pustili privzeto nastavitev Core, prav tako smo

pustili privzete nastavitve za minimalno in maksimalno ²tevilo tipov virov, ki jih naloga

uporabi, to je avtomatski izra£un Auto-calculate. Nismo vklju£ili moºnosti Use assigned

resources exclusevly for this job, saj na ra£unalnikih ne bomo izvajali drugih nalog. Sicer

bi z izbiro te moºnosti lahko dolo£ili, da se v £asu izvajanje te naloge ne smejo izvajati

druge naloge.

V nastavitvah Edit Task smo uredili nastavitve opravil za izvedbo aplikacije v na£inu,

pri katerem razli£ne procese zaºenemo vzporedno z razli£nimi argumenti. Opravilo je

sestavljeno iz ve£ iteracij istega ukaza, ki ima dolo£ene vhodne parametre in izhodne

datoteke. Opravilo zahteva za£etno vrednost, vrednost pove£evanja in kon£no vrednost

argumenta.

Na²a naloga je sestavljena iz dveh opravil. V prvem opravilu vsak ra£unalnik oziroma

delovna vloga izra£una rezultat, v drugem opravilu, pa ena delovna vloga se²teje vse

rezultate, kar je kon£ni rezultat.

Page 53: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.3. TEST SISTEMA 43

Slika 4.19: Vpis imena aplikacije.

Prvo opravilo smo poimenovali �quad�. Opravilo ima ²tiri korake [11]. V prvem koraku

smo izbrali za£etno in kon£no vrednost iteracij. V polje Start Value smo vpisali ²tevilko

0, v polje End value pa ²tevilko 3. V drugem koraku smo dolo£ili ²tevilo za pove£evanje,

to je 1. S tem smo dolo£ili, da se bo ukaz izvedel v ²tirih iteracijah, od 0 do 3. V tretjem

koraku smo dolo£ili ukazno vrstico, delovno mapo, standardni izhod in standardno napako.

Ukazna vrstica vsebuje ime programa, to je Pi.exe in ustrezne argumente, ki jih zahteva

program. Argument �quad� dolo£a, da gre za ra£unanje delnega integrala. Zvezdica se

ob zagonu interpretira v zaporedno ²tevilko iteracije oziroma indeksa. �etrti korak je

pregled posameznih komand in standardnih izhodov.

Dolo£ili smo ²e drugo opravilo za se²tevek vseh rezultatov, kjer smo prav tako uporabili

program Pi.exe, tokrat z argumentom �sum�. Opravilu smo dolo£ili ukazno vrstico,

delovno mapo, standardni izhod in standardno napako. To opravilo se izvede samo enkrat,

zato smo ga de�nirali kot navadno opravilo.

V nastavitvah Task Dependency for Job smo dolo£ili ²e odvisnost med obema opravi-

loma. To smo naredili tako, da smo postavili tak²no pravilo, da se drugo opravilo ne

sme zagnati, dokler se uspe²no ne zaklju£i prvo opravilo. S tem smo prepre£ili morebitne

Page 54: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

44 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.20: Kon�guracija prvega opravila naloge.

napa£ne rezultate, do katerih bi pri²lo, £e bi se drugo opravilo izvedlo preden bi se kon£alo

ra£unanje iz prvega opravila.

Za izvedbo naloge smo izbrali ²tiri delovne vlog, ki smo jih pred tem zagnali. Naloga se

je pri£ela izvajati s pritiskom na gumb Submit.

Na monitorju nalog smo lahko opazovali morebitne napake, ki se lahko pojavijo, £e slu-

£ajno, katera od vloga ni dosegljiva. Na² program z ID-jem ²tevilko 116 se je pravilno

izvedel, zato smo se lahko ponovno prijavili na eno od delovnih vlog, pogledali mapo, ki

je v skupni rabi in prebrali rezultat, ki ga je program zapisal v tekstovno datoteko.

Page 55: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.3. TEST SISTEMA 45

Slika 4.21: Kon�guracija drugega opravila naloge.

Slika 4.22: Dolo£anje odvisnosti med opravili.

Page 56: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

46 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.23: Pogled na nastavitve naloge za izvedbo na²e aplikacije.

Slika 4.24: Izbira delovnih vlog za ra£unanje.

Page 57: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.4. RUDARJENJE BESEDIL 47

4.4 Rudarjenje besedil

Visoko-zmogljivo ra£unanje se v praksi vse bolj uporablja tudi na podro£ju strojnega u£e-

nja in umetne inteligence [12]. Gre za tako imenovano nadzorovano u£enje, ki pomeni

iskanje pravil v dolo£eni skupini podatkov in uporabo teh pravil pri klasi�kaciji novih po-

datkov. Za iskanje pravil oziroma lastnosti podatkov in ugotavljanje korelacije med njimi

se uporabljajo razli£ne tehnike, med bolj uveljavljenimi je metoda podpornih vektorjev

(ang. Support Vector Machine, SVM). Ta metoda je v uporabi tako pri razpoznavanju

visoko-dimenzionalnih podatkov, kot so na primer slike objektov, kot tudi na podro£ju

rudarjenja besedil.

Danes je kar 80 % vseh razpoloºljivih informacij shranjenih v obliki besedil, koli£ina infor-

macij pa z vse ve£jo uporabo interneta in informacijsko-komunikacijskih tehnologij nara²£a

eksponentno. Teºava izvajanja nalog pri metodah, kot je SVM je, da za velike koli£ine

podatkov zahtevajo izredno veliko ra£unanja, torej veliko procesorsko mo£ in veliko £asa.

Zato uporaba porazdeljenega na£ina ra£unanja v ra£unalni²kih gru£ah, kot ga omogo£a

v prej²njem poglavju opisani Windows HPC Server in Windows Azure, pomeni bistveno

pohitritev izvajanja tak²nih nalog.

Za potrditev te predpostavke smo na na²i gru£i za visoko zmogljivo ra£unanje izvedli

test klasi�kacije dokumentov v besedilnem korpusu (ang. The Reuters Corpus Volume

1, RCV1). To je prosto dostopna zbirka 806.791 dokumentov novic v angle²kem jeziku,

namenjena raziskovalnim skupinam. Zbirka RCV1 je zasnovana na principu dokumentov

XML, kar zagotavlja ve£jo konsistenco. Kategorije so urejene hierarhi£no. �tiri glavne

skupine pokrivajo podro£je industrije, ekonomije, vlade in trgovine in so naprej razdeljene

v 103 kategorije. Z vsebinskega vidika se klasi�kacija besedil izvede preko posameznih na-

log, ki jih predstavlja slika 4.25.

V zaporedni implementaciji je vsaka naloga izvedena s samostojnim izvr²ljivim progra-

mom, ki je sposoben procesirati vnaprej de�nirane vhodne datoteke in shranjevati rezul-

tate v ustrezne izhodne datoteke. Pri izvajanju programov v porazdeljenem okolju, kjer

izkori²£amo paralelno ra£unanje v ra£unalni²ki gru£i, se celoten postopek razdeli v zapo-

redje posameznih programov, ti pa se ²e naprej delijo v posamezna opravila, ki izvajajo

ra£unanje na dolo£enih segmentih podatkov in rezultate smiselno zdruºujejo. Pri tem je

potrebno dodatno identi�cirati in upo²tevati medsebojno odvisnosti med opravili. Od-

visnost med opravili prikazuje slika 4.26, kjer to£ke s £rkovnimi oznakami predstavljajo

posamezna opravila iz sklopa nalog, opisanih na sliki 4.25, usmerjene pu²£ice pa nakazu-

jejo povezave in odvisnosti med posameznimi opravili.

Page 58: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

48 POGLAVJE 4. IZVAJANJE APLIKACIJ

Slika 4.25: Pregled nalog pri klasi�kaciji besedil.

Za predstavitev dokumentov je uporabljen nabor besed iz zbirke RCV1, kjer vsaka posa-

mezna beseda predstavlja lastnost ali klju£ni izraz, njena vrednost pa predstavlja mo£ te

lastnosti. Dolo£anje uteºi besedam se lahko predstavi v obliki ena£be:

u(wi) = tf(wi)× log( |D|df(wi)

) ,

� wi predstavlja besedo v slovarju,

� tf(wi) pomeni ²tevilo pojavitev besede wi v dokumentu,

� |D| je ²tevilo dokumentov,

� df(wi) je ²tevilo dokumentov, v katerih se beseda wi pojavi.

Metoda podpornih vektorjev je matemati£ni postopek, ki se uporablja v fazi u£enja in

sicer tako, da analizira podatke, prepoznava vzorce in korelacije med podatki in na osnovi

pridobljenih rezultatov dolo£i klasi�katorje. Vsak dokument je opisan z vektorjem uteºi

besed.

Ob analizi toka klasi�kacije se dolo£ijo splo²na opravila klasi�kacije besedila od A do

H, predstavljenih na sliki 4.25, ki se nato implementirajo v porazdeljeno okolje. �tevilo

paralelnih opravil za posamezne naloge je izbrano tako, da je doseºeno ravnoteºje med

obremenitvijo ra£unanja in komunikacijskega prenosa pri delitvi.

Page 59: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.4. RUDARJENJE BESEDIL 49

Slika 4.26: Odvisnost med stanji pri rudarjenju besedil z modelom SVM na podatkovnem

korpusu RCV1.

� Naloge zajema podatkov A, dolo£anja korenov besed B in gradnje slovarja C so z

optimizacijo algoritmov zdruºene v eno nalogo ABC, ta pa je z namenom izkori²£anja

gru£e za visoko zmogljivo ra£unanje razdeljena v deset paralelnih opravil, od ABC0

do ABC9.

� Rezultati posameznih paralelnih opravil naloge ABC se zdruºijo v opravilih A'0 in

A'1. Nalogi ABC sledi naloga C'D, ki je sestavljena iz opravila zdruºevanja podatkov

izgradnje slovarja C' in naloge D, to je odstranjevanja besed, ki se v slovarju redko

pojavijo.

� Nalogi C'D sledita dve nalogi dolo£anja uteºi. Naloga E0 je namenjena izgradnji

podatkov za u£enje. Naloga E1 pa izgradnji testnih podatkov. Naloga dolo£anja

uteºi E1 je z namenom pohitritve na ra£un izkori²£anja HPC gru£e razdeljena v

deset paralelnih opravil, od E10 do E19, ki jim sledi opravilo zdruºevanja podatkov

E1'.

� Podobno, kot v primeru nalog ABC in C'D, je tudi naloga izgradnje u£nih in testnih

podatkov F zdruºena z nalogo u£enja G v nalogo FG in z nalogo testiranja H v

nalogo FH. Naloga u£enja FG se izvaja po zaklju£enih nalogah zbiranja podatkov

A'0 in dolo£anja uteºi E0 v dveh paralelnih opravilih FG0 in FG1, od katerih vsaka

Page 60: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

50 POGLAVJE 4. IZVAJANJE APLIKACIJ

obdeluje pet kategorij.

� Po zaklju£enih nalogah zbiranja podatkov A'1, dolo£anja uteºi E1' in u£enja FG,

se izvede ²e zadnja naloga FH, to je testiranje klasi�katorjev na testnih podatkih.

Naloga FH je razdeljena v pet paralelnih opravil, od FH0 do FH4, pri £emer vsako

opravilo obdeluje dve kategoriji.

4.4.1 Analiza meritev

Testno smo izmerili £ase delovanja programov v sekven£ni implementaciji, ki je tekla na

virtualnem ra£unalniku v oblaku in jih primerjali s £asi v paralelnem na£inu delovanja.

Za sekven£no implementacijo smo uporabili ra£unalnik z 1,6 GHz procesorjem in 1,75 GB

RAM pomnilnika, za paralelno delovanje smo uporabili 10 ra£unalnikov, vsak z 1,6 GHz

procesorjem in 1,75 GB RAM pomnilnika. Naredili smo pet meritev na vsakem sistemu

in analizirali rezultate, ki so predstavljeni na sliki 4.27

Slika 4.27: Primerjava sekven£nega in paralelnega sistema.

Iz analize je razvidno, da je povpre£ni £as sekven£nega izvajanja programov 3.197 sekund.

Standardni odklon, s katerim merimo statisti£no razpr²enost, je majhen, 53 sekund ali

Page 61: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

4.4. RUDARJENJE BESEDIL 51

1,67%, kar pomeni, da so meritve koncentrirane okoli aritmeti£ne sredine in niso mo£no

razpr²ene. Povpre£ni £as izvajanja programov v paralelnem na£inu je 841 sekund. Stan-

dardni odklon je 41 sekund ali pribliºno 5 %, kar pomeni nekoliko ve£jo razpr²enost, kot

pri meritvah sekven£nega izvajanja programov in gre predvsem na ra£un zadnjega merje-

nja. Pohitritev smo izra£unali kot kvocient med povpre£nim £asom sekven£nega izvajanja

in povpre£nim £asom paralelnega izvajanja in zna²a 3,8. U£inkovitost 0,38 smo izra£unali

glede na maksimalno ²tevilo ra£unalnikov, ki smo jih uporabili za paralelno ra£unanje,

tako, da smo pohitritev delili z 10. Podatek u£inkovitosti je nekoliko slab²i, kar je po-

sledica arhitekture programskih sklopov, pri katerih je paralelizem z desetimi streºniki

vklju£en samo pri izvajanju dveh nalog, eno nalogo smo izvedli brez paralelizma, eno smo

izvedli paralelno na dveh streºnikih in eno paralelno na petih streºnikih.

Page 62: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

52 POGLAVJE 4. IZVAJANJE APLIKACIJ

Page 63: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Poglavje 5

Zaklju£ek

Do pred nedavnim je bila organizacija prisiljena vlagati veliko energije in sredstev v opti-

malno na£rtovanje in uvajanje informacijskih sistemov, ²e posebej na podro£ju omreºne

in streºni²ke infrastrukture, kot tudi sistemskega in razvojnega programskega okolja. Z

naglim nara²£anjem koli£ine podatkov za obdelavo in vse ve£jo informacijsko podporo

poslovnim in drugim procesom je bilo potrebno zagotavljati tudi vse ve£jo razpoloºljivost

in varnost informacijskih sistemov. Poslovni procesi so v veliki meri postali odvisni od

kvalitete delovanja programskih re²itev, ki pa so med drugim odvisni tudi od optimalno

urejenega sistemskega dela. Razvijalci in skrbniki programskih re²itev morajo poskrbeti

za dinami£ne spremembe pri zagotavljanju programske podpore in pri£akujejo, da bodo

v vsakem hipu imeli na razpolago zadostno koli£ino procesorskih in spominskih virov za

izvajanje svojih programov. Zato morajo sistemski skrbniki pri uvajanju streºni²kih sis-

temov upo²tevati maksimalne moºne potrebe po virih, kar pa pomeni, da se kupujejo

sistemi, ki niso ves £as v celoti izkori²£eni. V velikih organizacijah je uvedba virtualiza-

cije, zdruºevanje streºnikov v gru£e in razvoj omreºja pomnilni²kih naprav pripomogla k

bolj racionalni izrabi teh virov, za manj²e �rme pa je to lahko resen problem, saj so ti

sistemi dragi, neracionalni stro²ki pa jim zniºujejo konkuren£nost na trgu.

Dinamika razvoja in sprememb v programih za podporo poslovnim in drugim procesom

je iz dneva v dan ve£ja. Prav tako smo pri£a vse ve£jim zahtevam po kvalitetnih informa-

cijah, pridobljenih s pomo£jo obdelave velikih koli£in podatkov, pridobljenih iz razli£nih

virov. Organizacije si na ta na£in i²£ejo poslovne priloºnosti in konkuren£no prednost na

trºi²£u, zato je naloga ra£unalni£arjev, da poskrbimo za hitro prilagoditev novim zahte-

vam. To pa pomeni, da moramo imeti na razpolago kvalitetne ra£unalni²ke sisteme, ki

zagotavljajo ustrezne sistemske nastavitve in strojne vire.

53

Page 64: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

54 POGLAVJE 5. ZAKLJU�EK

Vzdrºevanje in upravljanje streºni²kih in omreºnih sistemov zahteva dokaj visoka sred-

stva, pri £emer je potrebno zagotoviti ustrezno razpoloºljivost, varnost in u£inkovitost,

kot tudi primeren prostor, elektri£no mo£ in hlajenje. Uvajanje sprememb v sistemskem

delu je draºje, kot uvajanje programskih sprememb. V primeru, da se pojavi potreba po

dodatnih strojnih virih, je tak²no pove£anje lahko dolgotrajno. Najprej moramo kupiti

ustrezno opremo, jo umestiti k obstoje£i opremi, pri tem zagotoviti dodatno hlajenje in

elektri£no mo£, nato moramo namestiti sistemsko programsko opremo in eventualno do-

datno opremo, pri £emer moramo poskrbeti, da je sistem ume²£en in urejen v skladu z

varnostno politiko �rme.

Izku²nja s storitvami v oblakih nas je privedla do novih spoznanj o ²irokih moºnostih iz-

kori²£anja naprednih informacijskih tehnologij in optimizaciji izrabe ra£unalni²kih virov.

S testom izvajanja programov za rudarjenje besedil, kjer se uporablja ra£unsko zahtevna

metoda podpornih vektorjev, smo dokazali, da je Microsoftova storitev Windows Azure s

svojim streºnikom za visoko zmogljivo ra£unanje dobra re²itev tudi na tem podro£ju, saj

prina²a znatno pohitritev kategoriziranja besedil. Vse to kaºe na velike potenciale storitev

v oblaku, ki so lahko tudi konkuren£na prednost, saj poleg pohitritev prina²ajo prihranke

pri zagotavljanju sistemske in programske podpore. Obenem omogo£ajo razvijalcem pro-

gramske opreme, da bolj kvalitetno testirajo nove programe in programske spremembe.

In ²e ve£. Omogo£ajo tudi dinami£no prilagajanje sistemskih virov dejanskim potrebam

programov, kar pomeni, da uporabnik lahko hitreje pride do potrebnih podatkov in in-

formacij, kot v primeru klasi£nih sistemov. Pri tem pa se jim niti ni potrebno ukvarjati s

prostorskim problemom, £e je potrebno sistem raz²iriti.

Seveda je pri tem potrebno vloºiti tudi nekaj energije. Programske re²itve morajo omo-

go£ati visoko-zmogljivo ra£unanje, kar pomenu, da je potrebno programe predelati ali

napisati nove. Ker ne moremo pri£akovati, da bi se organizacije lahko odpovedale ²te-

vilnim, ºe uvedenim programom, tudi hiter prehod v tak²no okolje morda ni mogo£. Z

vidika obrabe sistemov morda tudi neracionalen. Pa vendar je tudi v tem delu uporaba

storitev v oblaku lahko smiselna, saj ponuja kombinacijo sistemov v lokalnem okolju s

sistemi v oblaku. Tako se organizacija lahko odlo£i, da bo uporabljala nove storitve v

oblakih, stare pa integrirala in jih izvajala v svojem lokalnem delu, ali pa se odlo£i za

postopen prehod.

Namestitev vseh komponent in vlog v Windows Azure se morda zdi na prvi pogled zaple-

teno. Zahteva vrsto predlog in nastavitev, ki pa so podprte s £arovniki, ki nas vodijo skozi

posamezne nastavitve in nam sproti podajajo potrebne informacije. Prav te predloge nam

Page 65: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

55

prihranijo £as pri nadaljnjem upravljanju sistema.

Na vpra²anje, ali naj organizacija pri£ne uporabljati storitve za visoko-zmogljivo ra£una-

nje v oblaku, bi bil na² odgovor vsekakor pritrdilen. Seveda pa je potrebno tudi v tem

primeru, tako kot pri vsaki ve£ji spremembi informacijskega sistema, narediti natan£no

analizo obstoje£ega stanja in ºelenih ciljev.

Page 66: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

56 POGLAVJE 5. ZAKLJU�EK

Page 67: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

Literatura

[1] (2010) Windows HPC Server 2008 R2 released . Dostopno na: http://www.onwindows.

com/Articles/Windows-HPC-Server-2008-R2-released/5294/Default.aspx

[2] (2011) Windows PC Server and WIndows Azure . Dostopno na: http:

//www.davidchappell.com/writing/white_papers/Windows_HPC_Server_and_Windows_

Azure,_v1.2--Chappell.pdf

[3] (2010)Prepare Your Windows Server 2008 R2 for Hyper-V Role. Dostopno na: http:

//www.petri.co.il/prepare-your-windows-server-2008-for-hyper-v-role.htm

[4] (2012)App Services. Dostopno na: https://www.windowsazure.com/en-us/develop/

net/app-services/

[5] (2012)Create a VHD for VM Nodes. Dostopno na: http://technet.microsoft.com/

en-us/library/hh184311%28v=ws.10%29.aspx

[6] (2012)Con�gure the Management Certi�cate for Windows Azure. Dostopno na: http:

//technet.microsoft.com/en-us/library/gg481759%28v=ws.10%29.aspx

[7] (2012) Create a Hosted Service and a Storage Account in Windows Azure. Dostopno

na: http://technet.microsoft.com/en-us/library/hh314624%28v=ws.10%29.aspx

[8] (2012) Upload a VHD to Windows Azure. Dostopno na: http://technet.microsoft.

com/en-us/library/hh184312%28v=ws.10%29.aspx

[9] (2012) Create a Windows Azure VM Node Template. Dostopno na: http://technet.

microsoft.com/en-us/library/hh184319%28v=ws.10%29.aspx

[10] (2012) Start the Windows Azure VM Nodes. Dostopno na: http://technet.

microsoft.com/en-us/library/hh184309%28v=ws.10%29.aspx

57

Page 68: Visoko zmogljivo ra£unanje v oblaku Windows Azurecore.ac.uk/download/pdf/11679255.pdf · sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI . V Ljubljani,

58 LITERATURA

[11] Andrej Dobnikar, Uro² Lotri£. "Porazdeljeni sistemi za modeliranje, paralelno pro-

gramiranje in procesiranje", 2008.

[12] Catarina Silva, Uro² Lotri£, Bernardete Ribeiero, Andrej Dobnikar. "Distributed

Text Classi�cation With an Ensemble Kernel-Based Learning Approach", 2010.

[13] (2008) Hadoop Map-Reduce Tutorial. Dostopno na: http://hadoop.apache.org/

docs/r0.17.0/mapred_tutorial.html