Sie sind auf Seite 1von 38

SVEUILITE U SPLITU FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE

Dr. sc. EUGEN MUDNI

GRID RAUNALNI SUSTAVI

Split, 2009

SADRAJ:
1. DEFINICIJA I PREGLED GRID RAUNALNIH SUSTAVA ................................. 5 1.1 1.2 1.3 Uvod......................................................................................................................... 5 Grid sustavi usporeeni s ostalim distribuiranim sustavima ................................... 6 Motivacija koritenja grid sustava ........................................................................... 6 Omoguavanje formiranja virtualnih organizacija ........................................ 6 Pouzdanost i tolerancija pogreaka ................................................................ 6 Balansiranje i dijeljenje promjenjivih resursa ................................................ 7 Paralelno procesiranje .................................................................................... 7 Quality of Service (QoS) kvaliteta servisa .................................................. 7

1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4

Osnovni koncepti grid arhitekture ........................................................................... 8 Sigurnost ........................................................................................................ 8 Upravljanje resursima (resource management).............................................. 8 Upravljanje podacima (data management) .................................................... 9 Otkrivanje informacija i nadgledanje (Information discovery and monitoring) 9

1.4.1 1.4.2 1.4.3 1.4.4

1.5

Osnovni grid standardi ............................................................................................. 9 Web servisi ..................................................................................................... 9 Open grid service architecture (OGSA) ....................................................... 10 Open grid services infrastructure (OGSI) .................................................... 10 Web Services Resource Framework (WSRF) .............................................. 10 OGSA-DAI .................................................................................................. 10 Ameriki projekti ......................................................................................... 11 Europski projekti .......................................................................................... 11

1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.6

Kratak pregled Grid projekata ............................................................................... 10

1.6.1 1.6.2

2. UPRAVLJANJE PODACIMA .................................................................................... 13 2.1 2.2 Uvod....................................................................................................................... 13 Zahtjevi upravljanja podacima............................................................................... 13 Statiki podaci i dinamiki podaci ............................................................... 14

2.2.1 2.3

Funkcije upravljanja podacima u grid sustavima .................................................. 14 Upravljanje replikama podataka .................................................................. 14 Upravljanje meta-podacima ......................................................................... 15

2.3.1 2.3.2

2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8

Objava i otkrivanje (publication and discovery) ......................................... 15 Transport podataka ...................................................................................... 15 Translacija i transformacija podataka .......................................................... 16 Sinkronizacija podataka............................................................................... 16 Autentikacija, kontrola pristupa, raunovodstvo ......................................... 17 Pristup podacima i upravljanje pohranom podataka (Data Access and Storage

management) .............................................................................................................. 17 2.3.9 2.4 Integracija podataka ..................................................................................... 17

Servisi za meta-podatke u grid sustavima ............................................................. 18 Tipovi metapodataka ................................................................................... 18 Servisi za meta-podatke ............................................................................... 19

2.4.1 2.4.2 2.5 2.6

Replikacija ............................................................................................................. 19 Efikasan prijenos podataka .................................................................................... 20

3. GRID RASPOREIVANJE (SCHEDULING) I INFORMACIJSKI SERVISI ... 21 3.1 3.2 Mapiranje poslova strategije rasporeda poslova ................................................ 21 Mapiranje poslova na paralelnim strojevima ........................................................ 22 Heuristike metode ...................................................................................... 22 Hijerarhijska struktura rasporeivanja poslova ........................................... 26 Decentralizirano rasporeivanje .................................................................. 27 Mapiranje ili strategije rasporeivanja poslova na meta-raunalima .................... 25

3.2.1 3.3

3.3.2 3.3.3 3.4 3.5 3.6 3.7

Algoritmi rasporeda ............................................................................................... 28 Otkrivanje i nadgledanje servisa (Service monitoring and discovery).................. 29 Grid workflow ....................................................................................................... 30 Tolerancija greaka u grid sustavima .................................................................... 31

4. SIGURNOST U GRID SUSTAVIMA......................................................................... 32 4.1 Uvod ...................................................................................................................... 32 Autentikacija ................................................................................................ 32 Autorizacija ................................................................................................. 32 Povjerljivost (Confidentiality) ..................................................................... 33 Postojee tehnologije sigurnosti .................................................................. 33 Grid Security Infrastructure ......................................................................... 35

4.1.1 4.1.2 4.1.3 4.2

Povjerenje i sigurnost u grid sustavima ................................................................. 33

4.2.1 4.2.2

LITERATURA:

Introduction to Grid Computing Frdric Magouls, Jie Pan, Kiat-An Tan, Abhinit Kumar CRC Press, Taylor & Francis Group, 2009 The Grid 2, Second Edition: Blueprint for a New Computing Infrastructure by Ian Foster (Editor), Carl Kesselman (Editor) The Elsevier Series in Grid Computing, 2004

1. DEFINICIJA I PREGLED GRID RAUNALNIH SUSTAVA

1.1 Uvod
Pojam grid raunalnih sustava (grid sustavi, Grid) razvio se kao vaan sinonim za high throughput computing (HTC). Za razliku od nekih drugih raunalnih sustava gdje se performanse mjere npr. koliinom floating point operacija u sekundi koje moe obaviti neko raunalo, HTC raunalstvo bavi se koliinom posla koju cijeli raunalni sustav moe obaviti tijekom nekog perioda vremena. Grid sustavi nisu revolucionarna tehnologija. Nastali su evolucijom postojeih tehnologija poput: distribuiranog raunalstva, web servisa, Interneta, razliitih sigurnosnih mehanizama zasnovanim na kriptografskim tehnikama te tehnologije virtualizacije. Grid tehnologija preuzima sve navedene tehnologije kako se komponirao sustav koji daje resurse za obavljanje specifinih zadataka. Zadaci mogu biti razliiti: simuliranje interakcije estica u fizici visokih energija, simuliranje trita dionica, predvianje zemljotresa, itd. Jedan od kljunih elemenata evolucije grid sustava je virtualizacija. Virtualizacija u grid sustavima znai beavnu integraciju geografski distribuiranih i heterogenih sustava. Sve to treba omoguiti korisniku transparentno koritenje servisa sustava. Korisnici ne trebaju brinuti o lokaciji resursa. Sa strane korisnika postoji samo jedna toka ulaza u sustav. Oni alju svoj zahtjeve na taj ulaz, a dalje je na grid sustavu da locira dostupne i upotrebljive resurse. Jedan od bitnih pojmova u grid sustavima je i virtualna organizacija (VO). Ona je definirana kao dinamika kolekcija vie organizacija s ciljem da se omogui koordinirano dijeljenje resursa. VO se osnivaju u svrhu rjeavanja odreenog raunalnog izazova. Ian Foster daje tri testna pitanja za odreivanje da li je raunalni sustav grid sustav: koordinacija resursa bez sredinje kontrole zasnovana na otvorenim standardima iznimna kvaliteta servisa computational grid (grid raunalno procesiranje) data grid (pohrana velike koliine podataka) kombinacija prethodnog

Grid sustavi mogu biti:

1.2 Grid sustavi usporeeni s ostalim distribuiranim sustavima


