Professional Documents
Culture Documents
Mostar, 2015
SADRAJ:
1. DEFINICIJA I PREGLED GRID RAUNALNIH SUSTAVA .................................................. 5
1.1
Uvod ......................................................................................................................... 5
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
Uvod ....................................................................................................................... 26
2.2
2.3
2.4
2.5
Replikacija .............................................................................................................. 33
2.6
3.2
3.3
3.4
3.5
3.6
3.7
Uvod ...................................................................................................................... 46
4.2
5. RAUNARSTVO U OBLAKU..................................................................................... 51
5.1
5.2
5.3
5.4
5.5
1.2
1.3
Virtualizacija memorije.......................................................................................... 65
1.4
1.5
1.6
Uvod ...................................................................................................................... 81
3.2
3.3
3.1
3.2
4.2
4.3
4.4
Primjeri................................................................................................................... 92
4.5
4.6
Slijedea slika pokazuje kako zajedniko dijeljenje resursa moe pridonijeti efikasnijem
koritenju.
Kako je i povezivanje elemenata elektrine mree sadravalo niz izazova koji su vremenom
rijeeni (velika uloga Nikole Tesle!) tako i povezivanje raunalnih resursa imaju analogne
izazove:
1.2.1 E-znanost
Evolucija Grid sustava poinje sredinom 90-tih. Kao i niz drugih tehnologija (npr. Internet)
poetno se javlja u znanosti gdje stalno postoji potreba za obradom i pohranom velike
koliine podataka. To je naroito izraeno u podrujima geofizike, fizike, astronomije, kemije
i drugima, a to je zajedniki oznaeno kao eZnanost (eScience). Da bi se potaknuo razvoj
eZnanosti potaknute su mnoge internacionalne i nacionalne inicijative iji cilj je bio da se
potakne ulaganje u zajednike raunalne resurse i specijaliziranu opremu, te utvrde naini
efikasnog zajednikog koritenja.
Jedna od prvih inicijativa bila je unutar CERN organizacije koja je potekla od potreba obrade i
pohrane podataka generiranih od strane LHC eksperimenta. etiri detektora generiraju
podatke reda veliine PB/god i ukljuuju preko 2000 korisnika i 150 institucija u obradi istih.
Obrada takve koliine podataka bila je iznad mogunosti jedne organizacije i kao takva
zahtijevala je udruivanje resursa ukljuenih istraivakih organizacije. tovie CERN nije bio
samo inicijativa ve u okviru CERN-a djeluje vie raunalnih timova koji su dali te i dalje daju
znaajan doprinos razvoju komponenti Grid-a.
U okviru CERN-a zaeta je i ira inicijativa EGEE (Enabling Grid for E-SciencE) za podruje EU i
koja obuhvaa 50-ak zemalja. Inicijative ovakvog opsega imaju zadatak odabira i
standardizacije tehnologija koje e se koristiti.
1.2.2 Poslovna primjena
U poslovnoj primjeni raunalni sustav treba omoguiti korisniku da za uloena sredstva
dobije vrijednost koja e mu omoguiti da se konkurentno natjee na tritu. Dananja
globalna ekonomija zahtijeva od poduzea neke nove karakteristike poput visoke agilnosti,
globalizacije aktivnosti i poveane mobilnosti. Posebno je bitna agilnost tj. da se u svakom pa
i informatikom pogledu odgovori na brze eksterne i interne promjene.
Veina postojee IT infrastrukture u poduzeima nije dovoljno fleksibilna tj. ne moe se
dovoljno brzo ni predvidljivo adaptirati promjenama u poslovanju. Na tom podruju
virtualizacija resursa , njihova integracija te uvezivanje moe podii agilnost.
Globalizacija poslovanja namee izgradnju globalne-distribuirane informatike infrastrukture
poduzea kako bi se efikasno podralo lokalno poslovanje.
U isto vrijeme i korisnici unutar poduzea postaju sve vie mobilni i ele sa bilo koje pozicije
koristiti sustav na isti nain. Osim toga sve je vea koliina senzora koji prate procese u
poduzeu i koji distribuirano generiraju podatke koje je potrebno obraditi u sustavu.
Postavlja se pitanje koji su to elementi Grid sustava koji se poklapaju s ovim zahtjevima.
Pokazalo se da je trend u distribuciji i decentralizaciji IT resursa u suprotnosti s efikasnom
upotrebom koja zahtijeva konsolidaciju.
Za distribuirane raunalne centre karakteristini su slijedei vezani problemi:
Grid raunalne tehnologije su meu prvima koje su pokuale reducirati broj raunalnih
vorova u distribuiranim raunalnim centrima kako bi se postigla vea iskoritenost
distribuiranih i heterogenih resursa unutar poduzea.
Napredak u tehnologiji virtualizacije omoguio je znaajan stupanj razdvajanja fizikih
raunalnih resursa i aplikacija, to je dovelo do vee prihvaenosti Grid koncepata te kao
nadgradnje razvoja Cloud koncepta kao slijedeeg stupnja konsolidacije tj. outsourcinga
raunalnih resursa vanjskim opskrbljivaima.
ire prihvaanje Grid sustava u poslovnom okruju jo nije predvidljivo zbog niza razloga:
Odgovor bi trebao biti pozitivan na sva pitanja. Navedena pitanja opet naglaavaju analogiju
s elektrinom mreom. Elektrina mrea je uvezana na svjetskom nivou, nema sredinju
kontrolu, koristi usuglaene i otvorene standarde i moe na gotovo svakoj prikljunoj toki
dati korisniku prihvatljivu kvalitetu servisa.
Ipak resursi koje isporuuje Grid raunalni sustav su raznovrsniji od struje/napona u
elektrinoj mrei. Resursi koji se dijele u Grid sustavu se mogu podijeliti u:
Raunalna/procesna snaga
Pohrana podataka
Mrena propusnost
Aplikacije
Od navedenih resursa danas samo mrena propusnost koja se veim dijelom realizira kroz
Internet daje pozitivan odgovor na Fosterova testna pitanja. Svi ostali elementi su jo u
razvoju i trebat e neko vrijeme da se Grid s potpunim pravom moe pisati velikim poetnim
slovom. Zasad imamo niz razliitih raunalnih sustava koji u svojoj podlozi vie ili manje
implementiraju razliite Grid tehnologije.
Fabric layer (fabriki sloj): to su fiziki resursi koji se dijele unutar Grid sustava. To bi bili
raunala, sustavi pohrane, mrena oprema, senzori zajedno s njihovim unutarnjim softverom
(firmware) koji im daje osnovnu funkcionalnost.
Connectivity layer : sadrava osnovne (standardizirane) komunikacijske i protokole
autentikacije koji su potrebni za ostvarivanje Grid funkcionalnosti. Omoguavaju izmjenu
podataka resursa fabrikog sloja. Najznaajnije su funkcije ovog sloja su transport,
usmjeravanje, imenovanje kao i podrka za sigurnu komunikaciju. Pri tome sigurna
komunikacija treba imati svojstvo da korisnik jednom prijavom/autentikacijom dobiva
mogunost da koristi sustav i da dobivena prava moe delegirati aplikaciji koju pokree u
sustavu.
Resource layer: koristi komunikacijske i sigurnosne protokole prethodnog sloja za upravljanje
sigurnim pregovaranjem, inicijalizacijom, nadgledanjem, raunovodstvom i naplatom
resursa.
Collective layer: odgovaran je za upravljanje resursima na globalnoj razini te interakciju
kolekcije resursa. Kolektivni sloj primjenjuje niz servisa dijeljenja resursa. Najbitnije
funkcionalnosti ovog sloja su: imenici, koalokacija, servisi rasporeda i brokeringa,
dijagnostiki i monitoring servisi te servisi replikacije podataka. Na ovom sloju se realizira i
autorizacija na nivou organizacija i lanova organizacija, kao i regulacija koritenja servisa.
Application layer: ukljuuje aplikacije koje se isporuuju na Grid sustav. Bitno je naglasiti da
se ne moe svaka aplikacija isporuiti na Grid. Samo aplikacija (Grid enabled) koja je
dizajnirana ili modificirana da moe se paralelno izvravati na Grid infrastrukturi moe imati
dobiti od izvravanja na istoj.
Grid saima heterogeni sustav u jedno veliko raunalo i stoga potencijalno moe
raunalnom zadatku dodijeliti ogromnu raunalnu snagu.
o Neki zadaci (job/task) se mogu razbiti u vie pod-zadataka, od kojih svaki
moe biti pokrenut na razliitom stroju. Npr. matematiko modeliranje,
simulacija subatomskih estica, renderiranje slika, 3D animacija. Takve
aplikacije se mogu napisati da se pokreu kao neovisni zadaci i rezultati podzadataka se kombiniraju kako bi se dobio eljeni izlaz.
o Meutim, ne mogu se svi zadaci razbiti na takav nain. Moe postojati i
ogranienje na koliko se pod-zadataka moe razbiti neki zadatak, to limitira
maksimalno poveanje performansi bez obzira na raspoloive resurse. Stoga
postoji ogranienje na vrste zadataka koje se mogu uspjeno izvravati u Grid
sustavu.
Dijeljenje resursa omoguava znatno vee iskoritenje nego kad korisnici koriste
zasebne resurse (zbog neistovremenosti zahtjeva za resursima).
Podie se robusnost i pouzdanost sustava zbog lake zamjenjivosti dijelova sustava, tj.
mogunosti da sustav nastavlja raditi nakon ispada pojedinih komponenti (uvijek
lake realizirati u veim sustavima)
o Pretpostavimo da je korisnikov posao poslan na izvravanje. Posao alocira
odgovarajue resurse (vor na Gridu) ovisno o dostupnosti i politici rasporeda
(schedulling policy) Grid sustava. Pretpostavimo pad vora dok izvrava posao.
Grid osigurava da se posao automatski ponovo poalje nekom drugom
dostupnom voru.
o Data Grid definiran je kao Grid za upravljanje i dijeljenje velike koliine
podataka. Moe se koristiti u razne svrhe. Jedna od njih je da se povea brzina
dohvata datoteka. Vie kopija podataka moe biti distribuirano na razliitim
geografskim pozicijama. Ako korisnik treba podatke oni mogu biti dohvaeni s
najblieg stroja koji dri podatke. Dalje, ako su neki od strojeva u data Gridu
iskljueni, drugi strojevi pruaju rezervu. Ako se zna (monitoring) da odreeni
stroj ee dohvaa odreene podatke, oni mogu biti smjeteni na neki bliski
stroj.
o Dakle, korisnik se ne brine ni o mjestu obrade niti o mjestu pohrane podataka.
Prelazak na novu paradigmu je dugoroan projekt koji treba biti paljivo planiran
kako ne bi poremetio poslovanje sustava
Servisni (usluni) Grid, fokusiran na pojedine usluge (npr. mail usluge, sigurnosne
usluge,)
Pojam Eneterprise Grid koristi se kada se Grid raunalstvo koristi u okviru jednog poduzea.
Sve komponente sustava i dalje funkcioniraju unutar vatrozida jednog poduzea, ali mogu
biti heterogene i fiziki distribuirane na razliite lokacije, a time i pripadati razliitim
administrativnim domenama. Koritenjem Enterprise Grid midllewarea svi raspoloivi resursi
mogu se prvo virtualizirati i zatim upravljati na unificiran i centraliziran nain. To omoguava
da se resursi alociraju procesima prema potrebi. U dijeljenje se mogu ukljuiti i
nespecijalizirani resursi poput desktop raunala. Takvi sustavi sadre bar osnovne sustave
nadgledanje, analizu i upravljanje pogrekama u sustavu. Najvei problem irenju ovakvih
sustava je nedostatak standardizacije pa su ovakvi sustavi najee nadgradnja postojeih
sustava (Oracle Enterprise Grid, Sun Grid Engine, HP Adaptive Enterprise, Aneka).
Jedan od primjera Grida na nivou poduzea jeste Enterprise Grid farmaceutskog poduzea
Novartis. 2003 su posjedovali oko 65000 desktop PC raunala s procjenom da je oko 90%
CPU vremena neiskoriteno. Istovremeno poduzee ima velike zahtjeve za proraunima
vezanim za nove lijekove (struktura bjelanevina). Isto tako sa strane sigurnosti poeljno je
da se prorauni odvijaju unutar poduzea. Uvezivanjem svih resursa postigli su da proraune
kojima treba 6 godina na jednom raunalu izvedu na Enterprise Gridu za 12 sati. Troak
implementacije Grid sustava bio je oko 350 000, a sustav je zamijenio najmanje 2 miliona
vrijednu opremu.
1.8.2.3 Usluni Grid sustav
Grid sustav koji je u posjedu tree strane i koji nudi/prodaje usluge procesiranja i pohrane
podataka najee po sustavi plati koliko koristi, nazivamo uslunim Grid sustavom. Takav
sustav djeluje izvan vatrozida korisnika. Jedan od najvei ponuaa takvih usluga je tvrtka
Amazon kroz svoj proizvod AWS (Amazon Web Services http://aws.amazon.com/). Korisnik
niti posjeduje Grid niti ima kontrolu nad njegovim djelovanjem. Korisnik alje/pohranjuje
podatke na usluni Grid, obrauje ih, vraa rezultate nazad. Tu se postavljaju pitanja
sigurnosti i privatnosti podataka. Korisnik mora procijeniti rizike za podatke koje alje vani
svog vatrozida. Meutim ovakav nain koritenja omoguava najveu fleksibilnost
(elastinost resursa) za korisnika.
Arhitektura partnerskog Grid sustava moe se promatrati kao kolekcija neovisnih reursa
(grozdovi, sustavi pohrane i sl.) povezani preko Globalnog Grid midllewarea. Dostupni su
preko suelja/portala.
Hardver i operacijske platforme koje se koriste mogu biti heterogene. Dok jedan grozd moe
biti Linux/Intel drugi moe biti Solaris/Sparc. Tu heterogenost treba savladati Grid
midlleware. Zajednika infrastruktura podie pitanja sigurnosti i privatnosti na viu razinu.
Posebno osjetljivo pitanje u VO jeste tko koordinira upotrebu resursa. Najee to ini lan s
najveim resursima ili trea strana (npr. Grid appliance).
Grid zajednice
Grid zajednice se zasnivaju najee na donaciji slobodnih resursa privatnih korisnika.
Najpoznatiji primjer Grid zajednice je SETI@HOME ili Folding@home.
Middleware ukljuuje softver ili pakete koje koristimo za implementaciju Grida, poput
Globus Toolkita ili gLite. Grid midlleware se da grupirati po funkcionalnosti.
1.9.1 Sigurnost
Poeljno je da Grid sustav moe osigurati tri sigurnosna elementa.
To su:
autentikacija
autorizacija.
Pojedinana prijava znai da se korisnik moe jednom logirati u sustav i nakon toga moe
pristupati resursima sustava u odreenom vremenu. Autentikacija se odnosi na osiguranje
dokaza identiteta korisnika. Npr. kad se logirate na email raun , vi se autenticirate serveru
davanjem korisnikog imena i zaporke. Autorizacija je proces kojim se utvruju privilegije
pojedinog korisnika. Autorizacija se obavlja nakon autentikacije. Grid sustavi moraju
osigurati sustav za upravljanje vjerodajnicama (credential management) i delegaciju
privilegija.
1.9.2 Upravljanje resursima (resource management)
Grid mora obavljati optimizaciju upotrebe resursa kako bi se osigurala maksimalna
propusnost. Kad korisnik poalje posao na obradu, Grid sustav koristi servise otkrivanja
raspoloivih i odgovarajuih resursa. Komponenta Grid sustava koju nazivamo Grid
rasporeiva (Grid scheduller) ima zadatak da odlui na koji resurs i u koje vrijeme e poslati
odreeni zadatak. Odluka o rasporedu donosi se na osnovu niza faktora. Npr. ako su neki
poslovi oznaeni da ovise o izvrenju drugih poslova, rasporeiva to mora uzeti u obzir te
poslove izvravati sekvencijalno. Odluka o rasporedu takoer moe ovisiti o prioritetu posla
vezano za SLA.
1.9.3 Upravljanje podacima (data management)
Upravljanje podacima u Grid sustavima vezano je za razliite aspekte upravljanja velikom
koliinom podataka. To ukljuuje siguran pristup podacima, replikaciju i migraciju podataka,
upravljanje metapodacima, indeksiranje, raspored poslova koji vodi obzira o lokaciji
podataka (data aware schedulling). Data aware schedulling treba posjedovati algoritme
kojima e odrediti na kojemu je mjestu najpovoljnije izvriti neku obradu podataka s obzirom
na njihov smjetaj. Ponekad e to biti blizu lokacije podataka, a ponekad e zbog
preoptereenja procesnih resursa na lokaciji biti potrebno transferirati podatke na neko
drugo mjesto. Moduli za upravljanje podacima trebaju osigurati brz, siguran i pouzdan
mehanizam prijenosa podataka unutar Grid sustava.
1.10.2 Open Grid service architecture (OGSA), Open Grid services infrastructure (OGSI)
Godine 2002, Globus project i IBM inicirali su razvojni projekt kojim se postiglo usklaenje
Grid raunalstva s Web servisima. To je rezultiralo s OGSA arhitekturom. OGSA definira
funkcionalnost niza web servisa potrebnih za implementaciju Grida te ih naziva Grid
servisima. Ovim standardom se nastoji da pojedini servisi poput otkrivanja resursa,
upravljanja resursima, sigurnosti , itd. poprime standardiziranu formu. Definira i niz ne
nunih, ali korisnih servisa za Grid sustave.
OGSA je slojevita arhitektura s jasnom separacijom funkcionalnosti svakog sloja koja je
prezentirana na slijedeoj slici.
Usluno raunalstvo i SaaS su dva komplementarna trenda: usluno raunalstvo moe postati
trino uspjeno samo ako postoji kritina masa aplikacija koje e se pogoniti na njemu. SaaS
treba za izvoenje odgovarajuu infrastrukturu. Prema tome slijedei prirodni korak bio bi
ujedinjenje dvaju trendova uz sljedee smjernice:
Sve ovo dobivamo s novom online platformom koja se naziva raunalstvo u oblaku (Cloud
computing). Dakle raunalsvo u oblaku je konvergencija Grid raunalstva, uslunog
raunalstva i SaaS. Predstavlja najnoviji korak u stalnom trendu eksternalizacije IT resursa,
poput raunalnog procesiranja, pohrane, poslovnih aplikacija tj. nabavom istih kao servisa.
super-raunalo ne moe obraditi. Zato je odabrana Grid arhitektura (kao virtualno superraunalo!). LHC je potaknuo niz istraivakih projekata diljem Europe. U Americi je vie
panje posveeno Gridu kao openitoj strukturi za raunalne probleme. Globus projekt je
producirao Globus toolkit koji se iroko koristi za konstrukciju Grid sustava. rasporeiva
poslova razvijen u okviru Condor projekta dao je znaajan doprinos HPC-u. I u drugim
dijelovima svijeta radi se na znaajnim Grid projektima.
1.12.1 Ameriki projekti
Globus projekt uglavnom se bavi tehnologijama vezanim za Grid infrastrukturu te izdaje i
odraava skup softverskih alata Globus toolkit (GT). GT sadrava slojevit niz Grid alata
potrebnih za realizaciju osnovnih servisa vezanih za sigurnost, otkrivanje resursa, upravljanje
resursima, komunikaciju, itd. U posljednjim verzijama zasnovan je na web servisima.
Open Science Grid(OSG) je Amerika Grid infrastruktura za znanstveno istraivanje. U okviru
OSG organizirana je ogromna koliina raunalnih i sustava pohrane podataka. Trenutno
obuhvaa 50-ak lokacija irom SAD, Azije i June Amerike. Sastoji se od dva Grid sustava.
Integracijskog Grida i Produkcijkog Grida. Integracijski Grid namijenjen je znanstvenoj
zajednici te razvoju aplikacija i servisa. Produkcijski Grid namijenjen je industriji i osigurava
stabilno procesno i okruenje za pohranu podataka. Produkcijski servisi su Computing
Element (CE), Storage Element (SE), Virtual organization (VO), Membership service i Service
Catalouge.
TeraGrid je Grid sustav koji se sastoji od high-end raunalnih i resursa pohrane podataka
distribuiranih na 7 lokacija. Za taj sustav razvijen je poseban softver nazvan Common
TeraGrid Software Stack (CTSS). CTSS je instaliran na svim raunalima to osigurava
homogenost servisa potrebnu za odreene Grid aplikacije.
2. UPRAVLJANJE PODACIMA
2.1 Uvod
Kako Grid sustave moemo podijeliti u raunalne Gridove i podatkovne Gridove, upravljanje
s podacima u Grid sustavima moemo promatrati u okviru raunalnih Gridova ili kao zasebnu
kategoriju. Zasebno gledano to znai sustav za distribuiranu pohranu podataka koji podrava
pristup, sinkronizaciju i koordinaciju distribuiranih podataka pohranjenih na meusobno
udaljenim mjestima.
U prvoj definiciji smatramo da ne postoji znaajan prijenos podataka tj. da je problem
raunanja izraeniji nego problem prijenosa podataka. Tada se obino podaci mogu prenijeti
zajedno s izvrnom datotekom na mjesto raunanja.
Druga definicija fokusira se na procesiranje velike koliine distribuiranih podataka. To su
podaci koji zbog svog opsega i intenzivnog pristupa istima ne mogu se pohraniti na jednom
mjestu (serveru) bilo zbog procesnih kapaciteta servera ili mrene propusnosti.
Jedno od rjeenja je primjena data Grida kojim se podaci distribuiraju po razliitim
lokacijama (lokalno ili udaljeno) te se nastoji iskoristiti procesna snaga i kapacitet
pojedinanih resursa kako bi se postigla ujednaenje optereenja.
DDBMS (distributed database management system) i data Grid se koriste sline okoline
(fiziki distribuirana mrea), ali postoje razlike. Data Grid je u potpunosti heterogen to se
nastoji izbjei kod DDBMS-a. Heterogenost se oituje u razliitoj reprezentaciji podataka i
razliitim sustavima za pohranu podataka. DDBMS uobiajeno koristi homogene izvore
podataka. Drugo, DDBMS moe u potpunosti kontrolirati podatke tj. operacije kao to su
insert, delete, update su atomine operacije koje osiguravaju konzistenciju svih podataka.
Data Gridovi obino nemaju potpunu kontrolu izvora podataka. To znai da mogu dopustit
istovremene operacije pisanja i itanja (posljedice?). Kao posljednje, data Gridovi operiraju s
mnogo veim koliinama podataka te sustav mora biti izrazito skalabilan.
replikacija podataka
sinkronizacija podataka
integracija podataka
prijenos podataka
Nakon otkrivanja skupa podataka korisnik dobiva informaciju o zahvaenom skupu podataka
te nakon toga moe dalje pristupati istima.
2.3.4 Transport podataka
Zbog distribuiranosti podataka u Grid sustavima operacije u Grid sustavima ukljuuju veliki
broj prijenosa podataka. Stoga upravljanje podacima zahtijeva brz i pouzdan mehanizam za
prijenos podataka. File transfer protocol (FTP) je jedno od rjeenja. FTP realizira efikasnu
transmisiju podataka kroz mreu, bilo LAN ili WAN. Za potrebe Grid sustava razvijen je i
usvojen GridFTP protokol koji zajedno s Grid Security Interface (GSI) omoguava brz,
pouzdan i siguran prijenos podataka. GridFTP u svojim funkcijama prua sve aspekte koje bi
trebao imati uspjean prototip prijenosa podataka u Grid sustavima:
Restartable transfer ako doe do prekida transfera isti se moe nakon oporavka
nastaviti od mjesta pogreke.
Konzistentan skup transakcijskih kopija (Consistency Level 2). Ako sve replike za neko
mjesto pohrane (site) kreiramo u jednom transakcijskom postupku onda moemo
garantirati konzistentnost novo-kreiranih replika. Meutim i dalje nismo sigurni da e
te replike biti stalno konzistentne s replikama koje nisu pod naom kontrolom (druga
lokacija - site). Dakle, ovaj stupanj konzistencije ne osigurava konzistenciju izmeu
lokacija (site).
Konzistentan skup aurnih transakcijskih kopija (Consistency Level 3). Svaka replika u
Grid sustavu identina je s drugim replikama. Operacije kljuanja itaj/pii se
obavljaju na nivou svih mjesta u okviru odreene Grid okoline. Vrlo teko se postie.
Zahtijeva da se sve zahtjevi operacija nad podacima alju kroz jedinstvenu toku
pristupa te da nije dozvoljen pristup van Grid-a.
lokacijama zahtijevaju uzimanje u obzir globalnih i lokalnih pravila i prava pristupa. Osim
administratora Grid sustava i osiguravatelj resursa moe odluivati koja prava koji korisnik
ima.
Grid sustavi koriste i raunovodstveni sustav kojim se biljei povijest koritenja resursa. Ta
informacija se moe iskoristiti za predvianje budueg optereenja resursa. Na osnovu
povijesti koritenja sustava moe se odluiti gdje postaviti replike podataka.
2.3.8 Pristup podacima i upravljanje pohranom podataka (Data Access and Storage
management)
Metode pristupa podacima su vrlo razliite. Distribuirani datoteni sustav (DFS) organizira
distribuirane datoteke u formi stabla. Datoteni sustav moe biti pohranjen u bazu podataka
(SQL). Korisnici trebaju uniforman nain (suelje) za dohvat podataka. Korisnik postavlja upit
te na osnovu njega dobiva eljene podatke. Upravljanje pohranom podataka treba na nekom
sustavu pohrane osigurati kreiranje prostora za pohranu, datoteni sustav (moe biti
realiziran i s bazom podataka), te osnove operacije pohrane.
Meta-podaci o replikama: veza izmeu logikog naziva datoteke i njene jedne ili
vie replika koje mogu biti pohranjene na razliitim datotenim sustavima ili
bazama podataka
Korisniki metapodaci. Korisniki podaci sadre informaciju o korisniku koji kreira, koristi ili
modificira podatke. Dakle, ime i prezime, adresa , email, telefon. Korsni ima i atribut o
domeni kojoj pripada te moe imati niz atributa pripadnosti pojedinim grupama.
Metapodaci o aplikacijama. Podatke generiraju aplikacije (mogu biti dio strojeva).
Metapodaci o aplikacijama mogu sadravati podatke opisa sadraja podataka, uvjete pod
kojima su podaci proizvedeni ili neke druge podatke koji mogu posluiti kao uputa za daljnje
procesiranje.
Metapodaci o resursima. Tu pripadaju karakteristike resursa pohrane podataka poput
adrese pristupa, fizike lokacije, tipa resursa, liste dozvole pristupa.
2.5 Replikacija
Nova replika podataka se kreira zato to nova lokacija pohrane omoguava bolje
performanse neke aplikacije. replika se moe izbrisati zbog nedostatka prostora, isteklog
ivotnog vijeka ili drugih razloga. U Grid okolinama s aplikacijama koje obrauju podatke
pristup podacima prethodi veini operacija. Prvo se preko servisa metapodataka slanjem
upita s atributima podataka obavlja traenje podataka. Servis metapodataka vraa logike
nazive datoteka korisniku ili aplikaciji. Logiki naziv datoteke alje se servisu za upravljanje
replikama koji vraa listu lokacija s jednom ili vie replika. Servis za odabir replike pronalazi
najpogodniju repliku. Pri tome se koristi drugim servisima kojima se prati rad sustava
pohrane i prijenosa podataka.
Metapodaci o replikama sadravaju podatke o mapiranju instanci neke datoteke na
odreene lokacije pohrane. Npr. jedna od implementacija je da metapodaci sadre
mapiranje izmeu logikog naziva datoteke i GUID (globally unique identifier). GUID je 128bitni broj koji garantira da odreeni podatak ima jedinstveni identifikator unutar Grid
okoline. Lokalni sustav pohrane koristi i dodatne lokalne identifikatore.
Katalog replika. To je servis za registraciju replika te postavljanje upita. Kad se replika kreira
ona se upisuje u katalog tj. upisuje se njena fizika lokacija te vee s logikim nazivom
(GUID). Brisanjem replike brie se i njena oznaka u katalogu.
Upravljanje replikama osigurava mehanizme za kreiranje i brisanje replika na mjestima
pohrane.
Odabir replike je postupak traenja optimalne replike iz niza raspoloivih replika. Cilj je
postii veu propusnost sustava. Servis odabira replike moe i naloiti kreiranje novih replika.
Kako bi se iskoristili limitirani mreni resursi postoje razliite tehnike transfera podataka kod
kojih se koriste u paraleli viestruki vorovi pohrane podataka.
Prijenos podataka s ko-alokacijom. Kako se replikacija ve uestalo primjenjuje svaki skup
podataka (dataset) posjeduje viestruke kopije na razliitim lokacijama. Umjesto
transferiranja skupa podataka s jedne lokacije, moe se transfer podijeliti u niz manjih
transfera dijelova skupa podataka s razliitih lokacija. Finalno se dijelovi sastavljaju na
odreditu. Ovaj postupak nazivamo transfer s ko-alokacijom.
Ko-alokacijski transfer posjeduje nekoliko mehanizama alokacije. Dva su osnovna tipa :
statefull i stateless.
Kod stateless alokacije klijent koji eli transfer vee se na niz servera na kojima su replike
locirane. Cijeli dataset se dijeli na niz jednakih dijelova i svaki dio se vue s posebne lokacije.
Kod ovog mehanizma nije potrebno odravati podatke o opsegu pojedinog dijela te ga je vrlo
lako realizirati. Meutim, kao ne koristi podatke o trenutnim performansama prijenosa od
pojedinih lokacija, tako je mogue da optereenje nije pravilno rasporeeno i da nam
pojedini dijelovi podataka kasne.
Statefull alokacijski mehanizam uzima u obzir stanje na lokaciji replike, mrenu
propusnost,.itd. te na osnovu toga odrediti koliki dio podataka e povui s odreene lokacije.
Postoje dva osnovna pristupa u donoenju odluka:
I jedno i drugo se doznaje preko informacijskih servisa. Meutim raspored poslova nije tako
jednostavan kako na prvi pogled izgleda. Postoje sluajevi koji kompliciraju odluku o
rasporedu:
zadatak moe biti razdijeljen na vie pod zadataka koji se obavljaju na razliitim
vorovima sustava
zadatak zahtijeva veliku koliinu ulaznih podataka ; nije ga mogue poslati na prvi
slobodni vor
Podatke Grid informacijskog sustava zbog velike geografskih udaljenosti resursa i koliine
podataka nije zgodno drati na jednom mjestu jer to mjesto tada predstavlja jedinstvenu
toku pogreke sustava (single point of failure) i nije dovoljno skalabilno. najee se koristi
hijerarhijska struktura.
mapiranje ili strategija rasporeivanja poslova. Cilj je maksimizirati funkciju cilja koja se
zasniva na QoS atributima poput vremena izvravanja, vremena odziva ili drugih koje
zahtijevaju korisnici HC sustava.
m2
m3
z1
10
20
14
z2
20
40
24
z3
10
20
18
Vrijeme dostupnosti stroja (Machine availability time): Najranije vrijeme kad stroj
postaje slobodan. To znai da je izvrio sve prethodno dodijeljene zadatke. Oznaava
se s mat(j). Iz prethodnog cij= mat(j)+ eij.
Jo moemo definirati makespan kao vrijeme potrebno da se izvre svi zadaci nekog metazadatka. To je mjera propusnosti nekog sustava.
3.2.1.1 Oportunistiko balansiranje optereenja (oportunistic load balancing)
Kod oportunistikog balansiranja zadatak se dodjeljuje prvom slobodnom stroju. Ako je vie
strojeva dostupno bira se proizvoljno. Ne uzima se u obzir vrijeme izvravanja na tom stroju.
Ovaj algoritam oekivano ima loe performanse za sve vrste ETC matrica.
3.2.1.2 Lakomo ili minimalno vrijeme kompletiranja (Fast Greedy or Minimum Completion
Time (MCT) )
Kod ovog algoritma se proizvoljno odabran zadatak dodjeljuje stroju koji ima minimalno
vrijeme izvrenja za taj tip zadatka (min(mat(j)+ eij)) . Kod ove heuristike neki zadaci nee biti
dodijeljeni na stroj koji ih najefikasnije izvrava. Ova heuristika ima dobre performanse za
polu ili nekonzistentne ETC matrice, ali loe za konzistentne ETC matrice.
3.2.1.3 Minimalno vrijeme izvravanja (Minimum Execution Time (MET))
U ovoj heuristici proizvoljno odabran zadatak se dodjeljuje stroju koji ima najkrae vrijeme
izvravanja za taj tip zadatka. Kako ova heuristika ne uzima u obzir vrijeme dostupnosti
stroja, moe uzrokovati ozbiljnu nebalansiranost optereenja sustava za konzistentne ETC
matrice. Prednost je jednostavnost implementacije.
3.2.1.4 Preklopni algoritam (Switching Algorithm - SA)
Ovaj algoritam koristi naizmjenino MCT i MET heuristiku kao bi se ouvalo ravnomjerno
optereenje strojeva u sustavu. SA algoritam zasnovan je na slijedeoj ideji: MET algoritam
moe kreirati disbalans optereenja, dok MCT heuristika popravlja balans dodjeljujui
zadatke stroju s najranijim vremenom izvrenja. Stalno se prati mjera balansiranosti sustava
te prema potrebi prebacuje s jednog na drugi algoritam (MCT,MET).
3.2.1.5 Min-Min
Min-min mapiranje je zasnovano na ideji da e raspored zadatka na nain da se minimizira
ponovno vrijeme dostupnosti nekog stroja vjerojatno proizvesti manji makespan za metazadatak.
Algoritam:
3.2.1.6 Max-Min
Ovo je slina heuristika kao min-min mapiranje.
Algoritam:
Max-min heuristika e openito nadmaiti min-min heuristiku kada je broj manjih zadataka
vei od broja velikih zadataka. Ona e prvo poslati due zadatke na izvravanje, a zatim e se
manji zadaci moi paralelno izvravati s velikima. To bi u pravilu trebalo smanjiti makespan.
ugroava i volatilnost resursa, tj. to resursi mogu se pridruiti ili izai iz Grida u bilo koje
vrijeme. Dakle takvi sustavi zahtijevaju specijalne arhitekture i strategije rasporeda poslova.
Sustav za raspored zadataka u Grid sustavu moe se podijeliti na tri dijela: politika rasporeda,
funkcija cilja i algoritam rasporeda. Politika rasporeda sastoji se od niza pravila kojima se
definira alokacija resursa za posao. Npr. u Grid organizaciji poslovi koje alje odjel A mogu
imati vei prioritet od poslova grupe B. To znai da ako su u stigli na raspored u isto vrijeme
onda poslovi od A e biti rasporeeni prije poslova od B. Funkcija cilja dodjeljuje svakom
moguem rasporedu neku usporedivu vrijednost(i) koja nam omoguava da se odabere
odreeni raspored. Algoritam rasporeda treba proizvesti raspored blizak optimalnome uz
prihvatljivo vrijeme izvravanja i koritene resurse.
Postoje dvije osnovne arhitekture rasporeivaa za Grid raunala: centralizirana i
decentralizirana. Algoritmi koji se primjenjuju u rasporedu se kreu od prilagoenih
algoritama koji se koriste i na obinim paralelnim strojevima do posebno razvijenih
algoritama.
3.3.1 Centralizirano rasporeivanje poslova
U centraliziranoj okolini svi zadaci se rasporeuju na paralelne strojeve (grozdove) iz jednog
sredita. Zbog toga je na to centralno mjesto potrebno prikupiti i sve informacije o stanju
sustava. Ovakav koncept nije skalabilan s porastom veliine Grid sustava. Osim toga prekid
mrenih veza rasporeivaa utjee na sve vezane resurse. Meutim ovakav rasporeiva ima
mogunost da izvodi vrlo efikasan raspored poslova.
Ova paradigma rasporeivanja poslova korisna je za jedan raunalni centar, gdje se svi
raunalni resursi koriste za jedan cilj. U tom sluaju i prekid komunikacije je malo vjerovatan.
O ovom scenariju poslovi se alju centralnom rasporeivau. Svi poslovi koji se ne mogu
odmah pokrenuti stavljaju se u centralni red ekanja.
Dalje moemo razluiti rasporeivae prema tome kako se resursi kombiniraju za izvravanje
poslova. Ovo razluivanje moe se primijeniti i na decentralizirane rasporeivae.
Rasporeivanje na jednu lokaciju (single site)
Posao se obavlja na jednom paralelnom stroju. Mogu se upotrijebiti dobro poznati algoritmi
za balansiranje optereenjem (FCFS, Backfill). Latencije za potencijalno komunikaciju izmeu
poslova se ne razmatraju velike brzine komunikacije unutar paralelnog stroja.
Rasporeivanje na vie lokacija (multi site scheduling)
Dijelovi posla koji se obavljaju na razliitim strojevima imaju loije uvjete komunikacije.
Sustav za raspored ima otean zadatak ako je potrebno sve poslove pokrenuti u isto vrijeme.
3.3.2 Hijerarhijska struktura rasporeivanja poslova
Mogua konfiguracija u raunalnim Gridovima je koritenje centralnog rasporeivaa koji
prima poslove, a svaka paralelni stroj posjeduje vlastiti rasporeiva. Ova struktura
posjeduje svojstva i centraliziranog i decentraliziranog rasporeivanja, ali zbog jednog mjesta
prijema poslova moemo je okarakterizirati kao preteno centraliziranu. Prednost
hijerarhijske strukture je to se mogu koristit razliite politike rasporeda u centralnom i
lokalnim rasporeivaima. Centralni rasporeiva je neka vrsta meta-rasporeivaa koji vri
redirekciju poslova na redove ekanja u lokalnim rasporeivaima prema nekoj politici
rasporeda.
samo jedno mjesto. Sustav je i skalabilniji. Pad jednog rasporeivaa nee utjecati na cijeli
sustav. Nedostatak u odnosu na centralni rasporeiva koji ima potpunu informaciju o stanju
cjelokupnog sustava je sub-optimalni rasporeda poslova. Osim toga s ovakvom vrstom
rasporeivanja poslova jo tee je ostvariti podrku za aplikacije koje se izvravaju na vie
lokacija.
Slijedi prikaz dva sluaja decentraliziranih arhitektura. Svi poslovi su poslani lokalno.
Direktna komunikacija
3.4.1.1 First-Come-First-Served
U First-Come-First-Served (FCFS) shemi rasporeda poslovi su poredani na osnovu njihova
vremena prijave (submission). Nakon pojave resursa za njegovo izvravanje posao koji je prvi
pristigao alje se na izvravanje. Prednosti FCFS su:
to je fair (pravedan) algoritam jer vrijeme izvravanja posla je neovisno o bilo kojem
poslu koji je poslan poslije njega
Nedostaci:
Moe proizvesti rasporede u kojima neki vorovi e biti bez posla due vremena (idle)
Konzervativni backfilling: U ovoj varijanti se resursi rezerviraju za svaki posao kad isti
pristigne na red ekanja. Poslovi se mogu micati naprijed u redu sve dok to ne
ugroava odreeno vrijeme izvravanja posla drugih poslova (ne samo onoga na
elu). Tako e se dugi poslovi teko probiti u redu izvravanja. Meutim to titi iroke
poslove koji ulaskom u red izvravanja dobivaju garantirani poetak izvravanja .
Agresivni ili EASY backfilling: U ovoj vrsti backfillinga samo posao na elu liste ima
rezervaciju izvravanja. Dui poslovi imaju veu ansu da se probiju jer ih ograniava
samo jedna rezervacija izvravanja posla na elu. Meutim iroki poslovi mogu biti
potisnuti jer ne dobivaju prednost u izvravanju sve dok se ne probiju na elo.
Ovisno o sastavu poslova, vezano za irinu i duinu svaka shema ima svoje prednosti i
nedostatke. Ponekad se upotrebljavaju dva reda ekanja, jedan s konzervativnim,a drugi s
agresivnim backfillingom.
velike koliine resursa (velika koliina informacija, veliki broj korisnika : potrebna
decentralizacija, hijerarhijska struktura)
Gledano na nivou web servisa novi web servis se moe kreirati koritenjem postojeih web
servisa te je u tom sluaju definiran redoslijed pozivanja i izvravanja sastavnih web servisa.
Razne aplikacije s podruja bio-informatike, astronomije, fizike visokih energija, itd.
zahtijevaju orkestraciju razliitih resursa i izvravanje kompleksnih workflow-a.
Grid workflow se moe podijeliti linearni, Acikliki i ciklini.
Acikliki workflow moe biti opisan aciklikim grafom gdje su vorovi zadaci, a grane
su meuovisnosti zadataka. Tee se opsuju skriptnim jezicima, zahtijevaju poseban
workflow jezik.
4.1.1 Autentikacija
Autentikacija potvruje identitet entiteta u mrenom okruju. Taj entitet moe biti korisnik,
proces ili resurs.
Pretpostavimo da elite komunicirati s raunalom na mrei koje tvrdi da ima odreeni
identitet. Proces autentikacije omoguava vam provjeru deklariranog identiteta.
Najjednostavniji proces autentikacije je upotreba korisnikog imena i passworda. Drugi nain
je Kerberos, koji koristi simetrinu kriptografiju kljua za autentikaciju vezano za
klijent/server aplikacije. Tehnologija koja je kljuna za Grid sustave je Public Key
Infrastructure (PKI). PKI opisuje sigurnosni sustav koji za koristi za identifikaciju X.509
certifikate. Takvi certifikati se izdaju od strane visoko povjerljivih organizacija poznatih kao
CA (certifitying authorities). Npr. korisnik moe biti igrati razliite uloge u sustavu i biti lan
razliitih VO u isto vrijeme. Razliite VO se mogu sloiti da koriste iste ili razliite CA. Stoga
korisnici mogu koristiti razliite dokumente certifikacije (credential) isto vrijeme.
4.1.2 Autorizacija
Autorizacija je drugi korak u uspostavljanju povjerenja izmeu dva entiteta u Grid sustavu.
Predstavlja verifikaciju privilegija koje su dodijeljene entitetu koje moe koristiti u pristupu
resursu ili servisu unutar Grid sustava. Autorizacija slijedi nakon uspjeno obavljene
autentikacije. U Grid sustavima vlasnici resursa posjeduju mogunost davanja ili odbijanja
pristupa resursima.
Najranije autorizacijske tehnike poput Globus Toolkit Gridmap su bile datoteke koje su imale
mapirane globalne nazive Grid korisnika i lokalne nazive rauna. Grid korisnik je time
dobivao prava koje mu je lokalni administrator dodijelio i u skladu s lokalnom politikom
sigurnosti. Ovaj pristup zahtijeva da svaki administrator dri aurnim sadraj datoteke za
mapiranje, to je u Grid sustavima zbog velikog broja korisnika zahtijevan zadatak.
Verzija certifikata
Izdava
...
Hash kod sadraja certifikata enkriptiran javnim kljuem izdavatelja certifikata (ne
ukljuuje polje hash koda)
Hash polje titi polja certifikata od izmjena koje mogu nastati u slanju nesigurnim mrenim
kanalima.
5. RAUNARSTVO U OBLAKU
Raunarstvo samo po sebi da bi bilo potpuno virtualizirano mora omoguiti da se raunala
potpuno izgrade iz distribuiranih komponenti kao to su obrada, pohrana, podaci, softverski
resursi.
Tehnologije kao to su cluster, Grid, i sada raunarstvo u oblaku, sve imaju za cilj pruanje
pristupa velikim koliinama raunalne energije u potpuno virtualiziranom nainu, udruujui
resurse i pruajui jedan pogled na sustav. Znaajan cilj ovih tehnologija je isporuka obrade
podataka kao usluge. Usluna obrada oznaava poslovni model za na-zahtjev isporuku
raunalne energije, a potroai plaaju pruatelju usluge temeljeno na koritenju (platikoliko-potroi), slino nainu na koji trenutno primamo usluge iz ustaljenih javnih usluga
kao to su voda, struja, plin i telefonija. Raunarstvo u oblaku je zajedniki naziv da se opie
kategorija sofisticiranih na-zahtjev raunalnih servisa poetno ponuenih od komercijalnih
pruatelja usluga, kao to su Amazon, Google, i Microsoft. Ono obiljeava model pod kojim
se raunalna infrastruktura gleda kao oblak, iz kojeg poslovni i individualni subjekti
pristupaju na-zahtjev aplikacijama koje se nalaze bilo gdje u svijetu. Glavni princip iza modela
je pruanje obrade, pohrane i softvera kao usluge.
Ove razine apstrakcije se mogu razmatrati kao slojna arhitektura gdje se slojevi vie razine
mogu sastojati od usluga nieg sloja. Meuprogram upravlja fizikim resursima i prividnim
strojevima (eng. virtual machine) postavljenim iznad njih, nadalje, prua traene
karakteristike (preraunavanje i naplaivanje) da bi ponudio plati-koliko-potroi usluge
viestrukim zakupcima. Razvojna okruenja raunarstva u oblaku izgraena su na
infrastrukturnim uslugama da bi imali mogunost razvoja aplikacija i sposobnost
implementacije na ovoj razini. Sastoje se od razni programskih modela, biblioteka, API-ja
(eng. application programming interface) i ureivaa koji omoguuju kreiranje raznovrsnih
poslova, Web, i znanstvenih aplikacija. Jednom postavljene u oblak, ove aplikacije mogu
koristiti krajnji korisnici.
Iako je raunarstvo u oblaku proizalo iz javnih raunalnih usluga, drugi modeli
implementacije, s varijacijama s obzirom na fiziku lokaciju i distribuciju su takoer usvojeni.
U tom smislu, bez obzira na tip klase, oblak se moe klasificirati kao javni, privatni,
organizacijski, ili hibridni bazirano na modelu implementacije.
Javni oblak se moe shvatiti kao oblak koji je dostupan javnim korisnicima putem platikoliko-potroi naina, a privatni oblak kao interni centar podataka poslovne ili druge
organizacije, koji nije dostupan javnim korisnicima.
U veini sluajeva, postavljanje privatnog oblaka znai restrukturiranje postojee
infrastrukture dodajui virtualizaciju i pripadno suelje oblaka. Ovo omoguuje korisnicima
interakciju s lokalnim podatkovnim centrom dok istovremeno koriste iste prednosti koje
imaju javni oblaci.
Mjerljiva usluga IaaS usluga je izmjerena i naplaena na bazi jedinica (instanci) koje
su potroene. Plaanje za ono to koristimo i kada koristimo.
Fiksni model fiksni model na mjesenoj bazi. Na tromjeseju ili na godinjoj bazi za
pretplaenu konfiguraciju.
Privatni oblak cilja na pruanje funkcionalnosti javnog oblaka, ali sa privatnim resursima, dok
odrava kontrolu na podacima organizacije i resursima da bi sve bilo u suglasnosti s mjerama
sigurnosti i zahtjevima upravljanja u organizaciji. Privatni oblak izlae visoko virtualizirani
podatkovni centar u oblaku smjeten unutar vatrozida organizacije. Moe se takoer raditi o
privatnom prostoru namijenjenom za vau tvrtku unutar podatkovnog centra u oblaku
prodavaa kreiranim da upravlja radnim optereenjima organizacije.
Hibridni oblak
Vano je navesti i trei tip instalacije oblaka nazvan hibridni oblak, u kojem kombinacija
privatnih/internih i eksternih resursa oblaka egzistira zajedno omoguavanjem
eksternaliziranja (eng. outsourcing) nekritinih usluga i funkcija u javnom oblaku, a kritine
ostaju zadrane interno. Glavna funkcija hibridnog oblaka je oslobaanje resursa iz javnog
oblaka i rukovanje iznenadnim zahtjevima za koritenje, to je nazvano cloud bursting.
Virtualizacija hardvera
Virtualizacija softvera
Virtualizacija memorije
Virtualizacija podataka
Virtualizacija mree
Potrebno je naglasiti da virtualizacija nije pogodna samo za velike raunalne centre i velike
poslovne ili znanstvene organizacije. IT profesionalci i krajnji korisnici mogu i imat e velike
koristi od virtualizacije.
1.1.1 to je to hypervisor
Softver za virtualizaciju kojeg nazivamo hypervisor emulira raunalni hardver dozvoljavajui
da se na jednom raunalu pokree vie operacijskih sustava. Svaki gostujui OS ima utisak da
posjeduje vlastiti procesor, memoriju i ostale resurse.
Hypervisor
Manji trokovima uslijed konsolidacije servera / bri povrat investicije: Sada kad je
mogue da se viestruki operacijski sustavi izvravaju na jednom stroju/platformi
mogue je znaajno reducirati broj servera, ormara te posebno reducirati sustav
napajanja i hlaenja.
aplikacije. Neki programi zahtijevaju odreene pomone aplikacije ili okoline, a aplikacije i
okoline mogu biti u konfliktu s postojeim aplikacijama ili novim aplikacijama.
Virtualizacija softvera omoguava da se izvri apstrakcija instalacije softvera i da se kreira
virtualna instalacija softvera. Virtualizirani softver je aplikacija koja je instalirana u zatvorenu
samostalnu jedinicu.
U Windows okolini ta jedinica sadrava virtualni registry , %TEMP% direktorij i mjesto za
pohranu podataka. Takva aplikacija postaje jedna cjelina koja se isporuuje na nain kao da
se kopira datoteka na neku lokaciju. Aplikaciji se moe dozvoliti interakcija s okolinom ili da
ostane zatvorena u okviru sebe. Instalacijski postupak aplikacije u ovakvom sluaju postaje
postupak poput diff operacije. Nakon konfiguracije istog operacijskog sustava uzima se
snimka okoline (snapshot). Nakon toga instalira se aplikacija te ponovo radi snapshot cijele
okoline. Razlika izmeu snimaka je zapravo virtualizirana aplikacija.
directory mehanizmima koji daju dozvole pokretanja softvera. Time se vrlo lako moe
odrediti i strojevi i korisnici koji imaju pravo pokretanja aplikacije pa ak i vremena
kad mogu pokretati aplikacije.
Migracija softvera: Premjetanje korisnika s jedne platforme na drugu zna biti vrlo
zahtjevan zadatak. Ako su aplikacije izolirane od operacijskog sustava onda migracija
aplikacija se svodi na kopiranje.
Datoteni server (File server): Operacijski sustav pie na udaljenu lokaciju bez
potrebe da razumije kako se pie na fiziki mediji.
pNFS: komponenta NFS 4.1 sustava, pNFS /parallel NFS), moe zahtijevati podatke s
udaljenog NFS dijeljenog prostora. Meutim podaci mogu biti pohranjeni na
razliitim lokacijama i medijima. Traitelj podataka nije svjestan toga gdje su podaci
jer dohvat i isporuku podataka obavlja NFS server.
Manje brige za krajnjeg korisnika koji ne mora posjedovati tehnika znanja o tome
gdje i kako su podaci pohranjeni niti o sigurnosnim mehanizmima pristupa.
Vjerojatno ete nakon ovog koraka dobiti upozorenje kao na slijedeoj slici. Ono u osnovi
znai da SSL certifikat koji se koristi na ESXi stroju nema vae povjerenje. Ako ste sigurni da
dolazi s vaeg servera moete ga ignorirati ili izabrati instaliranje certifikata u vau lokalnu
pohranu certifikata kako se isto upozorenje ne bi vie javljalo.
Nakon logiranja u vSphere klijent kliknite na adresu vaeg server i izaberite New Virtual
Machine
Slika 5: Imenovanje VM
Za sluaj vjebi koristimo sustav lokalne pohrane na samom ESXi hostu. Dakle pohrana nije
na SAN ureaju kako je to uobiajeno. Stoga e virtualni stroj biti sadran na lokalnom
sustavu pohrane, kako to pokazuje slijedea slika.
VMware povremeno uvodi nove verzije formata virtualnog stroja. Verzija 8 donosi nova
unapreenja poput sposobnost 3D grafike ili koritenja USB 3.0 ureaja. Po ovome se vidi da
se cilja na virtualizaciju desktopa. Tablica ispod daje neke najbitnije razlike izmeu dviju
verzije 8 i 7. Iako je verzija 8 skalabilnija, treba pripaziti s njenim koritenjem jer je mogue
da nije podrana sa svim alatima potrebnim za integraciju s razliitim OS.
Neke mogunosti VM su vezane i za verziju ESXi servera. Npr. Broj procesora ili maksimalna
koliina RAM memorije
Version 8
SMP
8-way
32-way
RAM
256 GB
1 TB
3D support
No
Yes
BIOS
Yes
Yes
EFI
No
Yes
Yes
Yes
Yes
Yes
Slika 8: Izbor OS
Slijedei korak je odabir broja virtualnih utora i jezgri. ESXi 5 sustav donosi ovu podjelu
prvenstveno za potrebe zadovoljavanja licencnih uvjeta pojedinih OS. Ukupan broj jezgri je
umnoak broja utora i broja jezgri po utoru.
Slijedi dodjela RAM memorije virtualnom stroju. arobnjak za kreiranje daje niz preporuka za
veliinu RAM memorije poevi od najmanje preporuene veliine za zdani OS, preko
preporuene do maksimalno preporuene koliine.
Svaki virtualni stroj treba jedan ili vie mrenih adaptera. Zbog toga je potrebno odabrati
broj NIC-ova i njihov tip te svakog spojiti na neku od virtualnih mrea.
E1000. E1000 je emulirana verzija od irom koritenog Intel 82545EM Gigabit Ethernet
adaptera. Ne moraju svi gostujui OS podravati navedeni adapter. Ako je pokrenut sustav
Linux kernelom 2.4.19 ili kasnije, Windows XP Professional x64 Edition i poslije i Windows
Server 2003 (32-bit) i kasnije, osigurana je podrka za E1000 adapter.
VMXNET 2 (Enhanced). Za razliku od E1000 ovi virtualni adapteri nemaju svoje fizike
parnjake i dizajnirani su posebno za upotrebu u virtualnim strojevima. Kada na gostujui OS
instalirate VMware Tools, osigurani su pogonitelji za ovaj adapter. VMXNET 2 je zasnovan na
prethodnom virtualnom adapteru VMXNET uz novo dodane osobine poput podrke za
jumbo okvire.
VMXNET 2 podrka osigurana je u slijedeim OS : Windows Server 2003, Windows Small
Business Server 2003, Windows XP Pro 32-bit, Red Hat Enterprise Linux 5.0, SUSE Linux
Enterprise 10, Red Hat Enterprise Linux 4.0 64-bit, Ubuntu Linux 64-bit
VMXNET 3 nije samo slijedea verzija VMXNET 2. Ima potpuno novi dizajn s podrkom za
napredne mrene osobine. Podrka je ve ukljuena u : Microsoft Windows XP,7, 2003, 2003
R2, 2008 i 2008 R2, Red Hat Enterprise Linux 5.0, SUSE Linux Enterprise Server 10, Debian
4, Ubuntu 7.04 , Sun Solaris 10
Izbor SCSI upravljaa vezan je za OS koji elimo instalirati i ima vei utjecaj na performanse
nego izbor mrenog adaptera. Pojedini OS bolje performanse postiu s odreenim
upravljaima. Stoga je dobro drati se preporuke koju nam daje VMware arobnjak (ako smo
odabrali konkretan tip OS u prethodnim koracima).
BusLogic Parallel : pretpostavljeno za starije OS.
LSI Logic Parallel : kompatibilan s veinom OS, ali ne i optimalan izbor za sve OS.
LSI Logic SAS : za sustave zasnovane na Windows OS.
VMware Paravirtual: najbolje performanse, ali i ograniena podrka za OS.
Slijedei korak je odabir virtualnog diska. Moete kreirati novi, koristiti stari, mapirati na
RAW ureaj ili uope ne koristiti disk.
Slijedei korak je instalacija OS. Instalaciju je mogue zapoeti s razliitih izvora (PXE boot s
mree, DVD/CD,...). Poto na virtualnom stroju nemamo pristup fizikom CD/DVD ureaju,
instalaciju moemo pokrenuti s ISO slike. ISO slike mogu biti pohranjene na bilo kojem
sustavu pohrane dostupan virtualnom stroju. U naem sluaju to je jedan od direktorija na
sustavu pohrane koji koristimo i za sam smjetaj slika virtualnih strojeva.
3.1 Uvod
HTCondor je distribuirani softverski sustav koji omoguava izvoenje HTC (High Throughput
Computing) zadataka na distribuiranim resursima koji mogu imati i distribuirano vlasnitvo.
HTCondor je proizvod dugogodinjeg istraivanja od strane Centra za HPC raunarstvo na
odsjeku za raunalne znanosti na Sveuilitu Wisconsin-Madison (UW-Madison). Po prvi put
je instaliran kao radni sustav prije vie od 15 godina. Stotine organizacija u industriji, vladi i
akademske zajednica koriste HTCondor zasnovana raunalna postrojenja u rasponu veliina
od nekoliko do vie tisua radnih jedinica.
HTCondor realizira red prijema-ekanja-izvravanja (job queue) za poslove, raspored
poslova, shemu prioriteta, praenje resursa i upravljanje resursima. Kad korisnici poalju
svoje serijske ili paralelne poslovi na HTCondor, HTCondor ih stavlja u red, odluuje kada i
gdje izvoditi poslove na temelju zadane politike, prati njihov napredak te u konanici
obavjetava korisnika nakon zavretka poslova.
HTCondor moe se koristiti za upravljanje poevi od grozda, preko grida do distribuiranih
sustava koji koriste neiskoritenu procesorsku snagu stolnih raunala.
Na primjer, HTCondor moe biti konfiguriran da koristiti stolna raunala samo kada su
tipkovnica i mi u stanju pripravnosti. Ukoliko HTCondor detektira da stroj vie nije dostupan
(aktivnost korisnika), u mnogim sluajevima je u stanju transparentno proizvesti kontrolnu
toku i prebaciti posao na neki drugi stroj koji bi inae bio u stanju mirovanja. HTCondor ne
zahtijeva zajedniki sustav datoteka. Ako se ne dijeli sustav datoteka, HTCondor moe
prenijeti podatke u ime korisnika ili moe transparentno preusmjeriti sve ulazno/izlazne
zahtjeve posla na stroj koji je naloio zadatak. Kao rezultat toga, HTCondor moe se koristiti
da neprimjetno kombinira sve raunalne resurse u jedan izvor.
HTCondor ClassAd mehanizam prua iznimno fleksibilan i izraajan okvir za podudaranje
zahtijevanih resursa poslova sa resursima strojeva. Posao moe navesti zahtjeve, a isto tako i
preference. Isto tako, strojevi mogu odrediti uvjete i vrste poslova koji su spremni pokrenuti.
Ti zahtjevi i preference mogu se opisati posebno razraenim izrazima, to rezultira da se
HTCondor moe adaptirati na gotovo bilo koji eljenu politiku rasporeda.
HTCondor moe se koristiti za izgradnju Grid-style raunalnih okruenja koja prelaze
administrativne granice. HTCondor "flocking" tehnologija omoguuje da vie HTCondor
sustava rade zajedno. HTCondor sadri mnoge suvremene Grid i Cloud zasnovane raunalne
Mogue je na jedno raunalo instalirati jedan, dva ili sva tri tipa vora.
Neki koraci instalacije i konfiguracije trebaju biti izvedeni na svakom voru, ali specifina
konfiguracija za svaki vor razlikuje po vrsti tog vora.
Na primjer, glavni vor i submit vorovi mogu svaki ima posebne konfiguracije, ali svi worker
vorovi mogu imati istu konfiguraciju tj. mogu biti klonirani.
Najvaniji direktoriji bitni za postupak instalacije su:
512 MB RAM-a,
Mreni pristup.
$(FULL_HOSTNAME)
$(IP_ADDRESS)
CONDOR_HOST
$(CONDOR_HOST)
*.fesb.hr
127.0.0.1
mega.fesb.hr
provjerava status cijelog HTCondor bazena i drugih poslova koji su pokrenuti u sustavu.
Dok su poslovi pokrenuti, pogledajte sadraj Condor submit konfiguracijske datoteke:
more submit_montepi_vanilla
OpSys
Arch
State
amul.cs.wisc.edu
slot1@amundsen.cs.
slot2@amundsen.cs.
angus.cs.wisc.edu
anhai.cs.wisc.edu
apollo.cs.wisc.edu
arragon.cs.wisc.ed
bamba.cs.wisc.edu
LINUX
LINUX
LINUX
LINUX
LINUX
LINUX
LINUX
LINUX
INTEL
INTEL
INTEL
INTEL
INTEL
INTEL
INTEL
INTEL
Claimed
Owner
Owner
Claimed
Claimed
Unclaimed
Claimed
Owner
Busy
Idle
Idle
Busy
Busy
Idle
Busy
Idle
0.990
0.000
0.110
0.940
1.400
1.000
0.980
0.040
ActvtyTime
1896 0+00:07:04
1456 0+00:21:58
1456 0+00:21:59
873 0+00:02:54
1896 0+00:03:03
3032 0+00:00:04
873 0+00:04:29
3032 15+20:10:19
Naredba condor_status ima niz varijanti koji sumariziraju ClassAdove na razliite naine.
condor_status available : pokazuje strojeve koji mogu izvravati poslove odmah
condor_status run : pokazuje strojeve koji upravo izvravaju poslove
condor_status long : prikazuje ClassAd-ova za sve strojeve u bazenu.
Slijedei ispis pokazuje dio ClassAd-a za jedan stroj. HTCondor moe koristi bilo koji atribut
naveden u ClassAd-u stroja kao kriterij za raspored posla. Dodatni atributi se vrlo lako
dodaju.
Machine = "turunmaa.cs.wisc.edu"
FileSystemDomain = "cs.wisc.edu"
Name = "turunmaa.cs.wisc.edu"
CondorPlatform = "$CondorPlatform: x86_rhap_5 $"
Cpus = 1
IsValidCheckpointPlatform = ( ( ( TARGET.JobUniverse == 1 ) == false ) ||
( ( MY.CheckpointPlatform =!= undefined ) &&
( ( TARGET.LastCheckpointPlatform =?= MY.CheckpointPlatform ) ||
( TARGET.NumCkpts == 0 ) ) ) )
CondorVersion = "$CondorVersion: 7.6.3 Aug 18 2011 BuildID: 361356 $"
Requirements = ( START ) && ( IsValidCheckpointPlatform )
EnteredCurrentActivity = 1316094896
MyAddress = "<128.105.175.125:58026>"
EnteredCurrentState = 1316094896
Memory = 1897
CkptServer = "pitcher.cs.wisc.edu"
OpSys = "LINUX"
State = "Owner"
START = true
Arch = "INTEL"
Mips = 2634
Activity = "Idle"
StartdIpAddr = "<128.105.175.125:58026>"
TargetType = "Job"
LoadAvg = 0.210000
CheckpointPlatform = "LINUX INTEL 2.6.x normal 0x40000000"
Disk = 92309744
VirtualMemory = 2069476
TotalSlots = 1
UidDomain = "cs.wisc.edu"
MyType = "Machine"
poslova naredbom condor_prio. Ako je potrebno HTConor moe i biljeiti u log file niz
podataka, poput podataka o eventualnim migracijama poslova.
Standard
Vanilla
Grid
Java
Scheduler
Local
Parallel
VM
Potrebno je :
% condor_compile cc main.o tools.o -o program
6. Viestruke niti na nivou kernela nisu dozvoljene, ali jesu na nivou korisnika (user
threads).
7. Nisu dozvoljene memorijski mapirane datoteke.
8. Kljuanje datoteka je dozvoljeno, ali ne zadrava se nakon kontrolnih toaka.
9. Sve datoteke se trebaju otvoriti kao read-only ili write-only. Datoteke otvorene i za
itanje i pisanje mogu praviti probleme u sluaju vraanja na prethodnu kontrolnu
snimku.
10. Na stroju koji alje poslove mora biti dovoljno velik slobodan prostor na disku za
pohranu kontrolnih slika. Slika je otprilike veliine virtualne memorije koju koristi
pokrenuti posao. U sluaju da se radi o veim koliinama mogue je uspostaviti
poseban server za pohranu.
11. Linux izvrna datoteka mora biti statiki povezana.
12. Rad s datotekama veim od 2GB mogue je samo ako su stroj slanja i izvrni stroj 64bitni
4.3.2 Vanilla universe
Vanilla universe je okolina koja je namijenjena programima koji se ne mogu relinkati. Jedan
od primjera su i shell skripte. Kao to smo ve prije naveli nema mogunost kontrolnih
snimaka i migracije niti udaljenih sistemskih poziva.
U sluaju da udaljeni stroj prestane izvravati poslove HTCondor nema drugog izbora doli
suspendirati posao na neko vrijeme ili pokrenuti ga ispoetka na nekom drugom stroju.
Poto nema sistemskih poziva kojima bi mogli transferirati podatke izmeu udaljenog stroja i
lokalnog hosta potrebno je koristiti alternativne metode. Jedan od naina je koritenje
dijeljenih datotenih sustava poput AFS i NFS sustava. Alternativno, HTCondor posjeduje
mehanizme za prijenos datoteka na raun korisnika. HTCondor e prenijeti datoteke na
mjesto izvravanja, pokrenuti posao i transferirati izlazne datoteke nazad na stroj koji je
poslao poslove.
4.3.3 Grid universe
Grid universe namijenjen je slanju poslova u posebnoj konfiguraciji HTCondor sustava,
HTCondor-C. Ovako konfiguriran HTCondor omoguava da se koriste viestruki redovi
ekanja na udaljenim serverima i da se poslovi transferiraju s jednog na drugi red ekanja
prema predefiniranoj politici. HTCondor-C je stoga izuzetno otporan na ispade strojeva.
Sustav je tako kreiran da korisnik koji pokree poslove moe poslove dati na izvravanje,
iskljuiti se (npr. laptop) i onda nakon nekog vremena se prikljuiti i ako su poslovi izvreni,
transferirati rezultate.
4.3.4 Java universe
Program koji poaljemo u Java universe trebao bi se pokrenuti na bilo kojem stroju s JVM bez
obzira na lokaciju, vlasnika ili JVM verziju. HTCondor bi trebao preuzeti brigu oko detalja
izvravanja poput pronalaenja JVM izvrnih datoteka i podeavanja classpath varijable.
4.3.5 Scheduler universe / Local universe
Omoguava slanje laganih poslova na izvravanje na lokalnom stroju bez da poslovi idu u red
na serveru.
4.4 Primjeri
Primjer 1
Primjer 1. je najjednostavnija mogua submit decription datoteka. Ona alje u Condor red
ekanja jednu kopiju izvrne datoteke foo. HTCondoru se nalae koristi vanilla universe i da
prilikom izvravanja koristi datoteku foo.log za snimanje detalja izvravanja. Naredba queue
na kraju alje posao u red ekanja uzimajui u obzir sve prethodno navedene parametre.
Linije koje poinju s # se ignoriraju (komentari).
# Example 1 : Simple submit file
universe = vanilla
executable = foo
log = foo.log
queue
Primjer 2
Primjer 2. je neto malo detaljniji. Na izvravanje se alje perl skripta env-test.pl .
#!/usr/bin/env perl
foreach $key (sort keys(%ENV))
{
print "$key = $ENV{$key}\n"
}
exit 0;
Ako datoteka nije oznaena kao izvrna potrebno je to uiniti s : chmod 755 env-test.pl U
SDL datoteci naloeno je postavljanje dodatnih varijabli okoline koje e biti izlistane zajedno
s varijablama okoline izvrnog hosta te vraene sortirane u izlaznoj datoteci.
executable = env-test.pl
universe = vanilla
environment = foo = bar; zot = qux
output = env-test.out.$(cluster)
log = env-test.log.$(cluster)
should_transfer_files = YES
when_to_transfer_output = ON_EXIT
queue
Primjer 3
U ovom primjeru zadatak se izvrava u standard universe okolini. U direktorij programa
ulazimo s cd~/examples/compiling_for_condor.
Izlistajte ga s more simple.c .
main(int argc, char **argv)
{
int sleep_time;
int input;
int failure;
if (argc != 3) {
printf("Usage: simple <sleep-time> <integer>\n");
failure = 1;
} else {
sleep_time = atoi(argv[1]);
input
= atoi(argv[2]);
sleep_time);
Program ne radi nita do spava specificirano vrijeme u sekundama i napravi malu kalkulaciju
iji rezultat spremi u izlaznu datoteku. Prevoenje ide na slijedei nain:
condor_compile gcc -o simple.std simple.c
U postupku se mogu generirati upozorenja, ali mogu se zasada zanemariti. Nakon uspjenog
izvoenja generira se HTCondor binarna datoteka simple. U direktoriju se nalazi i datoteka
za slanje posla submit.std. Pogledajte sadraj datoteke (more submit.std). Kao i prije
datoteka specificira universe tip, naziv izvrne datoteke, nazive ulazno/izlaznih/log datoteka.
Za razliku od prijanjih primjera gdje se slao samo jedan posao, ovdje se alje vie poslova (3)
s razliitim parametrima.
Posao poaljemo s: condor_sumbit submit.std
Izvravanje posla pratimo s : condor_q
Log informacija se moe pratiti s : more simple.log
Kad su poslovi izvreni izlazne datoteke se mogu pregledati s: more *.out
Primjer 4
Primjer 4. Pokazuje upotrebu direktorija za organizaciju podataka. Pokrenut emo
modificirani primjer za raunanje broja PI, ali umjesto upotrebe argumenata ulazne podatke
organizirat emo po direktorijima ( zasad samo dva run_1 i run_2).
Universe = vanilla
Executable = montepi2
output = pi.out
error = pi.error
log = pi.log
input = input.dat
initialdir = run_1
queue
initialdir = run_2
queue
Primjer 5
Description
analiza poslova koji nisu upareni
provjera checkpoint poslova koji su pokrenuti na odreenim
hostovima
condor_hold
condor_prio
condor_qedit
condor_q
condor_release
condor_reschedule
condor_rm
condor_run
condor_status
condor_submit_dag
condor_compile
condor_glidein
condor_history
condor_submit
condor_userlog
condor_version
Ova naredba vratit e nam listu svih korisnika s popisom poslova koje su poslali na
izvravanje.
Stanje svih poslova u redu ekanja dobit emo s:
% condor_q
ID
OWNER
SUBMITTED
55574.0
jane
6/23 11:33
CMD
...
ST (R-run, I- idle, H- hold)
RUN_TIME vrijeme za koje je posao alociran na izvrnom stroju
(DAYS+HOURS:MINS:SECS)
Lociranje strojeva koji izvravaju posao odreenog korisnika moe se izvriti i s npr.:
% condor_status -constraint 'RemoteUser == "breach@cs.wisc.edu"'
opsegu -20 do +20. Vii broj znai vii prioritet, a pretpostavljeni broj je 0. Npr. za promjenu
prioriteta posla na -15, unesemo:
%
condor_q raman
OWNER
SUBMITTED
126.0
raman
4/11 15:06
RUN_TIME
0+00:00:00 I
0.3
hello
OWNER
SUBMITTED
126.0
raman
4/11 15:06
RUN_TIME
0+00:00:00 I
-15 0.3
hello
OWNER
125.0
jbasney
SUBMITTED
4/10 15:35
RUN_TIME
0+00:00:00 I
-10 1.2
hello.remote
Be advised:
Zahtjevi ovog posla specificiraju nepostojeu platformu pa je rezultat izraza uvijek false.
Dok analizator moe dijagnosticirati mnoge probleme, postoje situacije kada detekcija nije
pouzdana zbog promjenjivosti informacija na koje se oslanja u detekciji. Npr. analizator moe
dojaviti da resursi za izvravanje posla postoje, ali posao se ne izvrava. U velikom broju
situacija radi se o tome da se radi samo o kanjenju u izvravanju.
U sluaju kompleksnijih greaka, poput toga da posao se pone izvravati i odmah pree u
idle stanje, potrebno je pogledati error and log datoteke posla (specificirane u submit
datoteci) i HTCondor SHADOW_LOG datoteci.
4.6.1.3 Zavretak posla
Kada HTCondor posao zavri bilo normalno ili abnormalno, HTCondor e ga ukoniti iz reda poslova (stoga
se vie ne pojavljuje u izlazu naredbe condor_q) i umetnuti u history datoteku. Povijest poslova se moe
pregledati s naredbom condor_history. Ako je u submit datoteci specificirana log datoteka onda e i u
povijesti poslova biti zabiljeen. Unaprijed je postavljeno da HTCondor zavretkom posla alje e-mail
poruku.
on_exit izrazima, a hold izrazi imaju prednost nad remove izrazima. Periodiki izrazi su tipa
ClassAs poput requirements izraza.
Ovi se izrazi mogu koristiti za automatizaciju mnogih uobiajenih akcija. Npr. ako elite da se
posao nikad ne izvrava due od jednog sata, tj. ako se izvrava due od jednog sata onda
neto nije u redu s izvravanjem pa treba ispitati razloge. U tom sluaju umjesto da posao
ostane u nepotrebnom izvravanju i zauzima resurse, mogue je posao staviti u hold stanje
ako se doda u submit datoteku slijedee:
periodic_hold = (ServerStartTime - JobStartDate) > 3600