Ostali distribuirani sustavi najee daju servise vezane za jedno organizaciju te imaju centralizirano upravljanje. Grid sustavi nemaju centralizirano upravljanje i sustav korist veliki broj organizacija. Ostali distribuirani sustavi najee imaju heterogene resurse, ali heterogenost je limitirana politikom jedne organizacije. Heterogenost grid sustava je naglaena neovisnou viestrukih organizacija. Ostali distribuirani sustavi najee koriste klijent-server model u kojem se dijeli neki informacijski resurs. Grid sustavi ne dijele samo informacije , ve i hardver i aplikacije. Za razliku od ostalih distribuiranih sustava , grid sustavi podravaju otkrivanje resursa i nadgledanje istih na globalnoj skali. Distribuirani peerto-peer sustavi omoguavaju globalne servise, ali vrlo specijalizirane i bez puno brige o kvaliteti servisa te sigurnosnim aspektima.

1.3 Motivacija koritenja grid sustava


Motivacija proizlazi iz usmjerenosti ka VO te osiguranju propusnosti potrebne za HTC. 1.3.1 Omoguavanje formiranja virtualnih organizacija Grid sustavi omoguavaju suradnju izmeu viestrukih organizacija u dijeljenju resursa. Ta kolaboracija nije ograniena na dijeljenje i izmjenu datoteka ve podrazumijeva i direktan pristup raunalnim resursima. Organizacije mogu biti lanovi vie VO. Svaka od tih VO moe imati razliite politike administrativne kontrole. Resursi dijeljeni izmeu VO mogu bit: podaci razne vrste hardvera procesni resursi informacije o raspoloivim resursima

Pripadnou nekoj od VO korisnici lanovi neke organizacije osiguravaju prava na koritenje resursa pod kontrolom te VO.

1.3.2 Pouzdanost i tolerancija pogreaka Pretpostavimo da je korisnikov Job (posao) poslan na izvravanje. Posao alocira odgovarajue resurse (vor na gridu) ovisno o dostupnosti i politici rasporeda (schedulling policy) grid sustava. Pretpostavimo pad vora (crash) dok izvrava posao. Grid osigurava da se posao automatski ponovo poalje nekom drugom dostupnom voru. 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. Oba primjera ilustriraju koncept virtualizacije. U prvom sluaju korisnik nita nije znao o padu vora, a u drugom nije znao s kojeg stroja dohvaa podatke.

1.3.3 Balansiranje i dijeljenje promjenjivih resursa Balansiranje i dijeljenje resursa su dva najbitnija aspekta upravljanja resursima u grid sustavu. To omoguava ravnomjeran raspored zadataka na dostupne resurse. Pretpostavimo da je neki dio grida preoptereen. Grid algoritmi rasporeivanja moe premjestiti neke od poslova na dijelove sustava koji su manje optereeni. Sve je to opet transparentno za korisnika.

1.3.4 Paralelno procesiranje Neki zadaci (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 pod-zadataka se kombiniraju kako bi se dobio eljeni izlaz. 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.

1.3.5 Quality of Service (QoS) kvaliteta servisa Grid se moe koristiti na nain da korisnik poalje zadatke na izvravanje i dobije izlazne rezultate, a onda se korisniku naplauje koritenje resursa na osnovu neke metrike, poput procesorskog vremena potrebnog za izvrenje zadatka. U takvim sluajevima gdje se vodi neka vrsta raunovodstva za usluge pruene korisniku, korisnik oekuje i odreenu kvalitetu servisa. To se specificira u service level agreement (SLA). SLA specificira minimalnu kvalitetu servisa, dostupnosti, itd. , te cijene koritenja usluga. Moe se za odreenu cijenu korisniku ponuditi i prioritet u izvravanju zadataka tj vii nivo QoS. Isto tako mogue je izvriti rezervaciju resursa za velike poslove. rezervacijom se moe postii da grid u trenutku pojave vaeg velikog posla, (preemptivno) prekine niz poslova u izvravanju te na osloboene resurse rasporedi vae poslove. ini vam se da se ponavlja pria koja vai i za druge distribuirane sustave. Ono to je novo u grid sustavima je da sve ovo treba funkcionirati za korisnike ukljuene u viestruke organizacije te sa minimumom centralne kontrole.

1.4 Osnovni koncepti grid arhitekture


Grid arhitektura odnosi se na one aspekte grid sustava koji se uzimaju u obzir prilikom dizajna i implementacije. Slijedi kratak pregled koncepata koji e biti opirnije razraeni u slijedeim poglavljima. Grid arhitektura je slojevita arhitektura. Najvii sloj su grid aplikacije i korisniki API (application interface). Zatim imamo middleware koji ukljuuje softver ili pakete koje koristimo za implementaciju grida, poput Globus Toolkita ili gLite. Trei sloj obuhvata resurse koji su dostupni grid sustavima poput ureaja za pohranu podataka, procesnih kapaciteta i drugog namjenskog hardvera. etvrti sloj je mrea koja se sastoji od switcheva i routera te protokola koji slue za komunikaciju izmeu elemenata grid sustava.

1.4.1 Sigurnost Poeljno je da grid sustav moe osigurati tri sigurnosna elementa. To su: pojedinana prijava (single sign-on) 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.4.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.4.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.4.4 Otkrivanje informacija i nadgledanje (Information discovery and monitoring) Grid rasporeiva treba imati informacije o slobodnim resursima da bi odredio koje resurse dodijeliti odreenom poslu. Ove informacije pribavlja servis za otkrivanje informacija. Unutar ovog servisa odrava se lista raspoloivih resursa i njihov trenutni status. Kada grid rasporeiva postavlja upit servisu za otkrivanje informacija on obino postavlja ogranienja na nain da trai resurse koji su relevantni (na kojima se posao moe izvriti) i najprikladniji za izvrenje posla. Npr. moe traiti resurse ija procesna snaga omoguava izvrenje posla u odreenom vremenu. Servis za otkrivanje informacija mogu biti organizirani i hijerarhijski gdje servisi nieg nivoa prikupljaju i konsolidiraju informacije te alju servisima vieg nivoa. Takav pristup je uobiajen za grid sustave.

1.5 Osnovni grid standardi


Ovdje je dan pregled nekih otvorenih standarda koritenih u implementaciji grid sustava. 1.5.1 Web servisi OGSA (Open grid service architecture) definira grid servise kao ekstenziju web servisa. etiri glavne specifikacije vezane za web servise su: 1. eXtensible Markup Language(XML) XML je jezik zasnovan na oznakama iji je cilj koritenje zajednikog formata za izmjenu podataka kroz razliita suelja. Sve poruke koje se izmjenjuju kroz web servise koriste XML format. 2. Simple Object Access Protocol(SOAP )- SOAP je komunikacijski protokol zasnovan na porukama kojeg mogu koristit dvije strane u komunikaciji preko Interneta. SOAP poruke se zasnivaju na XML protokolu i stoga su neovisne o platformi i jeziku. SOAP poruke se obino transmitiraju preko HTTP protokola pa tako za razliku od RPC ili CORBA poruka lako izlaze na kraj s vatrozidima.

3. Web Service Denition Language(WSDL) WSDL je XML dokument koji se koristi za opis suelja web servisa. 4. Universal Description, Discovery and Integration (UDDI) UDDI je na XML zasnovan registrator (registry) koji slui za pronalazak web servisa na Internetu. To je specifikacija koja omoguava da pojedini pruatelj web servisa prui informacije o sebi i o ponuenim web servisima. Tu se nalazi informacija kako pronai i kako se vezati na odreene web servise. 1.5.2 Open grid service architecture (OGSA) 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.

1.5.3 Open grid services infrastructure (OGSI) OGSI daje detalje implementacije OGSA arhitekture. To je formalna i tehnika specifikacija potrebna za implementaciju grid servisa. OGSI daje opis WSDL za definiciju grid servisa. Takoer obuhvaa mehanizme za kreaciju, upravljanje i interakciju meu grid servisima. 1.5.4 Web Services Resource Framework (WSRF) Uobiajeni web servis ne odrava stanje izmeu poziva. To ograniava stvari koje se mogu obaviti s web servisima. To se ogranienje najee zaobilazi koritenjem baze podataka ili s cookie-ima. WSRF omoguava jednostavniji i standardizirani nain pohrane i povlaenja informacija o stanju servisa. To omoguava jednostavnije kreiranje niza grid aplikacija kojima je bitno da web servis moe zadravati stanje. 1.5.5 OGSA-DAI Open Grid Services Architecture-DataAccessandIntegration(OGSA-DAI) je projekt kojim se nastoji razviti middleware za pristup i integraciju razliitih izvora podataka u grid sustavima. To obuhvaa razliite sustave pohrane npr. relacijske i XML bate podataka. Preko OGSA-DAI web servisa mogu se dohvaati, mijenjati i transformirati podaci na standardiziran nain bez obzira na format pohrane.

1.6 Kratak pregled Grid projekata


Razvoj grid projekata potaknut je s ciljem rjeavanja raznih znanstvenih problema koji zahtijevaju velike raunalnih resursa kao i to generiraju velike koliine podataka. Npr. CERN je pustio u pogon jedan od najveih znanstvenih instrumenata Large Hadron Collider

(LHC). Ovaj ureaj u svakodnevnom radu generira ogromne koliine podataka koje treba pohraniti, obraditi i opet pohraniti rezultate obrade. Radi se o koliini obrade i podataka koju ni jedan super-raunalo ne moe obraditi. Zato je odabrana grid arhitektura (kao virtualno super-raunalo!). 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.6.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.

1.6.2 Europski projekti EGEE (Enabling Grids for E-sciencE) je projekt koji nastoji osigurati raunalne resurse kako za akademsko istraivanje tako i za industriju. EGEE grid je tzv. worldwide grid te korisnici nisu limitirani geografskom lokacijom. Trenutno EGEE osigurava stabilnu i robusnu grid infrastrukturu (>30000CPU, >5PB za pohranu podataka), te obuku korisnika. Ovaj grid se koristi za razliite namjene. Trenutno aplikacije se mogu podijeliti na dva podruja. fizika visokih energija (HEP) i biomedicina. D-Grid inicijativa je Njemaka grid platforma. Orijentirana je prvenstveno na znanstvenu zajednicu tj. procesiranje i pohranu znanstvenih podataka. CERN Zbog potrebe za pohranom i statistikom analizom velike koliine podataka CERN je posluio kao inkubator za razvoj velikog broja tehnologija dananjih grid sustava. Skup grid

middleware rjeenja razvijen u okviru Alice eksperimenta AliEn (Alice Environment) je osnova gLite midllewarea. AliEn je bio prvi grid middleware zasnovan na web servisima. I dalje svaki od trenutno 4 eksperimenta sudjeluje u razvoju specifinih grid rjeenja. U okviru CERN-a djeluje WLCG (Worldwide LHC Computing Grid) koji okuplja 170 raunalnih centara u 34 zemlje. GEANT je projekt nastao suradnjom 30 Europskih zemalja. Sastoji se od 26 nacionalnih istraivakih mrea (NREN) . Njegov cilj je bio razvoj gigabitne mrene okosnice (backbone) na Europskom nivou. Jedan od ciljeva je i osiguranje QoS unutar mree. Projekt Geant zavrio je u Lipnju 2005. Upravo se dovrava nova mrea Geant2 koja osim to iri kapacitete, nastoji pruiti i daljnja unapreenja vezana za QoS. Cro-grid je hrvatska inicijativa iji je cilj povezati grozdove u mreu koristei CARNet i to na nain da su na raspolaganju znanstvenoj i akademskoj zajednici te da ih se moe ponuditi gospodarstvu.

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.

2.2 Zahtjevi upravljanja podacima


U okruju grid sustava podaci su geografski disperzirani i heterogeni. Tradicionalni naini upravljanja podacima poput insert,delete i update operacije koje se koriste u relacijskim bazama podataka nisu prikladni za data grid. Sagledavajui karakteristike podataka u data gridovima moemo doi do zahtjeva za upravljanje.

2.2.1 Statiki podaci i dinamiki podaci Podatke u data gridovima moemo podijeliti na statike i dinamike. Statiki podaci su oni koji nakon to su generirani samo se itaju i analiziraju, ali se nikada modificiraju ili auriraju. Primjer takvih podataka je npr. DNA podaci. Nakon to su oitani i pohranjeni na jedno ili vie mjesta pohrane, DNA podaci se u analizama samo usporeuju. Dinamiki podaci, poput podataka u poslovnim aplikacijama predmet su uestale promjene poput auriranja, transakcijskih operacija, praenja stanja eksternih sustava. U sluaju statikih podataka skup operacija je relativno jednostavan. Operacije obuhvaaju pristup podacima i pomicanje podataka na vor obrade te vraanje rezultata korisniku obrade. Takav nain obrade pogodan je samo za neke tipove grid aplikacija jer grid aplikacije osim to itaju podatke mogu i generirati podatke. Osim toga mogu premjetati podatke izmeu razliitih lokacija pohrane. Podaci mogu biti replicirani na nizu lokacija to u sluaju da se radi o dinamikim podacima uvodi problem sinkronizacije. Pohrana na heterogenim sustavima dovodi do potrebe realizacije unificiranog naina pristupa. Ako neki proraun treba podatke koji su disperzirani na vie sustava pohrane treba postojati mehanizam njihove integracije. Prema svemu navedenome osnovni problemi koje treba efikasno rijeiti upravljanje podacima u grid sustavu su: unificiran pristup podacima replikacija podataka sinkronizacija podataka integracija podataka prijenos podataka

2.3 Funkcije upravljanja podacima u grid sustavima


2.3.1 Upravljanje replikama podataka Replikacija podataka uvedena je u grid sustavima kao metoda potreban za optimizaciju pristupa podacima. Identine kopije (replike) podataka se kreiraju i distribuiraju na razliite lokacije pohrane podataka. Korisnici, odnosno njihove aplikacije mogu pristupiti najbliim replikama umjesto da uvijek pristupaju originalnim podacima te time reducirati latenciju u pristupu podacima. Servis za upravljanje replikama (data replication management service RMS) odgovoran je za slijedee: kreiranje replike skupa ili dijela skupa podataka, operacije dodavanja, brisanja i modificiranja replika, registracija novih replika u RMS, katalogiziranje registriranih replika na nain da korisnici mogu dobiti informacije o pristupu replikama,

selektiranje replika prema kriterijima koji najbolje odgovaraju zahtjevima korisnika odnosno aplikacija, odravanje konzistencije izmeu replika na nain da se automatski auriraju replike nakon to je originalni podatak izmijenjen.

2.3.2 Upravljanje meta-podacima Meta-podatak je opisna informacija o podacima. Pojam je stariji od grid sustava. Npr. metapodaci se mogu koristiti za upravljanje bibliotekom knjiga. U tom primjeru meta-podaci su relevantne informacije o knjigama koje su zapisane na kartice. Korisnik moe preko kartica dobiti informacije o eljenoj knjizi. To su uobiajene informacije poput: naslov knjige, kljune rijei, naziv autora, ... Dakle pomou meta podataka opisujemo iri izvor informacija te omoguavamo njegovo lake pronalaenje i kombiniranje s drugim izvorima podataka. Meta-podaci omoguavaju da korisnik preko informacija o pojedinim skupovima podataka obavlja zahtjeve, lociranje, pristupanje i upravlja podacima.

2.3.3 Objava i otkrivanje (publication and discovery) Funkcije objave i otkrivanja zasnivaju se na servisima meta-podataka. Objava podataka znai vezivanje atributa za skup podataka te omoguavanje da korisnici imaju pristup istima ime se omoguava efikasnije istraivanje podataka. Ponekad proces objave u generiranju atributa pojedinog skupa podataka koristi ve postojee meta-podatke u sustavu. Otkrivanje podataka je proces odreivanja skupa podataka i njihovih lokacija bez navoenja identifikatora podataka, a na osnovu upita koji sadrava: vrijednosti pojedinih atributa iz skupa meta-podataka specifikacije interne strukture podataka: veliina , nain pristupa, vlasnitvo.

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: Velika brzina prijenosa podrka za razliite transportne protokole preko mree. Za potrebu breg prijenosa podaci se mogu slati paralelno. Stripped data transfer velike datoteke se mogu particionirati u manje blokove i svaki se blok neovisno alje. Podaci se agregiraju na odreditu.

Partial file transfer mogunost slanja dijela datoteke umjesto cijele. Third-party control of transfer korisnik ili aplikacija moe upravljati prijenosom podataka izmeu dva vora s treeg vora. Moe pokrenuti, nadgledati i upravljati prijenosom. Restartable transfer ako doe do prekida transfera isti se moe nakon oporavka nastaviti od mjesta pogreke. Automatska TCP optimizacija

2.3.5 Translacija i transformacija podataka Translacija podataka podrazumijeva promjenu formata podataka uz to manju promjenu sadraja podataka. Transformacija podataka znai derivaciju informacije u neku drugu formu (npr. fourierova transformacija). Translaciju i transformaciju podataka moe obaviti i sama aplikacija, ali ako se potreba za odreenom translacijom/transformacijom javlja esto i za druge aplikacije, potrebno je razmisliti o njenom ugraivanju u servise prijenosa podataka. 2.3.6 Sinkronizacija podataka U statikim okolinama sve replike su read-only (samo za itanje), te uz operacije kopiranja na druga mjesta ne postoje problemi sinkronizacije. Meutim u veini grid sustava podaci se osim transferiranja i mijenjaju od strane korisnika ili aplikacija. U idealnom sluaju svaka distribuirana replika (lokalna ili udaljena), ukljuujui i originalne podatke dri se u potpunoj konzistenciji. Meutim to je vrlo nepraktino za grid sustave. U stvari esto korisnici ne trebaju potpunu konzistenciju. Moemo smanjiti stupanj konzistencije na nain da dozvolimo da neki dio podataka bude nekonzistentan u odreenim vremenskim trenucima. Slijedi pet stupnjeva konzistencije poevi od najlabavijeg do najstroeg (sve operacije se obavljaju sekvencijalno) : Mogua nekonzistentna kopija (Consistency Level -1) . Dozvoljeno je kreiranje replike uz viestruke operacije pisanja u datoteku. Rezultirajua datoteka ne odgovara stanju originalne datoteke u bilo kojem vremenskom trenutku. Konzistentno kopiranje datoteka (Consistency Level 0). Na ovom stupnju sadraj replike moe odgovarati sadraju koji je original imao u nekom vremenskom trenutku. Postie se na nain da se datoteka kljua na nain da se dozvoljavaju viestruke operacije itanja, ali samo jedna operacija pisanja tijekom kreiranja replike (read shared lock). Konzistentna transakcijska kopija (Consistency Level 1). Tijekom kreiranja replike ne dozvoljava se pisanje u originalnu datoteku. Garantira se da ne postoji nekonzistentnost unutar jedne datoteke, ali ne i izmeu svih replika jer izmeu kreiranja pojedinih replika mogue je mijenjanje originala. 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.

2.3.7 Autentikacija, kontrola pristupa, raunovodstvo U odreenim grid zajednicama potrebno je osigurati zatitu podataka na nain da smo odreeni korisnici mogu pristupati odreenim podacima. Koriste se rjeenja zasnovana na Grid Security Infrastructure (GSI) . GSI dodjeljuje korisnika prava korisniku ili aplikaciji te osigurava njihovu delegaciju za potrebe pristupa pojedinim resursima. U grid sustavima pojedine operacije zahtijevaju prava pristupa unutar jedne lokacije, a druge operacije se obavljaju na viestrukim lokacijama. Odluke prava pristupa koje se obavljaju na viestrukim 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.

2.3.9 Integracija podataka Integracija podataka ima za cilj da podatke pohranjene na razliitim sustavima za pohranu podataka predstavi kao jedinstven skup podataka. Moe se promatrati i van teme upravljanja podacima u grid sustavu. Integracija podataka sastoji se od slijedeih faza: otkrivanje podataka: upit na servis meta-podataka za pronalaenjem relevantnih podataka pristup podacima: verificiranje da li su podaci dostupni te korisni za rjeavani problem transport podataka na mjesto obrade

analiza podataka: obrada podataka (ukljuivi i lokalne podatke) sinteza podataka: kreiranje novog pogleda na podatke (vizualno, statistiki, datoteke)

2.4 Servisi za meta-podatke u grid sustavima


Zato su nam potrebni meta-podaci u okviru grid sustava ? Glavni razlog je velika koliina podataka. Tradicionalne tehnike poput koritenja SQL upita ili traenja po nazivu datoteka ne mogu se primijeniti za velike koliine podataka. Drugo je da zbog heterogenosti sustava nije lako koristiti direktne tehnike pristupa (razliiti datoteni sustavi, baze). Tree je da podaci iz razliitih znanstvenih izvora imaju eto pridruene biljeke. Te biljeke potrebno je organizirati na prikladan nain te ih vezati uz originalne podatke.

2.4.1 Tipovi metapodataka Zbog velikog opsega moguih metapodataka potrebno ih je organizirati u niz kategorija: Data Metadata (meta-podaci o podacima). Informacija o podacima je najbitnija kategorija metapodataka. Dijelimo je na tri tipa: Fiziki metapodaci : ukljuuju karakteristike fizikog sustava pohrane to obuhvaa veliinu datoteke ili objekta, lokaciju, vrijeme kreacije, naziv kreatora i format datoteke (.doc, .jpg, ...) 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 Meta-podaci o pripadnoj domeni: najee se podaci klasificiraju prema problemskoj domeni koja ih generira (ili koristi). najee je u pitanju hijearhijska organizacija. Npr. (LHC Experiment > Alice,CMS,Atlas,LHCb)

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.4.2 Servisi za meta-podatke Pohrana.Vie je naina za pohranu meta podataka. Npr. koritenje relacijske baze podataka, pohrana u XML datoteku, koritenje LDAP-a. Relacijska baza podataka je pogodna zbog mogunosti postavljanja SQL-upita. U grid sustavima se nalaze sve vee koliine metapodataka pa se esto posee da distribuiranim bazama podataka. S druge strane XML se zbog standardiziranosti namee kao pogodan format pohrane metapodataka. Metapodaci grid sustava mogu biti i kombinirani u vie razliitih formata. Objava i pronalaenje podataka. Metadata servisi moraju osigurati korisniku da na jednostavan i kontroliran nain dodijeli metapodatke podacima (najee datotekama). U fazi pronalaenja servisi omoguavaju da korisnik formira upit nad metapodacima te mu se na osnovu upita vrate eljene datoteke ili skupovi podataka.

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 128-bitni 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.

2.6 Efikasan prijenos podataka


Podaci su najee pohranjeni na vie distribuiranih lokacija pohrane. U nekim proraunima mogue je da se koriste podaci koji su geografski distribuirani. Tada nam ograniavajui faktor moe biti mrena propusnost. Openito imamo tri tipa ogranienja mrene propusnosti: propusnost veze servera s mrenom okosnicom (Internet) propusnost veze klijent-server propusnost klijenta prema mrenoj okosnici (Internet)

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: alokacijski mehanizam zasnovan na povijesti predvianje trajanja prijenosa zasniva se na povijesti prethodnih prijenosa. Na osnovu toga se proraunava veliina skupa podataka koja se eli prenijeti s neke lokacije. Cilj je da svi dijelovi stignu otprilike u isto vrijeme. Ako se stanje resursa (pohrana, mrea) znaajno promijeni u tijeku prijenosa poremetit e istovremeno primanje. dinamika alokacija skup podataka se particionira u niz manjih blokova jednake veliine. Svaki server s replikom transferira prvo po jedan blok i nakon toga mu se dodjeljuje slijedei blok. Bri server e prvi prenijeti podatke i prvi e dobiti slijedei blok za prijenos. Kao rezultat bri serveri transferiraju vie podataka od sporijih. U ovom mehanizmu vaan je pojam round-trip vremena. To je vrijeme od kad jedan transfer zavri do vremena kad je poslan zahtjev serveru za slijedei blok. To se moe zaobii tako da server posjeduje cjevovod u koji se alju viestruki zahtjevi za transfer (vie blokova).

3. GRID RASPOREIVANJE (SCHEDULING) I INFORMACIJSKI SERVISI

Rasporeivanje i informacijski servisi su dvije komponente grid sustava koje imaju kljunu ulogu u postizanju performansi aplikacija koje se izvravaju na grid sustavu. Informacijski sustavi upotpunjuju sustav grid rasporeivanja. Osnovi problem je kako mapirati resurse (procesori, memorije, mrena propusnost,...) na zadatke koje treba obaviti. Raspored posla na neki vor zahtijeva dva razmatranja: da li resurs ispunjava minimalne (ako i postoje) zahtjeve QoS za izvravanje posla kad je resurs slobodan za obavljanje posla

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 zadaci mogu imati meuovisnosti, pa se moraju izvravati u definiranom redoslijedu zadatak zahtijeva veliku koliinu ulaznih podataka ; nije ga mogue poslati na prvi slobodni vor pad nekog pod-zadatka zahtijeva njegovo ponovno rasporeivanje i to bre izvravanje

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.

3.1 Mapiranje poslova strategije rasporeda poslova


Osnovna karakteristika grid sustava je njihova heterogenost. Takav sustav moemo nazvati i hetreogeni raunalni (HC- heterogeneous computing) sustav. Sposobnost HC sustava da rijee neki raunalni problem uvelike ovisi o njihovoj sposobnosti da upare raunalne resurse s raunalnim potrebama. Ono to je bitno u tim sustavima je : nije svaki stroj pogodan za svaki zadatak. Npr. neki zadaci zahtijevaju specifian instrukcijski set i pogodniji su za izvravanje na nekim strojevima nego na drugima. Drugi zadaci zahtijevaju koliinu memorije koju nemaju svi strojevi u sustavu.

Jedan od naina iskoritavanja potencijala HC sustava je dijeljenje zadataka u pod-zadatke. Svaki od pod-zadataka se moe upariti (matching) s moguim mjestima izvravanja. Zatim se odreuje potreban redoslijed izvravanja zadataka. Tijekom toga se moraju razmotriti specifini zahtjevi pod-zadataka poput meuovisnosti zadataka ili interprocesne komunikacija izmeu zadataka. Odreivanje rasporeda izvravanja pod zadataka nazivamo rasporeivanje (schedulling). Kompletan postupak uparivanja i rasporeda nazivamo 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.

3.2 Mapiranje poslova na paralelnim strojevima


3.2.1 Heuristike metode Heuristika je tehnika kojom se trae dobra rjeenja uz razumne raunalne trokove, a koja ne garantira niti pronalaenje niti optimalnost pa ak u mnogim sluajevima ni procjenu koliko je neko rjeenje blisko optimalnome. Heuristike metode mapiranja moemo podijeliti na statike i dinamike. U statikim metodama odluke o uparivanju i rasporedu donose se prije izvravanja aplikacije. Statiko mapiranje uzima pretpostavku da je vrijeme izvravanja i transfera podataka unaprijed poznato. Efikasnost statikog mapiranja ovisi o tonosti procjene vremena izvravanja. Dinamike metode izvode uparivanje i raspored i tijekom izvoenja aplikacije. Druga podjela se odnosi na to kad je zadatak mapiran na odreeni stroj. Ako se zadatak uparuje im stigne to je on-line mod. Ako se stavlja na stog i mapiranje se odvija u predodreenim vremenskim intervalima to je batch mod. Maper je komponenta u grid rasporeivau koja izvodi algoritme mapiranja. Maper obino odrava matrice koja se nazivaju ETC matrica (expected time to compute). Ona sadri oekivana vremena izvravanja razliitih zadatka (dijelovi meta-zadatka) na odreenim strojevima. m1 m2 m3

z1 10

20

14

z2 20 z3 10

40 20

24 18

Varijanca vremena izvravanja zadataka unutar meta-zadatka odreuje heterogenost zadatka. Hetrogenost strojeva daje varijancu vremena izvravanja pojedinog zadatka po razliitim strojevima. ETC matrice mogu se podijeliti na konzistentni i nekonzistentni tip. Za konzistentnu ETC matricu ako stroj mi ima manje vrijeme izvravanja od stroja mj za zadatak za, tada to vrijedi za bilo koji drugi zadatak. Za nekonzistentnu ETC matricu to ne vrijedi. Meutim podskup matrice ETC moe biti konzistentan pa takve matrice nazivamo polukonzistentne (semiconsistent). Heuristike mapiranja se ponaaju razliito ovisno o uvjetima konzistentnosti. Slijede neki pojmovi koji se koriste u diskusiji heuristika mapiranja. Oekivano vrijeme izvravanja (expected execution time): To je vrijeme izvravanja zadatka na stroju kad isti nije pod nekim drugim optereenjem. Oznaava se kao eij , to znai oekivano vrijeme izvravanja zadatka ti na stroju mj. Oekivano vrijeme izvrenja (expected completion time) : To je vrijeme koje pokazuje sat u trenutku kad je stroj mj izvrio zadatak ti. Oznaava se s cij. 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: zapoinje raunanjem oekivanog vremena izvrenja za sve zadatke na svim strojevima zatim se rauna najranije vrijeme izvrenja za svaki zadatak unutar meta-zadatka zadatak s minimalnim najranijim vremenom izvrenja alje se na izvravanje vrijeme dostupnosti stroja se aurira s dodavanjem oekivanog vremena izvravanja na tom stroju procedura se ponavlja sve dok ima zadataka u listi

3.2.1.6 Max-Min Ovo je slina heuristika kao min-min mapiranje. Algoritam: zapoinje raunanjem oekivanog vremena izvrenja za sve zadatke na svim strojevima zatim se rauna najranije vrijeme izvrenja za svaki zadatak unutar meta-zadatka zadatak s maksimalnim najranijim vremenom izvrenja alje se na izvravanje vrijeme dostupnosti stroja se aurira s dodavanjem oekivanog vremena izvravanja na tom stroju procedura se ponavlja sve dok ima zadataka u listi

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.

3.3 Mapiranje ili strategije rasporeivanja poslova na meta-raunalima


Raspored poslova za jedno paralelno raunalo znaajno se razlikuje od rasporeivanja za meta-raunalo. Rasporeiva paralelnog stroja vri raspored poslova kako bi na stroju postigao visoku iskoritenost resursa. Pri tome ima visoki stupanj kontrole nad resursima. Rasporeivanje za meta-raunalo komplicira prvenstveno to ga sainjava niz paralelnih strojeva (grozdovi), svaki sa svojom lokalnom politikom rasporeda. Dakle meta-rasporeiva formira novi stupanj rasporeivanja povrh lokalnih rasporeivaa. Raspored zadataka 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.1 Centralizirano rasporeivanje poslova U centraliziranoj okolini svi zadaci se rasporeuju na paralelne strojeve 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. O ovom scenariju poslovi se alju centralnom rasporeivau. Svi poslovi koji se ne mogu odmah pokrenuti stavljaju se u centralni red ekanja.

Centralizirano rasporeivanje

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.

Hijerarhijsko rasporeivanje 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 metarasporeivaa koji vri redirekciju poslova na redove ekanja u lokalnim rasporeivaima prema nekoj politici rasporeda.

3.3.3 Decentralizirano rasporeivanje U decentraliziranome rasporeivanju rasporeivai komuniciraju jedan s drugim i nakon toga rasporeuju poslove na udaljene sustave. Ne postoji centralna instanca odgovorna za raspored poslova. Zbog toga nije potrebno ni informaciju o stanju sustava prikupljati na samo jedno mjesto. Sustav je i skalabilniji. Pad jednog rasporeivaa nee utjecati na cijeli sustav. Nedostatak centralnog rasporeivaa koji ima potpunu informaciju o stanju cjelokupnog sustava vodi do sub-optimalni rasporeda poslova. Meutim 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

Lokani rasporeivai mogu direktno primati/slati poslove od drugih rasporeivaa. Svaki rasporeiva posjeduje listu rasporeivaa koje moe kontaktirati ili se koristi neki informacijski sustav. Ako posao nije mogue odmah pokrenuti na lokalnom stroju , lokalni rasporeiva trai alternativno mjesto izvravanja. Ako se pronae takav stroj posao se njemu prosljeuje. Mogu se naznaiti poslovi koji su kandidati za prosljeivanje.

Komunikacija preko centralne priuve poslova (central job pool) Poslovi koji se ne mogu izvriti odmah alju se na centralnu priuvu umjesto na udaljeni stroj. Za razliku od centralnog rasporeivanja ovdje lokalni rasporeivai mogu pokupiti prikladne poslove za svoj lokalni raspored. U ovom scenariju poslovi su vueni iz priuve (pull). REsursi vuku poslove ovisno o svom optereenju. Stoga sustav posjeduje ravnomjeran raspored poslova. Potrebno je uspostaviti politiku priuve u kojoj unato zahtjevima lokalnih rasporeivaa svi poslovi e doi na red u izvravanju ( izbjei starvation, izgladnjivanje). Ova metoda se moe dalje modificirati tako da se svi poslovi nakon slanja guraju direktno u priuvu.

3.4 Algoritmi rasporeda


Promatramo poslove iji dijelovi zahtijevaju istovremeno pokretanje na svim vorovima sustava. U tom sluaju bitni faktori koji odreuju raspored izvravanje nekog posla su duljina posla i broj vorova koji posao zahtjeva (irina).

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 ne zahtjeva poznavanje vremena izvravanja posla na resursu vrlo lak za implementaciju

Nedostaci: Moe proizvesti rasporede u kojima neki vorovi e biti bez posla due vremena (idle) Posebna degradacija ako se alju poslovi s velikim vremenom izvravanja po voru

3.4.1.2 Backfilling algoritam Backfilling algoritam zahtjeva procjenu vremena izvravanja posla na stroju. Ako se posao koji je na elu liste ne moe izvriti uslijed nepodudaranja/nedostatka resursa onda backfilling trai prvi slijedei posao koji se da izvriti na resursu, ali koji nee odgoditi izvravanje posla na elu liste. Koriste se dvije varijante backfillinga: 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.

3.5 Otkrivanje i nadgledanje servisa (Service monitoring and discovery)


Kada se posao poalje na grid u izvravanje, rasporeiva mapira posao na prikladne resurse koristei heuristiku mapiranja. Mapiranje se oslanja na informacije o resursima, odnosno o njihovoj dostupnosti. Resursi koji su u gridu su raznovrsni, poevi od raunala, mrea, sustava pohrane do protokola i algoritama koje se koriste u aplikacijama. Nadgledanje je proces u kojem se prikupljaju informacije vezane za resurse i servise kako bi se saznali uzorci koritenja (usage patterns) ili uoile pogreke. Otkrivanje je proces kojim se nalaze prikladni resursi za obavljanje poslova. U dinamikom sustavu poput grid sustava, gdje resursi mogu ulaziti ili izlaziti iz sustava bez ikakve prijave, otkrivanje dostupnih resursa je od iznimne vanosti. Otkrivanje servisa je komplicirano zbog: heterogenosti sustava (oteava prikupljanje istoznanih informacija dostupnosti) dinamike prirode resursa (informacija dostupnosti brzo zastarijeva) geografske distribucije resursa (promjenjivi uvjeti dostupnosti npr. mrena propusnost) velike koliine resursa (velika koliina informacija, veliki broj korisnika : potrebna decentralizacija, hijerarhijska struktura)

Bitno je da se od informacijskog sustava ne zahtijeva konzistentna niti potpuna informacija o stanju sustava. Konzistentnost informacije za sve korisnike znai da u nekom vremenskom trenutku svaki korisnik ima istu informaciju o dostupnosti nekog resursa. Omoguavanje da svaki korisnik ima konzistentnu informaciju o stanju cijelog sustava za sustav veliine grida je prevelik zahtjev. U distribuiranoj okolini i resursi i sustavi za informacije o resursima su podloni grekama. Grid sustav treba biti otporan na takve pogreke. Primjer: Pretpostavimo da dio VO postane nedostupan uslijed mrene pogreke. To ne smije onemoguiti korisnike da dobiju informaciju o ostalim dijelovima sustava. Dalje, informacijski sustav treba na vrijeme pruiti informaciju o padu dijela sustava. To se postie najee kroz soft-state model.To znai da se informacija o stanju sustava odbacuje ako nije nakon nekog prethodno definiranog vremena osvjeena. U sluaju da dio sustava ostane bez mrene veze to znai da nee grid informacijski sustav nee dobiti informaciju o stanju tog dijela sustava. Nakon nekog predefiniranog vremena informacijski sustav e pretpostaviti da su resursi tog dijela sustava nedostupni. Grid informacijski sutav moe dobavljati informacije i o resursima unutar drugih VO. U tom sluaju bit e potrebne dodatne provjere vezano za identifikaciju traitelja informacije i o tome da li isti ima dovoljne privilegije za dobivanje istih.

3.6 Grid workflow


Opa definicija za workflow bi bila npr. automatizacija procesa koji se sastoji od vie manjih sub-procesa, gdje postoji mogunost razmjene informacija ili podataka izmeu istih, a koja se obavlja na temelju predefiniranih pravila. Zadatak u grid sustavu moe biti sastavljen od niza pod-zadataka, koji najee posjeduju meuovisnost, npr.. podzadatak B zahtjeva rezultate od podzadatka B, stoga zadatak A je potrebno rasporediti da se izvrava prije zadatka A. zadatak A i zadatak B komuniciraju tijekom izvravanja koristei RPC (remote procedure call), tj. potrebno je istovremeno izvravanje.

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. U linearnom workflowu zadaci se obavljaju u specificiranom linearnom slijedu i obino koriste neki skriptni jezik za svoj opis

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. Ciklini workflow se opisuje ciklinim grafovima. Tu se komunikacija odvija u nizu izmjena poruka. Grane predstavljaju komunikaciju izmeu servisa.

3.7 Tolerancija greaka u grid sustavima


Stroj u grid sustavu moe pasti uslijed razliitih razloga ili moe biti odsjeen od sustava zbog pada mree. Grid sustav treba rukovati s ovakvim pogrekama na korisniku transparentan nain. Razlog tome je da korisnik sagledava grid kao jedan virtualni stroj. Korisnik jednostavno alje na izvravanje aplikaciju i oekuje rezultat. Korisnika ne zanima koji dio sustava ne funkcionira i neovisno o tome eli rezultat aplikacije. Stoga, upravljanje pogrekama u sustavu mora biti neovisno o korisniku. Na pogreke u gridu moemo gledati iz dvije perspektive. Stroj koji je trebao izvriti zadatak uslijed pogreke prekida s radom. U tom sluaju posao se treba dodijeliti nekom drugom stroju koji zadovoljava uvjete koji postavlja posao. U drugom scenariju posao koji je pokrenut moe zahtijevati podatke koji su na udaljenoj lokaciji. Zbog nekog razloga veza s tom lokacijom nije dostupna. U tom sluaju zadatak grid sustava je lociranje alternativne lokacije koritenjem grid informacijskog sustava. Tek u sluaju da se ne moe locirati alternativna lokacija, korisnik prima prikladnu poruku. U prvom sluaju radi se o strategiji koja se naziva preraspored. Za drugi scenarij koristi se replikacija podataka.

4. SIGURNOST U GRID SUSTAVIMA

4.1 Uvod
Sigurnost u grid sustavima ima svoje specifinosti nastale iz potrebe da se izgrade skalabilne VO. VO je grupa geografski distribuiranih individua ili organizacija koji imaju privremen ili stalan pristup resursima ili servisima. Dinamika priroda i preklapanje VO predstavljaju izazov u implementaciji sigurnosnih mehanizama. Osnovni problem je da nema centralne toke kontrole u grid sustavu. To znai da svaki pruatelj resursa u grid sustavu treba napraviti procjenu rizika kad obavlja interakciju s nekim drugim korisnikom ili pruateljem resursa te nakon toga uspostavi povjerenje. U ovaj proces ukljueni su tradicionalni sigurnosni mehanizmi: autentikacija, autorizacija i povjerljivost.

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.

Community Authorization Service (CAS) je slijedei korak u upravljanju autorizacijom u grid okolini. U CAS sustavu vlasnik resursa moe dodijeliti kontroliran pristup ne samo jednom korisniku ve nekoj drugoj VO. Zatim ta VO odreuje tko ima pravo pristupa resursima. Svaka VO odrava CAS server koja predstavlja posrednika izmeu dozvoljenih resursa i korisnika VO. Virtual Organization Membership Service (VOMS- razvijeno za EU DataGrid) koristi se za VO koje se mogu protezati na vie organizacija. To je baza podataka zajedno s nizom alata. Kada korisnik treba neki resurs onda se pomou alata kreira njegov certifikacijski dokument zajedno s informacijom o ulozi korisnika i njegovim pravima. Te informacije dalje koristi njegova aplikacija u pristupu resursima sustava.

4.1.3 Povjerljivost (Confidentiality) Povjerljivost podrazumijeva skrivanje osjetljivih informacija od onih koji nemaju pravo pristupa istima. Grid aplikacije se esto procesiranjem osjetljivih informacija poput industrijskih informacija, financijskih informacija, medicinskih podataka, itd. Potreba za zatitom takvih podataka proizlazi iz spreavanja povrede intelektualnog vlasnitva ili spreavanja povrede privatnih podataka. Stoga se esto primjenjuju tehnike enkripcije podataka. Kod obrade povjerljivih podataka u grid sustavu, rasporeiva zadataka treba potovati sigurnosne zahtjeve vlasnika podataka te zadatke rasporediti samo na one strojeve (grozdove) koji osiguravaju nivo zatite zahtjevan od korisnika.

4.2 Povjerenje i sigurnost u grid sustavima


Inicijalna upotreba grid sustava je bila u znanstvenim kolaboracijama u kojoj su korisnici poznavali jedni druge. Takve kolaboracije imaju implicitno povjerenje korisnika i podrazumijeva se da nijedan od korisnika nee zlonamjerno koristiti sustav. irenjem grid sustav, posebno u poslovna okruja, postavlja problem da korisnik koji dijeli resurse s drugim korisnikom ne moe biti siguran u njegove namjere. Stoga se dijeljenje resursa u grid sustavima dozvoljava samo kad uesnici u dijeljenju posjeduju nain da jedan drugome potvrde svoj identitet, tj. posjeduju neku ispravu (dokument) izdan od strane povjerljivog autoriteta (poput putovnice). 4.2.1 Postojee tehnologije sigurnosti Grid sustavi u realizaciji sigurnosnih mehanizama oslanjaju se na niz postojeih tehnologija. naglasak je na otvorenim standardima. najee koritene tehnologije su Public Key Infrastructure (PKI) i X.509 kao sastavni dio PKI. Za uzajamnu autentikaciju klijent-server koristi se Kerberos protokol.

4.2.1.1 PKI infrastruktura PKI infrastruktura omoguava korisnicima mogunost sigurne komunikacije u nesigurnim javnim mreama koritenjem para kljueva - javni/privatni. PKI ukljuuje treu povjerljivu stranu, koju nazivamo certifikacijskim autoritetom (CA). CA izdaje certifikate korisnicima, koji mogu biti pojedinci ili organizacije. Digitalni certifikat jedinstveno identificira korisnika. Digitalni certifikat prati strukturu kako je to definirano X.509 sustavom. U tom sustavu jedinstveno ime korisnika vezano je s njegovim javnim kljuem. Privatni klju uva korisnik, vlasnik certifikata, a javni klju je dostupan za javnu upotrebu. Podaci enkriptirani javnim privatnim kljuem mogu se dekriptirati samo privatnim kljuem i obrnuto. PKI slijedi hijerarhijsku strukturu u uspostavljanju povjerenja. Na najniem nivou su krajnji korisnici. Slijedei nivo su CA na podrunom stupnju. Ne postoji fiksno odreenje veliine podruja. To moe biti neka mala organizacija ili pak velika drava. Svaka od podrunih organizacija takoer posjeduje svoj digitalni certifikat. Taj certifikat potpisuje CA vieg nivoa. Na vrhu hijerarhije nije jedna CA, ve ih moe biti vie. To su CA kojima je osnovni posao izdavanje digitalnih certifikata i koje su izborile povjerenje od svih na tritu izdavanja certifikata. Ako korisniku neka individua predoi svoj digitalni certifikat oznaen od nekog CA, onda moe imati povjerenje u taj CA, ili moe za taj CA traiti certifikat izdan od CA vieg nivoa. Korisnik dakle moe u lancu CA pronai onaj CA u koji ima povjerenje. Npr. logiranjem na CERN grid sustav korisnik moe se predoiti certifikat koje izdaje SRCEZagreb. CERN grid sustav sigurnosti ne mora na popisu CA kojima vjeruje imati SRCEZagreb i tada e provjeriti tko je dao certifikat za SRCE-Zagreb,... X.509 standard opisuje sadraj certifikata, odnosno polja: Verzija certifikata Serijski broj jedinstveni serijski broj Identifikator algoritma npr. md5withRSAEncryption (RSA za generaciju kljueva, md5 za hashing algoritam Izdava Vrijednost (vrijedni ne prije, vrijedi ne poslije) Subjekt naziv organizacije Informacija o javnom kljuu ... 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. CA u PKI sustavu dune su i objavljivati Certification Revocation List (CRL). To su certifikati koji su iz bilo kojih razloga povueni tj. vie se na smatraju ispravnima.

4.2.2 Grid Security Infrastructure Grid Security Infrastructure (GSI) je dio Globus Toolkita. Na njenom primjeru obradit emo osnovne elemente vezane za sigurnost u grid sustavima. GSI je razvijena da bi se osigurali specifini sigurnosni elementi za grid sustave: 1. Jednostruka prijava (single sign-on) korisnik se samo jednom autenticira u grid sustav, a zatim dalje koristi resurse bez dodatnih autentikacija. Kada se korisnik prvi put autenticira kreira se proxy certifikat s ogranienim vremenom trajanja (npr. 12h). Kod daljnjih pristupa resursima za autentikaciju se automatski koristi proxy certifikat. 2. Delegacija privilegija: a. Zamislimo situaciju gdje imamo tri entiteta: X,Y i Z. Y vjeruje X i Z vjeruje X. Pretpostavimo da X eli da Y obavi zadatak koji ukljuuje pristup resursima koji pripadaju Z. Kako Z ne vjeruje Y, ne moe dozvoliti Y pristup svojim resursima. Da bi se rijeio taj problem, X moe delegirati dio svojih privilegija Y izdavanjem proxy certifikata entitetu Y. Proxy certifikat zajedno s njegovim javnim kljuem nazivamo proxy dokument (credential). Dakle, X delegira samo one privilegije Y koje su potrebne za obavljanje zadatka. b. U drugom scenariju korisnik alje posao grid resursu. Korisnik tada moe delegirati poslu podskup svojih privilegija kojima isti pristupa resursima u ime korisnika. 3. Podrka za sigurnost u razliitim domenama grid moe sadravati entitete koji se proteu na viestruke organizacije. Svaka od njih moe imati unutar sebe razliite sigurnosne politike. Sigurnosni mehanizmi moraju sadravati rjeenje za interakciju entiteta u razliitim domenama. Stoga mora postojati neki proxy ili agent koji je pokrenut unutar domene i koji osigurava pristup resursima udaljenom korisniku. 4. Sigurna komunikacija : GSI osigurava sigurnu izmjenu poruka koritenjem TLS (transport layer security) 5. Autentikacija i autorizacija 6. Uniformni certifikacijski dokumenti: kako se zahtjeva interakcija meu razliitim domenama dogovoreno je koritenje uniformnog certifikacijskog dokumenta : X.509 X.509 Korisniki Certifikati (End User Certificates) X.509 Korisniki certifikati koriste se za identificiranje entiteta u gris sustavu. Svaki korisnik u gridu se identificira jedinstvenim X.509 certifikatom a i procesi koji su pokrenuti u ime tog korisnika koriste isti certifikat. X.509 Proxy Certifikati Pojedini entitet moe izdati proxy certifikat kojim podskup svojih privilegija dodjeljuje drugom entitetu. Proxy certifikat je vremenski ogranien te je to ogranienje zapisano u samom certifikatu. Kako je proxy certifikat punovrijedan samo ogranieno vrijeme (npr. 12h),

privatni klju certifikata se moe drati ne-enkriptiran u datotenom sustavu. Pristup kljuu titi se funkcijama zatite pristupa ugraenim u operacijski sustav. Proxy sadri novi par javni/privatni klju. Taj novi certifikat sadri identitet vlasnika i potpisan je od strane vlasnika, a ne CA. Kada se koristi proxy certifikat, strana koja vri autentikaciju prima proxy certifikat i vlasnikov X.509 certifikat. Korisnikov javni klju koristi se da se utvrdi da li je proxy certifikat valjan, odnosno da li ga je potpisao korisnik. Slino se moe provjeriti da li je korisnikov X.509 certifikat ispravan koristei CA potpis. Na taj nain uspostavljen je lanac povjerenja od CA preko korisnika do proxy certifikata.

Das könnte Ihnen auch gefallen