diplomski - raspodjeljena pretvorba prostornih...

57
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1704 Raspodjeljena pretvorba prostornih podataka Marko Šantić Mentor: doc.dr.sc. Marin Golub Zagreb, siječanj 2008.

Upload: others

Post on 31-Dec-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RA ČUNARSTVA

DIPLOMSKI RAD br. 1704

Raspodjeljena pretvorba prostornih podataka

Marko Šantić

Mentor: doc.dr.sc. Marin Golub

Zagreb, siječanj 2008.

Page 2: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Zadatak

Zadatak

Proučiti i opisati postupak pretvorbe prostornih kartografskih podataka u GIS sustavima s namjenom prikaza podataka krajnjem korisniku. Ostvariti programski sustav za pretvorbu prostornih podataka koristeći dostupne programske alate i vlastite algoritme. Navesti nekoliko metoda paralelizacije algoritama i mogućnosti primjene paralelnih programskih alata. Načiniti paralelni programski sustav za pretvorbu prostornih podataka pripremljen za izvoñenje u raspodjeljenom okruženju. Eksperimentalno ispitati mogućnosti i učinkovitost ostvarenog sustava u različitim raspodjeljenim okolinama. Radu priložiti izvorne tekstove programa i rezultate istraživanja uz potrebna pojašnjenja i dokumentaciju. Citirati korištenu literaturu.

Page 3: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Mojim roditeljima koji su mi pružili sve i naučili me živjeti ispravno

Page 4: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Sadržaj

I

Sadržaj

1. Uvod ............................................................................................................................ 1

1.1. Geografski informacijski sustav .......................................................................... 2

1.2. Kartografija na Internetu ..................................................................................... 4

2. flashNavigator tehnologija ........................................................................................... 8

2.1. fnAdmin .............................................................................................................. 9

2.1.1. XML konfiguracijska datoteka .................................................................... 9

2.2. fnGenerator ...................................................................................................... 10

2.3. fnViewer ........................................................................................................... 11

2.4. Stilovi ................................................................................................................ 12

3. Raspodjeljeni sustavi ................................................................................................. 13

3.1. Podjela raspodjeljenih sustava po memorijskoj strukturi .................................. 17

3.1.1. Model zajedničke memorije ..................................................................... 17

3.1.2. Model raspodjeljene memorije ................................................................. 17

3.1.3. Miješani model zajedničke i raspodjeljene memorije ............................... 18

3.2. Beowulf ............................................................................................................ 18

3.3. Standardne paralelne knjižice .......................................................................... 19

3.3.1. MPI .......................................................................................................... 19

3.4. Sustavi za upravljanje poslovima ..................................................................... 20

3.4.1. Upravljački sustav SGE ........................................................................... 21

3.5. Sustavi za nadzor grozda ................................................................................. 22

3.5.1. Nadzorni sustav Ganglia .......................................................................... 23

3.6. Programski paketi grozda računala .................................................................. 24

3.6.1. Programski paket NPACI Rocks .............................................................. 24

3.7. Računalni grozd Isabella .................................................................................. 25

3.7.1. Administracija sustava ............................................................................. 26

3.7.2. Rad na grozdu Isabella ............................................................................ 26

3.7.3. Prijenos podataka .................................................................................... 26

3.7.4. Organizacija diskovnog prostora .............................................................. 27

3.8. Rad na mreži računala na FER-u ..................................................................... 27

3.9. Korištenje sustava SGE ................................................................................... 28

Page 5: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Sadržaj

II

3.9.1. Izvoñenje poslova .................................................................................... 28

3.9.2. SGE okolina i parametri ........................................................................... 28

3.9.3. SGE varijable okoline ............................................................................... 30

3.9.4. Prikaz informacija o poslovima................................................................. 31

3.9.5. Upravljanje poslovima .............................................................................. 32

3.9.6. Dohvat informacija o završenim poslovima .............................................. 32

3.9.7. Korištenje MPI knjižnice ........................................................................... 33

4. Praktični rad .............................................................................................................. 35

4.1. Raspodjela posla .............................................................................................. 36

4.2. Komunikacija meñu čvorovima ......................................................................... 37

4.3. Poslovi u radnim čvorovima ............................................................................. 38

5. Ispitivanje .................................................................................................................. 40

5.1. Metodologija ..................................................................................................... 40

5.1.1. Ulazni parametri ....................................................................................... 40

5.1.2. Izlazni parametri ....................................................................................... 41

5.2. Ispitni podaci .................................................................................................... 41

5.2.1. Digitalna karta Europe.............................................................................. 42

5.2.2. Digitalna karta Južnoafričke Republike .................................................... 43

5.3. Plan ispitivanja ................................................................................................. 44

5.4. Rezultati mjerenja ............................................................................................. 45

5.4.1. Prvo mjerenje ........................................................................................... 45

5.4.2. Drugo mjerenje ........................................................................................ 46

5.4.3. Treće mjerenje ......................................................................................... 47

5.4.4. Četvrto mjerenje ....................................................................................... 47

6. Zaključak ................................................................................................................... 49

7. Literatura ................................................................................................................... 50

8. Dodatak A – Popis kratica.......................................................................................... 52

Page 6: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

1

1. Uvod

Na početku, a u cilju potpunog razumijevanja teme koja se u ovoj radnji obrañuje, potrebno je izložiti definicije pojedinih pojmova koji se koriste te dati dodatna pojašnjenja. Tema radnje ulazi u područje kartografije , koju možemo definirati kao djelatnost i znanost koja se bavi prikazom prostornih informacija na ravnoj podlozi. Na slici Slika 1-1 se može vidjeti stara kineska karta koja podsjeća na važnu ulogu kartografije kroz povijest.

Slika 1-1 Kineska karta naslikana na svili iz 2. stoljeća pr. kr. (dinastija Han). Po

sadašnjoj kategorizaciji bila bi to topografska karta vojne namjene koja sadrži: riječne tokove, ceste, planine, imena, mjerilo i ortogonalne projekcije.

Pri tome se prostornom informacijom smatra svaki navod kojem uz iskaz o značenju objekta pripada i položajna odreñenost u danom sustavu. Kartografija uključuje znanost, estetiku i tehnologiju kako bi se stvorila balansirana i čitljiva reprezentacija koja je sposobna komunicirati informacijom učinkovito i brzo. Karta je grafička prezentacija realnog svijeta, koja sadrži objekte koji su opisani: geografskom lokacijom i oblikom ili simbolom koji opisuje neka svojstva objekta. Lokacija objekta na karti manje ili više točno odgovara lokaciji na Zemljinoj površini. Mjerilo se koristi kao mjera za objekte u stvarnom svijetu [1]. Razina detalja ovisi o mjerilu, pa se stoga kod premalih mjerila gubi informacija. Informacija se takoñer gubi i kod generalizacije. Karte su se tradicionalno crtale rukom; meñutim današnju, modernu kartografiju je revolucionirala uporaba računala. Današnje komercijalne karte su izrañene uporabom računalnih programa koji ulaze u tri glavna tipa: CAD, GIS te specijalni računalni programi za ilustracije.

CAD (engl. Computer-aided design) [2] je široki pojam u računarstvu koji se odnosi na paletu računalnog projektiranja od dvodimenzionalnih tehničkih nacrta do trodimenzionalnih modela. CAD se koristi za projektiranje, izradu i optimiranje proizvoda. Kartografija je samo jedna od mnogih djelatnosti u kojoj se CAD primjenjuje.

Page 7: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

2

1.1. Geografski informacijski sustav

Razvojem računalne opreme stvorene su tehnološke pretpostavke za novi sustav koji se naziva GIS (Geografski informacijski sustav, nastao otprilike 1960. godine) [3]. Iako GIS nema opće prihvaćenu definiciju, prema općem dogovoru GIS predstavlja integrirani sustav sklopovlja, računarskih alata i korisničke programske podrške, a sve u svrhu sakupljanja, organiziranja, rukovanja, analize, modeliranja i prikaza prostornih podataka s ciljem rješavanja složenih problema analize i planiranja. GIS je bitna prostorna značajka, ali i veza izmeñu podataka te grafičke reprezentacije. GIS ne poznaje mjerilo jer je u stanju koristiti više izvora koji se poklapaju i koji su kontinuirani pa se povećavanjem ili smanjivanjem svaki put mijenja mjerilo kod prikaza. Pritom je važno naglasiti njegovu multidisciplinarnost jer uključuje geografiju, kartografiju, računalne znanosti, matematiku, statistiku i informacijske znanosti.

Glavne značajke i prednosti korištenja GIS-a su: računalno potpomognuta produkcija karata, predefinirana izvješća, jednostavne analize i pretraživanja prostornih baza podataka, grafički podaci pohranjeni u specijalnim formatima datoteka, atributni podaci pohranjeni u bazama podataka itd. Slika 1-1 prikazuje koje sve sustave uključuje GIS.

Slika 1-2 GIS

Kako je područje primjene GIS-a široko, to je i raspon institucionalnih, profesionalnih, kao i manje zahtjevnih korisnika zaista impresivan: od Europske komisije, istraživačkih instituta, lokalnih vlasti, urbanističkih djelatnosti, pa sve do manjih tvrtki, turističkih zajednica i samih turista, odnosno ostalih korisnika sa manjim ili većim potrebama korištenja tih sustava.

Page 8: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

3

Slika 1-3 prikazuje preklapanje više izvora različitih podataka kod GIS modeliranja. Primjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne statistike i kontroli raspodjele financijske potpore poljoprivrednicima na temelju analize poljoprivrednih dobara na odabranim područjima. Ovaj sustav je implementiran u petnaest zemalja članica Europske unije. Korištenjem GIS i GPS (engl. Global positioning system) tehnologija stvoreni su digitalni katastarski sustavi, koji su temelj razvoja poljoprivrede. Kombinacijom tih tehnologija poljoprivrednicima je omogućena racionalnija uporaba gnojiva, pesticida i insekticida. Zanimljivo je da se GIS koristi i pri nadgledanju poljoprivrednih dobara s usjevima narkotika. Osim toga, GIS tehnologija je važna i za ekologiju jer omogućuje praćenje divljih životinja i ugroženih vrsta te restrikciju ljudskog djelovanja van područja zaštićene flore i faune. Prilikom nadgledanja rijeke Rajne GIS se primjenjuje pri hidrološkom modeliranju istjecanja rijeke i razmatranju posljedica istjecanja na prometnost rijeke i dostupnost pitke vode. Praćenje šumskih ekosustava igra važnu ulogu u procjeni deforestacije tropskih ekosustava. Pritom se razvijaju posebna GIS rješenja s mogućnošću stvaranja digitalnih atlasa povijesti šumskih požara u odabranim regijama.

Slika 1-3 GIS modeliranje

Bez obzira da li je riječ o lokalnim ili globalnim razmjerima, GIS se pokazao kao odličan alat za procjenu štete nastale elementarnim nepogodama. Posljedice suša, poplava, potresa, jakih vjetrova, lavina i erupcija vulkana imaju velik utjecaj na gospodarstvo i život ljudi. Podaci prikupljeni daljinskim istraživanjima koriste se pri odreñivanju rizičnih područja. Područje u kojem GIS nalazi svoju tradicionalnu primjenu svakako je prostorno

Page 9: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

4

planiranje. Interesantan primjer predstavlja uporaba GIS-a pri razvoju agrokulture, gdje se pronalaze područja pogodna za izgradnju ribnjaka uzimajući u obzir vrste tla i temperaturne uvjete tog područja. Eksploatacija mineralne rude i identificiranje područja s visokom seizmičkom aktivnošću u velikoj su mjeri unaprijeñeni pojavom specijaliziranih GIS alata koji se uz te zadaće koriste i za analizu posljedica potresa te procjenu vremena potrebnog za odaziv spasilačkih službi. Prilikom transporta robe, GIS se koristi pri praćenju vozila opremljenih navigacijskim sustavima za odreñivanje njihova položaja u realnom vremenu. Time se omogućuju bolja računanja ruta kretanja vozila, smanjenje troškova prijevoza i bolje upravljanje samim prometom.

Slika 1-4 GIS kao alat za donošenje odluka

GIS se intenzivno koristi i u ostalim društvenim djelatnostima, kao što su turizam, telekomunikacije, pružanje humanitarne pomoći, prikupljanje statističkih podataka o stanovništvu i marketingu. Široku primjenu GIS sustavi opravdavaju svojim velikim mogućnostima pružanja točnih i lako razumljivih informacija. Slika 1-4 pokazuje na koji način se GIS koristi kao alat za donošenje odluka. Mnoge discipline prepoznale su svoju potrebu za ovakvim alatom dajući kvalitetnije i pouzdanije odgovore do kojih bi bilo nemoguće doći bez jednog moćnog sustava kao što je GIS.

1.2. Kartografija na Internetu

Internet je meñunarodna računalna mreža koja uz veliki broj računala čini i opći skup podataka, informacijskih procesa i ljudi koji te podatke daju ili ih upotrebljavaju. Sačinjen je od mnogo nacionalnih mreža, pruža neizmjeran opći potencijal obavijesti, znanja,

Page 10: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

5

načina komunikacije i suradnju ljudi iz svih krajeva svijeta [4].

Multimedija je interakcija više oblika medija podržana računalom. Računalo je alat multimedije ali i njezin medij. Web je dramatično povećao broj korisnika i uporabu produkata interaktivne multimedije. Do približno sredine 1980-ih računala su se uporabljavala kao pomoć u izradi karata na papiru. Napredak u pohrani podataka (CD-ROM, DVD) i Internet (web) omogućili su potkraj 80-ih i tokom 90-ih godina ulazak kartografije u razdoblje multimedije. Kartografija je u procesu promjene. Nužno je promijeniti i neke ustaljene definicije. Primjerice, trebalo bi redefinirati i pojam karte tako da se odnosi na interaktivni kartografski prikaz. Ako korisnik ne može kontrolirati proces izrade karte, onda to nije karta. Ako nema mogućnosti interakcije, to takoñer nije karta. Karta nije ni prikaz, koji ne omogućuje animaciju. Ono što mi danas nazivamo kartom to su samo statički elementi karte. Dinamičke karte, čiji se sadržaj mijenja na korisnikov zahtjev, općenito su dostupne na webu. Oblikovanje karata za web je proširenje djelatnosti kartografa, koje zahtijeva nove načine oblikovanja.

Postoji mnogo načina uporabe Interneta u kartografiji. Kartografske informacije su već duže vrijeme u raznim oblicima dostupne preko Interneta. Web kartografija (engl. Web mapping) je proces projektiranja, implementacije i objavljivanja karti na Internetu [5]. WebGIS je sličan web kartografiji, ali sa naglaskom na analizu, procesuiranje podataka specifičnih za pojedini projekt i istraživanje. Često su ta dva pojma koriste kao sinonimi, iako nemaju isto značenje. Zapravo, granica izmeñu njih je nejasna. Web-karte(engl. WebMap) se odnosi na prezentaciju podataka, a WebGIS na analitičke mogućnosti.

Prostorni podaci se mogu nalaziti u dva oblika: vektorskom i rasterskom. Objekti u vektorskom obliku koriste matematičku reprezentaciju, dok rasterski oblik ne poznaje objekte već samo vrijednosti piksela za svaku koordinatu. Ako je grafika vektorska, slika je uvijek jednako oštra neovisno o povećanju, a ako je rasterska postaju vidljivi pikseli (pojava nazubljenosti).

WebGIS je relativno novi pojam. Označava primjenu tehnologije Interneta s njegovim normama u prijenosu i prikazu podataka u GIS-u [6]. Korisnost odreñenog GIS-projekta znatno će se povećati ako što veći broj korisnika ima jednostavan pristup podacima GIS-a pri čemu se ti podaci mogu spajati s podacima iz drugih sustava, analizirati i prikazati. U tu svrhu ujedinile su se praktički sve tvrtke prisutne na tržištu GIS-a i osnovale OpenGIS-Consortium (OGC). Članice OGC-a su predložile i prikazale značajno otvoreno sučelje koje bi moglo izazvati revoluciju u uporabi geoprostornih informacija na webu.

Poseban slučaj su mobilne web karte koje se prikazuju na prijenosnim ureñajima kao mobiteli, pametni telefoni, GPS ureñaji, ručna računala i slično.

Web-karte mogu biti statičke i dinamičke. Obje skupine uključuju karte koje se mogu samo pregledavati (engl. view only) i interaktivne karte. Većina karata na webu danas su još uvijek statičke i nisu interaktivne. To su npr. skenirane karte postavljene na web. Na taj način neke vrlo stare i teško dostupne karte postaju dostupne mnogima. Statičke karte mogu biti i interaktivne. “Klikom” na pojedino mjesto izazivaju se odreñene operacije, npr. pridruživanje dodatnih informacija, zumiranje i slično. Dinamičke karte se prikazuju ovisno o zahtjevima klijenta. Obično su prostorni podaci pohranjeni u bazi podataka te se generiraju na web poslužitelju i vraćaju klijentu. Dinamičke web-karte su složenije i gotovo uvijek zahtjevaju vektorske prostorne podatke. Primjer dinamičke web-

Page 11: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

6

karte se može vidjeti na slici Slika 1-5.

Sadržaj karte i njen prikaz značajno ovise o mjerilu. U načelu karte na zaslonu (ekranu) monitora, pa prema tome i web-karte, imaju promjenljivo mjerilo jer se mogu povećavati i smanjivati (engl. zoom). Kartografi mogu u kreiranju karata primijeniti tri vrste zumiranja. Pri statičkom linearnom zumiranju slika se linearno povećava, ali sadržaj ostaje isti. Karta je spremljena kao slika. U statičkom stupnjevitom zumiranju dostupna je serija karata istog područja, svaka oblikovana za drugo mjerilo. Pri zumiranju program automatski bira najprikladniju kartu za traženo mjerilo. U dinamičkom zumiranju postoji izravna veza izmeñu mjerila i sadržaja karte. Što je mjerilo krupnije, prikazuje se više detalja na karti. Potrebna je izravna veza slike i baze podataka. Kartografska generalizacija i simbolizacija najčešće se mijenja s mjerilom. Primjerice, naselje u sitnome mjerilu prikazuje se kružićem, a u krupnijem konturom naselja.

Slika 1-5 Primjer dinamičke web-karte

Modeliranje realnog svijeta stvara velike količine podataka koji se moraju na odreñeni način pohraniti kako bi se kasnije lakše mogli vizualizirati, obrañivati i analizirati. Formati koji danas postoje su uglavnom definirale vladine agencije, vojska i utjecajne informatičke korporacije. Prikupljanje podataka je meñu najskupljim stavkama u GIS projektiranju, no uz činjenicu da postoji veliki broj formata za pohranu prostornih podataka, pretvorba tih podataka iz jednog formata u drugi takoñer je vrlo skupa. Ukoliko se žele koristiti web-karte, moraju se vršiti dodatne pretvorbe kako bi smo karte prilagodili prikazu unutar internet preglednika. U GIS aplikacijama troši se puno sredstava na pretvorbu jednog GIS formata u drugi. To je uvjetovano time što svaki

Page 12: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Uvod

7

pružatelj prostornih podataka ili proizvoñač programske podrške ima svoj format za pohranu podataka.

Pretvorba prostornih podataka iz jednog formata u drugi zahtjeva puno računalnih sredstava i vremena. Iskorištavanjem moći paralelnih računala i programa povećava se učinkovitost te optimiziramo upotrebu raspoloživih sredstava.

Paralelno ra čunanje je računalna metoda u kojoj se više neovisnih računala povezanih nekom vrstom mreže koriste u svrhu rješavanja nekog zadatka.

Slijedom toga, cilj je ovog diplomskog rada ostvariti paralelni programski sustav za pretvorbu prostornih podataka te eksperimentalno ispitati mogućnosti i učinkovitost ostvarenog sustava u različitim raspodjeljenim okolinama. Namjena takvog programskog sustava je prikaz prostornih podataka krajnjem korisniku unutar kartografskih servisa.

U 2. i 3. poglavlju opisane su tehnologije koje se koriste kao podloga za izradu paralelnog programskog sustava tako u 2. poglavlju opisuje se komercijalna flashNavigator tehnologija koja se koristi za vizualizaciju podataka, dok 3. poglavlje sadrži opširan uvod i način korištenja različitih raspodjeljenih sustava. Nadalje, poglavlja 4. i 5. se bave praktičnim dijelom diplomskog rada i ispitivanjem u raspodjeljenim okolinama. U zaključnom poglavlju sadržan je završni komentar o isplativosti korištenja raspodjeljenih sustava.

Page 13: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

flashNavigator tehnologija

8

2. flashNavigator tehnologija

flashNavigator tehnologija je atraktivno programsko rješenje za vizualizaciju svih oblika prostornih podataka [7]. Rješenje se bazira na Adobe Flash tehnologiji što predstavlja njegovu glavnu karakteristiku. Adobe Flash je platforma za stvaranje multimedijalnog sadržaja koji se može publicirati na svim operacijskim sustavima te mobilnim ureñajima. Podržava vektorsku i rastersku grafiku te skriptni jezik nazvan ActionScript. Adobe Flash je optimiran za brzu razmjenu sadržaja te se stoga najviše koristi na Internetu. flashNavigator se može shvatiti kao jedna od komponenti GIS sustava koja služi prezentaciji sakupljenih podataka, ali nikako nije cijeli GIS sustav.

Slika 2-1 Diagram flashNavigator tehnologije

Kao što prikazuje Slika 2-1 flashNavigator se dijeli na tri osnovne komponente:

1. fnAdmin

2. fnGenerator

3. fnViewer

,dok se sve ostale komponente sustava samo povezuju na njega kao npr. datoteke sa stilovima, baze podataka itd.

Page 14: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

flashNavigator tehnologija

9

2.1. fnAdmin

fnAdmin je programski sustav koji služi za analizu, konfiguriranje i upravljanje prostornim podacima. Uobičajene radnje su: povezivanje sa prostornim bazama podataka, definiranja stilova karata, generiranje karata i slično. Napravljen je u Adobe Flex programu. Može se nalaziti na udaljenom računalu ili na lokalnom poslužitelju, dok se pristup računalu na kojem se nalazi prostorna baza podataka ostvaruje preko fnGenerator-a. Komunikacija izmeñu fnAdmina i fnGeneratora se obavlja preko zaštićene veze ostvarene Socketom. Slika 2-2 prikazuje fnAdmin sa označenim radnim površinama.

Slika 2-2 fnAdmin

2.1.1. XML konfiguracijska datoteka

Konfiguracijska datoteka je središnje mjesto za opis projekta. Sadrži sljedeće informacije:

• veze na prostorne podatke (gdje se nalaze na lokalnom disku),

• vrstu kartografske projekcije,

• područje karte koje želimo,

• popis slojeva (engl. layer) te za svaki sloj:

o vrstu sloja (geometrija, tekst itd),

o stupanj pojednostavljenja (simplifikacija) geometrije,

Page 15: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

flashNavigator tehnologija

10

o način prikaza,

o područje koje obuhvaća sloj,

te mnogo drugih postavki koje služe za optimiranje pretvorbe prostornih podataka, ali i za njihov prikaz.

Primjer konfiguracijske datoteke s opisom jednog sloja geometrije prikazuje Slika 2-3.

Slika 2-3 Primjer konfiguracijske datoteke flashNavigator rješenja

Uz prostorne podatke, fnGenerator koristi konfiguracijsku datoteku kao ulaz kako bi znao na koji način raditi sa podacima i gdje ih pronaći.

2.2. fnGenerator

fnGenerator je aplikacija koja služi za pretvorbu svih ulaznih formata prostornih podataka u Adobe Flash datoteke koje služe kao ulaz u fnViewer. Napravljen je u C++ programskom jeziku i podržava pokretanje na više načina te na operacijskim sustavima Windows i Linux. Može se pokrenuti u serverskom te u lokalnom načinu rada. Generator predstavlja središnji dio tehnologije jer obavlja glavninu posla oko pripreme, obrade i pretvorbe prostornih podataka prije nego što se dostave klijentu, odnosno fnViewer.

Ulazni formati koje podržava su:

• ESRI Shapefiles

• PostGIS

• Oracle Spatial

• Mapinfo

• OCAD

• AutoCAD

Izlazni format je:

• Adobe Flash (swf)

Kako bi fnGenerator znao na koji način pretvoriti ulazne prostorne podatke, on koristi konfiguracijsku datoteku iz fnAdmin-a.

Page 16: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

flashNavigator tehnologija

11

2.3. fnViewer

fnViewer je preglednik koji prikazuje pretvorene i pripremljene podatke iz fnGenerator-a. To je jedina komponenta sustava koja se uvijek nalazi na strani klijenta, dok se ostale dvije mogu nalaziti na poslužitelju. Napravljen je u Adobe Flash programu. Preglednik omogućuje vizualno atraktivan prikaz prostornih podataka, te njihovu trenutnu (engl. real-time) analizu. Prikaz je interaktivan čime se osigurava da korisnik označava prikazane objekte, unosi nove objekte, povezuje geometriju sa neprostornim podacima i slično. Slika 2-4 prikazuje fnViewer s očitanom kartom svijeta.

Slika 2-4 fnViewer

Page 17: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

flashNavigator tehnologija

12

2.4. Stilovi

Kod nekih GIS formata stilovi geometrije (debljina linija, boja, prozirnost itd.) se ne definiraju unutar samog formata. Za sve takve formate flashNavigator rješenje podržava CSS (engl. Cascading Style Sheets) jezik koji samo služi za odreñivanja konačnog izgleda generiranih prostornih podataka. Takav način definiranja stilova je preuzet iz web dizajna.

Page 18: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

13

3. Raspodjeljeni sustavi

U općenitom smislu, raspodjeljeni sustav je skupina nezavisno djelujućih elemenata povezanih nekim medijem u cilju koordiniranog i kooperativnog ponašanja [8].

Računalni grozd (engl. cluster) nije precizno definiran pojam, pa se čak i skup nezavisnih računala može smatrati grozdom ukoliko postoji neki minimalan vid i stupanj integracije. Ipak, računalnim grozdom obično smatramo sustav računala umreženih korištenjem brze lokalne mreže (LAN) pomoću koje računala meñusobno komuniciraju te djeluju kao jedinstveno računalo. Korištenje specifične programske podrške daje visok stupanj integracije računala, omogućava njihov koordinirani zajednički rad i pretvara ih učinkoviti (u mjeri u kojoj je to fizički moguće) jedinstveni višeprocesorski sustav. Neizbježna heterogenost arhitekture, te korištenje raspodjeljene (umjesto dijeljene) memorije jedino je po čemu se grozd razlikuje od jedinstvenog višeprocesorskog sustava. Ciljevi povezivanja računala u grozdove su razni, a najčešće se računala povezuju s ciljem osiguravanja veće pouzdanosti ili bolje izvedbe u odnosu na pojedino računalo.

Slika 3-1 prikazuje izgled pravog računalog grozda koji se sastoji od mnogih radnih računala i jednog pristupnog (računalo sa ekranom u sredini).

Slika 3-1 NASA Goddard, centar za svemirska istraživanja, Beowulf grozd

Svojstvo sustava sastavljenog od skupa komponenata kojima se skriva složenost i predočava se kao jedinstven sustav naziva se privid jedinstvenog sustava (engl. Single System Image SSI), u nastavku SSI [9]. U sljedećoj tablici (Tablica 3-1) navedena su svojstva koja grozd treba imati da zadovolji SSI svojstvo. Grozdovi koji ispunjavaju navedena svojstva nazivaju se SSI grozdovi.

Page 19: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

14

Tablica 3-1 svojstvo grozda

Svojstvo Naziv na engleskom jeziku Opis svojstva

Jedinstvena pristupna točka Single entry point Sustavu se pristupa kao da se radi o jednom

računalu.

Jedinstveno korisničko sučelje

Single user interface

Korisnici pri radu sa grozdom koriste jedinstveno sučelje.

Jedinstven sustav za upravljanje sredstvima Single control point Upravljanje i nadzor grozda se ostvaruje

pomoću jednog sustava.

Jedinstven sustav za upravljanje poslovima

Single job management

Svim poslovima koji se izvršavaju na grozdu upravlja jedan sustav.

Jedinstveni datotečni sustav

Single file hierarchy

Čvorovi vide jednaku organizaciju direktoriju, tj. koriste isti datotečni sustav.

Jedinstvena računalna mreža

Single virtual networking

Čvorovi imaju privid da su povezani jednom mrežom, iako u stvarnosti mogu biti povezani sa više mreža.

Jedinstveni memorijski prostor

Single memory space Programi vide jedinstven memorijski prostor.

Jedinstven I/O prostor1 Single I/O space Programi vide jedinstven I/O prostor.

Jedinstven procesni prostor1

Single process space

Procesi na svim čvorovima se izvršavaju u jedinstvenom procesnom prostoru, tj. jedinstvenom prostoru procesnih identifikatora.

Spremanje stanja procesa i selidba procesa1

Checkpointing and process migration

Spremanje stanja procesa koji se izvršavaju omogućava pokretanje procesa od posljednje spremljene točke prilikom greške. Selidba procesa omogućava transparentno premještanje procesa sa pokvarenog čvora na ispravni.

Grozdovi mogu ostvarivati svojstvo SSI na tri razine: na razini sklopovlja, na razini operacijskog sustava i na aplikacijskoj razini (grozdovski middleware). SSI se na razini sklopovlja ostvaruje pomoću posebnog sklopovlja koji omogućava korisniku da vidi

1 Svojstvo nije nužno da bi se grozd klasificirao kao SSI grozd

Page 20: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

15

računala u grozdu kao jedinstveno računalo. SSI na razini OS-a sastoji se od posebnih operacijskih sustava ili OS-a sa dodacima koji stvaraju privid jedinstvenog stroja. SSI se na razini aplikacija ostvaruje skupom računalnih programa koji se nazivaju grozd middleware.

Arhitektura grozda koji ostvaruje SSI na aplikacijskoj razini prikazuje Slika 3-2. Računala koja čine grozd nazivaju se čvorovima. Na čvorovima je instaliran operacijski sustav (OS) i programska podrška (engl. driveri) koja omogućava komunikaciju računala putem mreže. Na OS se instaliraju potrebni paketi grozdovskog middlewarea koji su zaduženi za ostvarivanje privida jedinstvenog sustava. Na čvorove se takoñer instaliraju paralelne knjižnice (engl. libraries) koje koristeći grozdovski middleware omogućavaju razvoj i rad paralelnih aplikacija. Zadnji sloj čine korisničke aplikacije koje se pomoću sučelja grozdovskog middlewarea i paralelnih knjižnica izvršavaju na čvorovima grozda. Grozd koji ostvaruje SSI na razini OS-a razlikuje se po tome što su funkcionalnosti grozdovskog middlewarea ostvarene kao dio OS-a.

Slika 3-2 Arhitektura grozda

Grozdovski middleware sastoji se od skupa sustava koji ostvaruju funkcionalnosti navedene u tablici Tablica 3-1. Sustavi koji čine grozdovski middleware su sljedeći: sustav za upravljanje poslovima, sustav za nadzor grozda, sustav za automatsku instalaciju programske podrške na čvorove, te raspodjeljeni sustav za pohranu podataka. Navedeni sustavi nužni su za rad grozda. Pored njih postoje i sljedeći sustavi: sustav za ostvarivanje jedinstvenog procesnog prostora nad svim čvorovima i sustav za transparentnu selidbu procesa meñu čvorovima. Ovi sustavi povećavaju kvalitetu grozda, ali nisu nužni za rad grozda.

Linux je najprihvatljiviji operativni sustav za izgradnju grozda, s obzirom da je besplatan, prilagodljiv i ima otvoreni kod.

Postoji više podjela grozda. Jedna od mogućih podjela je sljedeća: Beowulf grozd s

Page 21: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

16

jedne strane, te mreže radnih stanica (engl. Networks of Workstations NOW) ili nakupine radnih stanica (engl. Clusters Of Workstations COW) s druge.

Beowulf grozd se sastoji od skupa računala koja ne sadrže periferne jedinice (tipkovnicu, ekran). U Beowulf grozdu jedan čvor se razlikuje od svih ostalih i naziva se pristupni čvor (engl. front-end). Pristupni čvor čini središte grozda i na njemu su smješteni poslužitelji pojedinih sustava grozdovskog middlewarea. Konkretno, na pristupnom čvoru su smješteni datotečni sustav, te poslužitelji sustava za upravljanje poslovima, sustava za nadzor grozda i sustava za automatsku instalaciju čvorova. Pristupni čvor i čvorovi su povezani u privatnu mrežu koja je fizički izolirana od javne mreže. Na taj način se ostvaruje učinkovitija komunikacija izmeñu čvorova. Pristupni čvor ima dva mrežna sučelja: jedno prema javnoj mreži i drugo prema privatnoj mreži. Korisnici prilikom korištenja Beowulf grozda rade isključivo na pristupnom čvoru koji tako čini jedinstvenu točku pristupa. Više o konceptu Beowulf grozda se nalazi u poglavlju 3.2.

Mreža radnih stanica ili računala sastoji se od skupa računala koja korisnici svakodnevno koriste, a u razdobljima kada su neopterećena koriste se za izvršavanje grozdovskih poslova. Grozd middleware kod mreža radnih stanica mora omogućavati praćenje opterećenja računala. Nadalje, sustav za upravljanje poslovima mora omogućiti premještanje poslova sa čvora koji postane opterećen, tj. kada ga vlasnik koristi, na neki neopterećeni čvor.

Beowulf grozd ostvaruju bolje performanse od mreža radnih stanica. Prednosti Beowulf grozda nad mrežom radnih stanica su što čvorovi čine privatnu računalnu mrežu i što su računala namijenjena samo za odreñenu vrstu posla (engl. dedicated) čime iskorištavaju sva sredstva. Administracija je olakšana time što računala čine jednu administracijsku domenu. Čvorovi Beowulf grozda povezani su računalnom mrežom koja je fizički izolirana od javne mreže, pa ne postoji pozadinsko opterećenje mreže. Računala koja čine čvorove se koriste isključivo za potrebe grozda pa ne postoji potreba za praćenjem pozadinskog opterećenja računala. Kako se čvorovi koriste isključivo za potrebe grozda, moguće je provesti prilagodbe jezgre OS-a čvorova tako da se ostvare bolja svojstva cijelog sustava. Činjenica da se računala nalaze u privatnoj lokalnoj mreži olakšava administraciju i povećava sigurnost.

Još jedan oblik podjele grozda je prema namjeni: računanje visokih performansi (engl. High Performance Computing, HPC), računanje s velikom propusnošću (engl. High Throughput Computing, HTC) i grozdovi s visokim stupnjem dostupnosti (engl. High Availability, HA clusters). HPC se odnosi na skup aplikacija koje zahtijevaju iznimno veliku računalnu moć. Tipične HPC aplikacije su paralelne aplikacije čiji su potprocesi usko povezani i razmjenjuju veliku količinu informacija. HPC aplikacije su pogodne za Beowulf klasu grozda. HTC se odnosi na skup aplikacija koje se sastoje od velikog broja meñusobno neovisnih zadataka. HTC aplikacije su pogodne za mreže radnih stanica. Posljednja klasa se odnosi na grozdove na kojim se izvršavaju aplikacije koje su vitalni dio nekog sustava i koje moraju biti neprestano aktivne. Primjer aplikacija koje zahtijevaju HA su web poslužitelji, mail poslužitelji i imenički poslužitelji.

Page 22: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

17

3.1. Podjela raspodjeljenih sustava po memorijskoj struk turi

3.1.1. Model zajedni čke memorije

U ovom modelu (Slika 3-3) više procesora radi neovisno jedan o drugome, ali koriste isti memorijski spremnik [10]. Svaka promjena u memoriji je vidljiva kod svih procesora. Sustavi sa zajedničkom memorijom se dalje mogu podijeliti na UMA (engl. Uniform Memory Access) i NUMA (Non-Uniform Memory Access). UMA model se najčešće odnosi na simetrične višeprocesorske sustave (engl. Symmetric Multiprocessor, SMP) gdje postoje identični procesori sa jednakim pristupom memoriji. UMA se obično dobiva fizičkim povezivanjem dva ili više SMP stroja gdje svi procesori nemaju jednak pristup memoriji jer pristupaju preko mreže. Prednosti zajedničke memorije su lakše programiranje i činjenica da nije potrebno dijeliti podatke meñu zadacima. Meñu nedostacima se ističe pojava zagušenja prilikom pristupa memoriji ako se poveća broj procesora uz jednaku količinu memorije i činjenica da je korisnik odgovoran za sinkronizaciju jer je čitanje i pisanje eksluzivno, odnosno samo jedan procesor pristupa istovremeno.

Slika 3-3 Arhitektura sa zajedničkom memorijom

3.1.2. Model raspodjeljene memorije

U ovom modelu (Slika 3-4) postoji više neovisnih procesora sa vlastitim spremnicima [10]. Ne postoji jedinstveni adresni prostor već svaki procesor ima pristup svom lokalnom spremniku. Podjela podataka i sinkronizacija se odvija porukama. Procesori su povezani nekom vrstom mreže, obično je to Ethernet. Prednosti su što je količina raspoložive memorije promjenjiva (uz dodavanje novih procesora), te je moguć brz pristup lokalnoj memoriji. Nedostaci su teško prilagoñavanje postojećih podatkovnih struktura i činjenica da je programer odgovoran za dijeljenje podataka čime se otežava programiranje.

Page 23: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

18

Slika 3-4 Arhitektura sa raspodjeljenom memorijom

3.1.3. Miješani model zajedni čke i raspodjeljene memorije

Današnja najveća i najbrža računala na svijetu koriste ovaj model (Slika 3-5) jer iskorištava glavne prednosti prethodna dva modela [10]. Značajna karakteristika je velika skalabilnost, obzirom da omogućava nadogradnju sa velikim brojem procesora. Trenutni trend ukazuje da će ovaj model nastaviti prevladavati i u budućnosti. Model se obično sastoji od više SMP strojeva koji su povezani nekom vrstom mreže. Svaki SMP stroj ima pristup lokalnoj memoriji, dok ostalim mora pristupati preko mreže.

Slika 3-5 Miješana arhitektura sa zajedničkom i raspodjeljenom memorijom

3.2. Beowulf

Beowulf je naziv za koncept HPC grozda koji je 1994. godine razvijen u NASA Goddard Space Flight centru [8]. Tada je korištenjem 16 komercijalno dobavljivih računala baziranih na Intel 100MHz 486 procesorima, povezanim dvostrukim 10 Mbps Ethernet LAN-om te pogonjenih Linux operativnim sustavom i PVM (Paralel Virtual Machine) bibliotekama izgrañen grozd kojim su demonstrirane primjenjivost, performanse i financijska isplativost Beowulf sustava u znanstvenim računalnim aplikacijama.

Ovakav sustav pokazao se u mnogim aplikacijama usporediv s dotadašnjim konceptima razvoja superračunala koja uglavnom koriste pristup u kojem se unutar istog fizičkog računala za obradu koristi više meñusobno povezanih i paralelnih procesora (simetričnih višeprocesorskih sustava) koji meñusobno dijele ostala sredstva računala, pa tako i komuniciraju korištenjem zajedničke dijeljene memorije (engl. shared memory). Za

Page 24: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

19

razliku od ovog pristupa, grozd koristi koncept labavog povezivanja računala na kojima se odvijaju procesi koji meñusobno komuniciraju korištenjem raznih biblioteka za prijenos poruka i na taj način razvijaju koncept raspodjeljene memorije (engl. distributed memory).

Kako bi koncept raspodjeljene memorije dobro funkcionirao uobičajeno je da se za prijenos poruka, uz lokalnu mrežu koja se koristi za prijenos podataka sa zajedničkog podatkovnog sustava, koristi i posebno dodijeljena lokalna mreža kojom su povezana računala - računalni čvorovi u grozdu. Ova mreža, osim što omogućava prijenos velike količine podataka mora osiguravati i male latencije u prijenosu podataka (manje od 1 ms), pa se stoga koriste specifične izvedbe kao što su Myrinet ili MVIA.

Zahvaljujući Beowulf konceptu moguće je na jednostavan način brzo izgraditi računalni grozd uz korištenje lako dobavljivih, odnosno komercijalnih i besplatnih komponenti (poput osobnih računala, Linux operativnog sustava i drugih). U svijetu je izgrañen velik broj sličnih grozdova koji djeluju u znanstvenim i akademskim sredinama.

3.3. Standardne paralelne knjižice

Paralelne knjižnice sadrže procedure potrebne za ostvarivanje komunikacije izmeñu procesa koji se izvršavaju na različitim čvorovima. Pored standardnih knjižnica postoji velik broj različitih alata, knjižnica i programskih jezika koji omogućavaju jednostavnu izgradnju paralelnih aplikacija.

U nastavku je detaljnije opisana paralelna knjižnica MPI (engl. Message Passing Interface), obzirom da je ista korištena prilikom izrade ovoga rada.

3.3.1. MPI

MPI je komunikacijski protokol neovisan o programskom jeziku koji se koristi za programiranje u raspodjeljenim sustavima [11]. Ciljevi MPI-a su prije svega visoke performanse, prilagodljivost i prenosivost.

Općenito, bilo koja tehnika paralelnog programiranja mora za svaki proces omogućiti barem sljedeće mehanizme [16]:

• otkriti ukupan broj procesa

• identificirati vlastiti proces u grupi procesa

• poslati poruku odreñenom procesu

• primiti poruku (od odreñenog procesa)

MPI uključuje preko 120 funkcija, no većina funkcionalnosti može se postići sa mnogo manjim skupom. Načini komunikacije izmeñu procesa u MPI su sljedeći:

• point-to-point komunikacija izmeñu dva odreñena procesa

• collective komunikacija izmeñu grupe procesa

• probe funkcije za asinkronu komunikaciju

Page 25: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

20

• communicator mehanizam za razvoj modularnih paralelnih programa (mogućnost korištenja topologije mreže)

MPI nudi dva osnovna načina point-to-point komunikacije:

• blokirajući (engl. blocking) – povratak iz funkcije znači da je komunikacija završila

• neblokirajući (engl. non-blocking) – povratak iz funkcije je trenutan; korisnik mora naknadno provjeriti uvjet završetka

3.4. Sustavi za upravljanje poslovima

Sustav za upravljanje poslovima (engl. Job Management System, JMS) je sustav zadužen za rasporeñivanje poslova [9]. Osnovni zadatak JMS-a je optimiranje iskorištavanja grozdovskih sredstava, omogućavanje stvaranja politika korištenja sredstava, te skrivanje složenosti grozda i stvaranje jedinstvenog sučelja za pristup korisnika.

U nastavku je prikazana (Slika 3-6) arhitektura sustava za upravljanje poslovima. Sustav za upravljanje poslovima se sastoji tri modula: reda poslova (engl. queuing), rasporeñivača poslova (engl. scheduling) i upravitelja sredstvima (engl. resource manager). Zadatak modula reda poslova je primanje zahtjeva za izvršavanjem poslova od korisnika i spremanje poslova u redove. Red poslova kontaktira modul rasporeñivač poslova i šalje zahtjev za izvoñenje posla. Modul rasporeñivač poslova je zadužen za odreñivanje načina izvoñenja poslova, tj. definiranje kada i gdje će se pojedini poslovi izvoditi. Pri tome rasporeñivač koristi tri skupa podataka: podatke o poslu, podatke o sredstvima i politike rasporeñivanja. Podatke o poslovima dobiva od modula red poslova, a podatke o stanju i opterećenosti sredstva od modula upravitelja sredstava. Politike rasporeñivanja definira administrator grozda i na osnovu njih se definira politika korištenja grozda, tj. definira se koja vrsta poslova (npr. duži, kraći, paralelni, interaktivni) ima prednost.

Page 26: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

21

Slika 3-6 Arhitektura sustava za upravljanje poslovima

Modul rasporeñivač poslova je zadužen da u skladu sa politikom rasporeñivanja optimira iskoristivost sredstava grozda. Upravitelj sredstvima je zadužen za prikupljanje podataka o stanju čvorova te pokretanje i praćenje izvršavanja poslova. Modul upravitelj sredstvima sastoji se od dvije komponente: poslužitelja i klijenata. Poslužitelj prikuplja informacije od klijenata i šalje poslove na izvoñenje klijentima. Klijenti se izvršavaju na čvorovima i zaduženi su za pripremanje okoline za izvršavanje poslova i praćenje stanja čvorova.

3.4.1. Upravlja čki sustav SGE

SGE (engl. Sun Grid Engine) je Sunov open source sustav za upravljanje poslovima [9]. Osnovna prednost SGE-a je intuitivno grafičko sučelje koje omogućava pristup svim funkcionalnostima sustava. Prednost SGE je učahurivanje čvorova grozda u redove. Na taj način se omogućava složeno opisivanje pojedinih čvorova i ugradnja proizvoljnih senzora opterećenja čvorova. Namjenjen je korištenju u raspodjeljenim sustavima za primanje, rasporeñivanje, dodjelu i upravljanje većeg broja paralelnih poslova [12]. Takoñer, zadužen je za upravljanje i rasporeñivanje sredstava, kao što su procesori, brza memorija, glavna memorija, te programske licence. SGE omogućava pokretanje polja poslova, tj. višestruko izvršavanje istog programa pri čemu se svakoj instanci mogu

Page 27: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

22

zadati različiti argumenti. SGE je moguće koristiti za CPU harvesting1. SGE omogućava definiranje kalendara. Kalendari služe za definiranje razdoblja u kojemu će pojedini čvorovi biti nedostupni. Na taj način je moguće iskoristiti SGE za automatsko proširivanje grozda sa sredstvima koji su dostupni u odreñenom vremenskom razdoblju (npr. preko noći). Korisnicima je omogućeno definiranje brojnih svojstava poslova, pri čemu je moguće odabrati nužne (engl. hard) i opcionalne (engl. soft) uvjete.

Neke od glavnih značajki SGE su:

• napredni višestruki algoritmi za rasporeñivanje posla,

• kontrolne točke poslova,

• rezervacija sredstava,

• izvještaji,

• paralelni poslovi (MPI, PVM, OpenMP),

• povijest,

• višestruki grozdovi.

3.5. Sustavi za nadzor grozda

Sustavi za nadzor grozda prate stanje različitih komponenata (npr. memorije, I/O) čvorova grozda. Sustave za nadzor grozda koriste sustavi za upravljanje poslovima za donošenje odluke na kojim čvorovima poslovi trebaju biti izvedeni. Informacije koje pruža sustav za nadzor grozda koriste administratorima za uočavanje grešaka ili uskih grla u radu grozda te prikupljanje statistika o iskorištenosti grozda.

Osnovne primjene sustava za nadzor su sljedeće:

• detekcija i ispravljanje pogrešaka u radu komponenata sustava,

• analiza performansi i poboljšanje rada sustava,

• potpora komponenti koja obavlja rasporeñivanje poslova pri donošenju odluka,

• potpora komponenti koja obavlja upravljanje sredstvima, npr. pri ostvarivanju ujednačavanja opterećenja (engl. load balancing),

• prikupljanje podataka o aplikacijama,

• detekciju sigurnosnih napada i "rupa".

Poželjna svojstva sustava za nadzor grozda su sljedeća:

1. malo opterećenje sustava

2. integracija sa sustavima za upravljanje poslovima

1 postupak iskorištavanja nerasporeñenih računala kada se ne koriste

Page 28: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

23

3. grafičko sučelje (standardni GUI ili web portal)

4. mogućnost dohvata statistika korištenja podsustava

5. raspoloživost u grozdovskim distribucijama

6. mogućnost povezivanja više grozda

7. API.

Postoje brojni sustavi za nadzor grozda kao što su: Ganglia, Supermon, Clumon i Hawkeye.

3.5.1. Nadzorni sustav Ganglia

Ganglia je sustav za nadzor skupa računala ostvaren korištenjem Java Jini tehnologije. Informacije o stanju računala se zapisuju u XML formatu. Na taj način moguće je iskoristiti podatke dobivene od Ganglie. Nadalje, Gangliu je moguće koristiti za nadzor u Gridu jer je moguće povezati više Ganglia grozdova.

Arhitektura Ganglia sustava je sljedeća. Ganglia se sastoji od tri modula: gmond (engl. Ganglia Monitoring Daemon), gmetad (engl. Ganglia Meta Daemon) i Ganglia Web portala. Na svakom čvoru se nalazi Java servis - gmond koji prikuplja podatke o komponentama računala. Podatke sprema u XML dokument i šalje ga na multicast adresu. Na odabranom računalu se postavlja modul gmetad. Zadatak gmetad modula je prikupljanje podatka od odabranog skupa klijenata. Servis gmetad može biti konfiguriran tako da šalje primljene podatke na multicast, te da prikuplja podatke od drugih gmetad servisa. Na taj način je moguće ostvariti nadzor više grozda. Na istom računalu kao i gmetad smješta se i web portal. Ganglia Web portal omogućava korisnicima prikaz grafova podataka koje prikupljaju gmond servisi.

Prednosti Ganglie su:

• intuitivno sučelje u obliku web portala,

• zapisivanje podataka u XML formatu omogućava drugim aplikacijama da koriste podatke,

• skalabilnost i mogućnost povezivanja više grozda,

• jednostavnost instalacije,

• mogućnost izvoñenja naredbi na računalima koje se nadziru,

• Ganglia je dio Rocks, OSCAR i Warewulf grozdovskih distribucija,

• izvedba u Javi omogućava prenosivost,

• API.

Nedostaci Ganglie su:

• zapisivanje podataka u XML formatu zahtjeva računalno zahtjevno parsiranje,

• korištenje Java VM može uzrokovati opterećenje čvorova.

Page 29: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

24

3.6. Programski paketi grozda ra čunala

Programski paket grozda računala je skup svih alata potrebnih za instalaciju, održavanje i rad sa grozdom. Termin dolazi iz analogije sa distribucijama Linux OS-a. Instalacija grozda je iznimno teška i zahtjeva poznavanje arhitekture računala, OS-a te pojedinih grozdovskih tehnologija. Osim integracije, zaseban problem je i unapreñivanje inačica pojedinih sustava. Problem kod unapreñivanja je zavisnost meñu komponentama. Korištenjem programskih paketa grozda računala rješavaju se oba problema - integracija i unapreñivanje. Dodatno, programski paketi grozda računala imaju velike zajednice korisnika kojima se moguće obratiti za pomoć u slučaju grešaka u radu.

3.6.1. Programski paket NPACI Rocks

NPACI Rocks je programski paket grozda računala zasnovan na Linux Red Hat distribuciji. Programski paket Rocks se razvija na San Diego Supercomputing Centru. Rocks je jedna od najviše korištenih distribucija.

NPACI Rocks se sastoji od sljedećih komponenata:

1. sustav za upravljanje poslovima: Condor, SGE ili OpenPBS/Torque+Maui,

2. paralelne knjižnice: MPICH, MPICH-MPD i PVM (samo na poslužitelju),

3. Ganglia sustav za nadziranje,

4. Intel prevodioci za Fortran i C,

5. Java razvojna i izvršna okolina,

6. Globus komponente,

7. driveri za Myrinet mrežne kartice,

8. paralelni datotečni sustav pvfs,

9. Rocks alati za upravljanje grozdom.

Pojedine komponente koje su korisnicima potrebne moguće je posebno odabrati. Za instalaciju čvorova NPACI Rocks koristi Red Hat kickstart mehanizam1.

Prednosti programskog paketa NPACI Rocks su sljedeće:

• velika korisnička i razvojna zajednica,

• konfiguracija grozda je spremljena u bazu podataka,

• web portal,

• modularnost instalacije,

• Globus komponente.

1 mehanizam za automatsku instalaciju operacijskog sustava preko mreže

Page 30: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

25

Nedostaci Rocksa su sljedeće:

• na čvorovima je instaliran velik skup programskih paketa,

• vezanost za Red Hat distribuciju, te

• oskudnost dokumentacije.

3.7. Računalni grozd Isabella

Računalni grozd Isabella je nastao 2002. godine s ciljem da omogući svim zainteresiranim hrvatskim znanstvenicima pristup računalnom grozdu i rad na europskom projektu DataGrid kojeg vodi CERN. Isabella se danas sastoji od 100 računala i kao zajedničko sredstvo svih znanstvenika u Hrvatskoj omogućava korištenje značajnih računalnih sredstava pri zahtjevnim obradama podataka u sklopu znanstveno – istraživačkih projekata.

Računalni grozd Isabella, koji se koristi kao platforma za ovaj rad, spada u Beowulf HPC grozdove. Na osnovi najraširenijih distribucija Linuxa – Red Hat i Debian izgrañeni su gotovi paketi za izgradnju grozda od kojih je jedan - NPACI Rocks Clustering Toolkit - korišten i u izvedbi računalnog grozda Isabella.

Slika 3-7 InfiniBand

Mrežna infrastruktura se temelji na InfiniBand tehnologiji. InfiniBand je komunikacijski link namjenjen sustavima visokih performansi. Glavne značajke su kvaliteta veze i otpornost na greške te proširivost. InfiniBand koristi mrežnu topologiju gdje su svi ureñaji meñusobno spojeni preko preklopnika (engl. switches) kao što je prikazano na gornjoj slici (Slika 3-7).

Rad na grozdu omogućen je svim suradnicima projekata prijavljenih pri Ministarstvu znanosti, obrazovanja i športa (MZOŠ), te organizacijama i pojedincima koji nemaju projekt pri MZOŠ-u, ali im je korištenje grozda odobreno od strane Vijeća korisnika.

Za otvaranje korisničkih računa i rad na grozdu potrebno je prijaviti projekt i korisnike koji će izvršavati poslove na grozdu.

Page 31: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

26

Isabella u brojkama:

• 100+2 računala • 352 procesorske jezgre na računalnim čvorovima • 544 GB memorije • 10 TB lokalnog diskovnog prostora • dodatni diskovni prostor sa središnjeg diskovnog prostora Srca

(SAN - Storage Area Network) ukupnog kapaciteta do 8 TB

3.7.1. Administracija sustava

Administracija sustava uvelike je olakšana programskim paketima koje donosi Rocks clustering Toolkit.

Pregled nad instaliranim programima i nadzor rada čvorova vrši se centralizirano, s pristupnog računala. Jednom jedinom naredbom moguće je potpuno reinstalirati jedan ili više radnih čvorova, koji u roku nekoliko minuta postaju spremni za rad.

Dodavanje novog čvora (i njegovo instaliranje) takoñer je vrlo jednostavno - dovoljno je pokrenuti skriptu na pristupnom računalu koja će na DHCP zahtjev prilikom podizanja računala, informaciju o njegovoj MAC adresi dodati u bazu podataka, te automatski podesiti parametre mrežnih servisa na pristupnom računalu.

Administriranje korisničkih računa na pristupnom računalu vrši se primjenom skripte koja automatski ažurira bazu korisnika. Takav automatizam omogućuje da se promjene korisničkih računa na pristupnom računalu propagiraju i postanu aktualne na svim računalnim čvorovima.

3.7.2. Rad na grozdu Isabella

Svakom korisniku grozda na pristupnom računalu otvoren je korisnički račun. Pristup računalu moguć je isključivo korištenjem secure shell (SSH) protokola i odgovarajuće aplikacije. Pristup računalu korištenjem TELNET/RLOGIN/RSH protokola onemogućen je iz sigurnosnih razloga. Pristup sa pristupnog računala na bilo koji računalni čvor, te meñu računalnim čvorovima moguć je i korištenjem RSH/RLOGIN protokola. Dodatno je ograničenje to što je pristup grozdu moguć samo unutar mreže akademske zajednice.

Primjer zahtjeva za spajanje na pristupno računalo grozda:

ssh –l msantic zinfandel.srce.hr

3.7.3. Prijenos podataka

Za prijenos podataka (aplikacija, podataka za obradu, rezultata obrade) izmeñu vanjskog računala i pristupnog računala korisnici mogu koristiti protokole SFTP i SCP.

Page 32: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

27

Prijenos podataka korištenjem FTP protokola onemogućen je iz sigurnosnih razloga. Prijenos podataka unutar grozda - izmeñu pristupnog računala i računalnih čvorova moguć je korištenjem SCP protokola ili uz pomoć mrežnog datotečnog sustava (NFS).

Spajanje na pristupno računalo zinfandel.srce.hr mora se obavljati preko servera Pinus koje se nalazi na Fakultetu elektrotehnike i računarstva.

Primjer prijenosa datoteka sa pinusa na grozd:

scp europe.data.zip [email protected]:./ma ps

3.7.4. Organizacija diskovnog prostora

Svakom korisniku grozda uz korisnički račun pripada i odgovarajući direktorij za smještanje podataka. Ovaj direktorij smješten je na pristupnom računalu, no korištenjem mrežnog datotečnog sustava (NFS) vidljiv je sa bilo kojeg računalnog čvora (unutar direktorija /home), pa su i korisnikovi podaci kreirani na pristupnom računalu, njemu automatski dostupni na bilo kojem računalnom čvoru sustava. Kako je količina diskovnog prostora za korisničke direktorije ograničena, na grozdu je za spremanje većih datoteka (podataka za obradu, rezultata obrade) osposobljen poseban datotečni sustav (/home/shared). Ovaj sustav fizički je smješten na središnjem diskovnom prostoru Srca (SAN) i trenutno je za njega dodjeljeno 200 GB diskovnog prostora. Prilikom izvršavanja poslova aplikacije mogu koristiti datotečne sustave za privremeni smještaj podataka koji se nalaze na svakom računalnom čvoru (/scratch).

3.8. Rad na mreži ra čunala na FER-u

Prije pokretanja bilo kakvih MPI aplikacija, na računalima na kojima se želi izvoditi program potrebno je pokrenuti mpd servis. To se može učiniti na sljedeći način:

mpdboot -n <broj_racunala> -f <datoteka_s_popisom_r acunala>

U datoteci su navedena imena računala koje želimo uključiti u ispitivanje. Ukoliko, pokretanje mpd servisa neuspješno proñe na samo jednom računalu, o čemu dobijemo obavijest, niti na jednom računalu se servis neće pokrenuti te cijeli postupak moramo ponoviti. Provjeru prethodnog koraka možemo napraviti sa:

mpdtrace -l

gdje dobijemo popis umreženih računala. Nakon završetke rada, mpd procese možemo ugasiti sa:

mpdallexit

Nakon što podignemo mpd servise na svim računalima, prije pokretanja program se mora prenijeti na svako od računala na kojima ga želimo pokrenuti. Prijenos je najbolje izvršiti pomoću scp-a . Nakon što je program dostupan na svim računalima pokreće se naredbom mpiexec :

Page 33: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

28

mpiexec -n <broj_procesa> <program>

Naredba omogućava i druge parametre, od kojih je najkorisniji -configfile <datoteka>, kojim se može preciznije definirati na kojim se računalima i sa koliko procesa aplikacija izvršava.

3.9. Korištenje sustava SGE

3.9.1. Izvoñenje poslova

Podnošenje poslova na grozdu vrši se korištenjem 'qsub' komande SGE JMS (Job Management) sustava. SGE (engl. Sun Grid Engine) je grozdovski sustav za upravljanje poslovima (engl. job management system, JMS). Prilikom podnošenja posla potrebno je unutar skripte kojom se pokreće posao ili korištenjem parametara u komandnoj liniji specificirati zahtjeve koje posao ima prema grozdu i računalnim sredstvima (tip posla, okolina, broj procesora, korištenje memorije, zahtjevano vrijeme obrade, ...).

Točna specifikacija posla utjecat će na mogućnost i brzinu JMS sustava da poslu dodjeli odgovarajuća sredstva i pokrene ga. Stoga je što detaljnije opisivanje parametara posla nužno i korisno.

Korisničke aplikacije (u nastavku: poslovi) koji se izvode pomoću sustava SGE moraju biti opisane startnom shell skriptom (npr. sh, bash). Unutar startne skripte, pored normalnih naredbi navode se parametri za SGE. Takoñer je moguće koristiti SGE varijable okoline opisane u nastavku.

Pokretanje poslova se ostvaruje naredbom qsub :

qsub <SGE_parametri> <ime_skripte>

3.9.2. SGE okolina i parametri

SGE parametre je, osim u skripti, moguće navesti prilikom poziva naredbe qsub .

Poslovi se spremaju u redove poslova. Ukoliko se eksplicitno ne navede red, posao se stavlja u podrazumijevani red poslova. Obično su pojedini redovi namijenjeni za odreñene vrste poslova (npr. kraće ili duže poslove). SGE sadrži dva oblika redova: globalni i lokalni. Globalni redovi obuhvaćaju skup čvorova, a lokalni predstavljaju samo jedan čvor.

Prilikom izvoñenja poslova potrebno je definirati kojem projektu poslovi pripadaju. Na taj način se prati trošenje sredstava od strane pojedinih projekata i omogućava pravedno rasporeñivanje (engl. fair share) poslova meñu njima.

SGE za radni direktorij uzima $HOME. Ukoliko se želi promijeniti direktorij potrebno je to napraviti u skripti. Ako se eksplicitno ne navedu standardni izlaz i greška, bit će

Page 34: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

29

spremljeni u datoteke: <radni_direktorij>/<ime_skripte>.o<id_posla> i radni_direktorij>/<ime_skripte>.e<id_posla>.

SGE parametri omogućavaju korisniku da detaljnije opiše svoj posao. Parametri se unutar shell skripte navode u sljedećem obliku:

#$ -<parametar> <vrijednost>

Opis posla obuhvaća sljedeće postavke [13]:

• što se izvodi, • koji su argumenti, • gdje su standardni ulazi i izlazi, • gdje naći standardni ulaz, • koje sve datoteke su potrebne, • gdje spremati privremene datoteke i rezultate, • gdje je radni direktorij, • koje su varijable okoline, • koliko procesora treba i na kojoj arhitekturi, • koliko treba memorije, lokalnog diska, vremena itd.

Primjer skripte možemo vidjeti na donjoj slici (Slika 3-8).

Slika 3-8 SGE skripta

Osnovni SGE parametri koje se preporuča postaviti su:

• -cwd : parametar definira da je trenutni direktorij radni direktorij posla.

• -e <ime_dat>: ime datoteke u koju se sprema standardna greška.

• -l <sredstvo>=<vrij>[,<sredstvo>=<vrij>...] : definira sredstva koja posao zahtjeva (za razliku od PBS-a, ova opcija se ne koristi kod paralelnih poslova).

• -M <email_adresa>[,<email_adresa>...] : lista mail adresa na koju se šalju obavijesti o poslu.

• -m [a][b][e] : parametar definira u kojem slučaju se šalje obavijest: b - početak izvoñenja, e - završetak izvoñenja, a - greška u izvoñenju posla.

• -now y|n : vrijednost y definira da se posao mora izvesti odmah. Ukoliko SGE ne može pronaći slobodna sredstva, posao se ne sprema u red, nego odmah

Page 35: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

30

završava. Kod interaktivnih poslova podrazumijevana vrijednost je y, a kod ostalih n.

• -N <ime_prog> : ime programa koje će se prikazati pri dohvatu informacija o poslovima.

• -o <ime_dat>: ime datoteke u koju se sprema standardni izlaz.

• -P <ime_projekta>: ime projekta kojemu posao pripada.

• -pe <paralelna_okolina> <raspon_cvorova> : parametar se koristi za paralelne poslove. Prvi parametar definira modul koji pokreće traženi oblik paralelnog posla. Drugi parametar definira konkretan broj procesora ili raspon u obliku <N>,[<Ni>,...]<S>-<E>,[<Si>-<Ei>,] koji paralelni posao zahtjeva. Za detalje vidi odjeljak 2.4.

• -q <ime_reda>[,<ime_reda>...]: red poslova u koje se sprema posao. Ovu opciju je moguće koristiti i za zahtijevanje odreñenog čvora, na način da se zahtjeva lokalni red poslova (npr. [email protected]).

• -r y|n : da li se prilikom greške posao ponovno pokreće (podrazumijevana vrijednost: no).

• -t <početak>:<kraj>:<korak> : parametar definira da se radi o polju poslova. Vrijednost <početak> je identifikator prvog zadatka, <kraj> identifikator posljednjeg zadatka, a <korak> vrijednost za koju se uvećava svaki sljedeći identifikator izmeñu <početak> i <kraj>.

• -v <var>[=<vrijednost>][,<var>[=<vrijednost>]...] : opcija definira SGE-u da uzme trenutne vrijednosti varijable okoline <var> ili da ih postavi na odreñenu vrijednost prilikom izvoñenja posla. Ovaj parametar je koristan kada aplikacija koristi posebne varijable okoline, jer ih SGE podrazumijevano ne postavlja prilikom pokretanja posla.

• -V : opcija definira SGE-u da poslu prenese sve trenutne varijable okoline.

Detaljan popis i informacije o parametrima moguće je dobiti naredbom man qsub .

3.9.3. SGE varijable okoline

Unutar skripte moguće je koristiti SGE varijable. Neke od SGE varijabli su:

• $SGE_O_HOST : adresa računala sa kojeg je pokrenut posao • $SGE_O_PATH : originalna vrijednost varijable okoline PATH prilikom pokretanja

posla • $SGE_O_WORKDIR : direktorij iz kojeg je posao pokrenut • $SGE_STDOUT_PATH : datoteka u koju se sprema standardni izlaz • $SGE_STDERR_PATH : datoteka u koju se sprema standardna greška • $HOSTNAME : adresa računala na kojem se izvršava skripta

Page 36: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

31

• $JOB_ID : SGE identifikator posla • $JOB_NAME : ime posla • $PE_HOSTFILE : ime datoteke u kojoj su navedene adrese računala • $QUEUE : ime reda u kojem se posao izvršava • $SGE_TASK_ID : identifikator zadatka kod polja poslova • $TMPDIR : ime direktorija u koji se mogu spremati privremene datoteke

(/scratch ).

3.9.4. Prikaz informacija o poslovima

Naredba qstat je SGE-ova naredba za prikaz stanja poslova. Neki od važnijih parametara naredbe su:

• -s [r|p|s|h] : filtrira poslove prema stanju: r - aktivni, s - zaustavljeni aktivni, h - zaustavljeni u redu, p - poslovi u redu.

• -j : prikazuju se poruke od SGE-a (npr. razlog zašto posao nije rasporeñen na odreñene čvorove).

• -f : prikazuju se detaljne informacije o opterećenosti čvorova i rasporedu poslova na čvorove.

• -F : detaljan prikaz podataka o čvorovima.

• -u <ime_korisnika> : prikazuju se samo poslovi od korisnika <ime_korisnika>.

• -q [ime_reda] : naredba dohvaća isključivo informacije o redovima poslova.

• -g c: dohvat zbirnih informacija o redovima poslova: ukupno opterećenje reda, ukupan broj čvorova u redu, broj zauzetih i slobodnih čvorova te broj čvorova u posebnim stanjima.

• -g t : u prikazu poslova su označeni slave i master zadaci

Informacije o ostalim parametrima moguće je dobiti naredbom man qstat .

Uobičajen način praćenja izvoñenja poslova je korištenjem parametara -r i -n. Na primjer, naredba:

qstat -s r -f

prikazuje sve aktivne poslove i imena čvorove na kojima se izvode.

Detaljni podaci o nekom poslu

qstat -f <id_posla>

Ukoliko se ne navede <id_posla> bit će prikazani podaci o svim aktivnim poslovima.

Primjer konkretnog upita za prikaz stanja svih poslova prikazuje Slika 3-9.

Page 37: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

32

Slika 3-9 Prikaz informacija o poslu

3.9.5. Upravljanje poslovima

Nakon pokretanja, poslom se može upravljati, privremeno ga zaustaviti, potpuno ga zaustaviti, te mu promijeniti karakteristike.

Naredbe za privremeno zaustavljanje posla su:

qhold <id_posla> - privremeno zaustavlja izvoñenje posla

qrls <id_posla> - nastavlja izvoñenje posla

Napomena: aktivni posao neće biti stvarno zaustavljen. Naredba se koristi isključivo dok posao čeka u redu na izvoñenje. Za potrebe zaustavljanja aktivnog posla koristi se naredba qmod koja ima veću kontrolu nad poslom.

3.9.6. Dohvat informacija o završenim poslovima

Informacije o završenim poslovima i statistike moguće je dobiti korištenjem naredbe qacct . Uobičajeno korištenje je: qacct -j <id_posla> što prikazuje sve podatke o poslu <id_posla>.

Pomoću naredbe qacct moguće je vidjeti statistike o grozdu. Parametri naredbe su:

• - j [ime_posla] : detaljan opis pojedinih poslova

• - h [adresa_čvora] : statistike za pojedine čvorove

• - q [ime_reda] : statistike za pojedine redove

• - o [ime_korisnika] : statistike za pojedine korisnike

• - pe [ime_paralelne_okoline] : statistike za pojedine paralelne okoline

• - slots [broj_procesora] : statistike za poslove za odreñeni broj procesora

Primjer korištenja

Dohvat detaljnih informacija o poslovima korisnika toni koji su koristili 4 procesora:

qacct -o toni -slots 4 -j

Page 38: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

33

3.9.7. Korištenje MPI knjižnice

Postoje brojne implementacije standarda MPI (engl. Message Passing Interface), koji je postao de facto standard za razvoj paralelnih aplikacija. Obzirom da sve implementacije koriste isti skup naredbi (npr. mpirun, mpicc) moguće je koristiti isključivo jednu (bez navoñena punog puta do izvršnih programa) u isto vrijeme. Alat switcher omogućava odabir MPI implementacije. Alat u biti postavlja pripadne vrijednosti varijabli okoline (npr. PATH, LD_LIBRARY_PATH). Moguće ga je koristiti i za postavljanje varijabli okoline za druge aplikacije (npr. ukoliko postoji više verzija Gnu prevodioca).

Poziv naredbe za definiranje MPI okoline je: switcher mpi [naredba] [parametri]

Naredbe: = <vrijednost> : postavlja se vrijednost --show : dohvaća se trenutna vrijednost --list : dohvaća se popis svih mogućih vrijednosti (podrazumijevana naredba).

Parametri se navode s "--" ili "-": force : naredba se izvodi bez postavaljanja upita korisniku user : postavke vrijede za trenutnog korisnika system : podrazumijevane postavke (postavljanje može izvesti samo root korisnik) silent : naredba neće ispisivati nište na standardni izlaz (stdout).

Primjeri korištenja 1. Definiranje MPI implementacije bez interakcije s korisnikom:

switcher mpi = lam-7.0 --force

2. Dohvat popisa raspoloživih MPI implementacija:

switcher mpi

3. Dohvat trenutne MPI implementacije:

switcher mpi --show

4. Dohvat trenutne sistemske podrazumijevane vrijednosti dobiva se naredbom:

switcher mpi --show --system

Intel MPI je Intelova implementacija MPI-2 standarda zasnovana na MPICH-2 implementaciji. Osnovna pogodnost Intel MPI-ja je podržanost MPI-2 standarda i mogućnost odabir načina prijenosa poruka(pomoću varijable okoline I_MPI_DEVICE) izmeñu procesa prilikom izvoñenja aplikacije. Korisnik ne mora ponovno prevoditi aplikaciju kada želi koristiti novi način razmjene poruka (kao što je to slučaj kod MPICH-a verzije 1.2).

Intel MPI omogućava korištenje programskih jezika C, C++, Fortran 77 i Fortran 90. Pri tome je moguće koristiti GNU i Intel prevodioce.

Procesima paralelnog posla upravljaju mpd servisi. Servisi mpd se pokreću naredbom mpdboot . Sama aplikacija se pokreće naredbom mpiexec . Za naredbu mpiexec

Page 39: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Raspodjeljeni sustavi

34

potrebno je postaviti samo parametar -n koji definira broj procesa koji se pokreće. Mpiexec naredba zahtjeva da se izvršni program navodi s punim putem ili ./<prog>.

Način prijenosa poruka izmeñu procesa definira se varijablom okoline I_MPI_DEVICE. Varijabla se definira prilikom poziva naredbe mpiexec na sljedeći način:

mpiexec -env I_MPI_DEVICE rdma ./MPIProg

Moguće vrijednosti I_MPI_DEVICE varijable su:

• sock - razmjena poruka se obavlja kroz sockete,

• shm - razmjena poruka se obavlja pomoću dijeljene memorije (moguće samo na jednom čvoru),

• ssm - mješavina shm i sock: procesi na istom čvoru koriste dijeljenu memoriju, a izmeñu čvorova sockete,

• rdma - razmjena poruka se obavlja pomoću RDMA (engl. Remote Direct Memory Access) tehnologije. Ova varijanta je moguća samo ukoliko mrežna infrastruktura to omogućava (npr. Infiniband, Myrinet) i

• rdssm - mješavina RDMA (za komunikaciju izmeñu čvorova) i dijeljene memorije (za komunikaciju unutar jednog čvora).

Page 40: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Praktični rad

35

4. Prakti čni rad

Praktični rad se sastoji od prilagodbe flashNavigator tehnologije za rad u raspodjeljenom sustavu te izradu novog modula koji je zadužen za raspodjelu poslova (pretvorbu prostornih podataka) po raspoloživim sredstvima. Za uspješno savladavanje praktičnog zadataka potrebno je detaljno proučiti sve tehnologije koje se koriste kod raspodjeljenih sustava.

Kao što je prije navedeno flashNavigator se sastoji od tri komponente: fnAdmin, fnGenerator i fnViewer. Prilagodba paralenom okruženju odnosi se samo na fnGenerator, jer je to komponenta koja je zadužena za pretvorbu prostornih podataka i njen rad zahtjeva najviše vremena i sredstava stoga je i najlogičnije da je želimo ubrzati.

fnGenerator se sastoji od sljedećih dijelova koji se mogu vidjeti na slici u nastavku (Slika 4-1).

Slika 4-1 Dijelovi fnGenerator-a

Ulaz u fnGenerator su datoteke podržanih CAD/GIS formata kao što su: AutoCAD DWG, Esri Shapefiles itd. i konfiguracijska datoteka u XML formatu, dok je izlaz nakon pretvorbe veći broj Adobe Flash SWF datoteka. Najviše vremena se troši na čitanje ulaznih datoteka (ovisno o veličini i složenosti ulazne geometrije) te na samu pretvorbu prostornih podataka u pretvaraču.

Konfiguracijska datoteka, spomenuta nešto ranije, uz geometriju predstavlja najvažniji ulazni parametar za fnGenerator. Preko konfiguracijske datoteke znamo koje sve ulazne podatke trebamo, gdje se nalaze na lokalnom disku, gdje su definirani stilovi u CSS, vrstu i broj slojeva prostornih podataka, te mnoge druge informacije.

Page 41: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Praktični rad

36

4.1. Raspodjela posla

fnGenerator se sastoji od dijelova koji su usko povezani u svom funkcioniranju. Za raspodjelu posla postojale su dvije mogućnosti. Kod oba pristupa dostupni čvorovi se dijele na jedan glavni čvor te ostale radne čvorove. Glavni čvor je zadužen za dodjelu poslova te upravljanje i sinkronizaciju zadataka radnih čvorova, dok samu pretvorbu podataka ne radi. Za pretvorbu prostornih podataka zaduženi su radni čvorovi koji samo obavljaju posao koji dobiju od glavnog čvora. Aplikacija je skalabilna jer se prilagoñava proizvoljnom broju procesora.

Prvotno je zamišljeno da se paralelizira samo dio fnGenerator-a koji pretvara podatke, dok bi postojao samo jedan središnji čitač u glavnom čvoru. Na taj način bi se podaci samo jednom čitali u glavnom čvoru nakon čega bi se već očitani podaci priredili pretvaraču u svakom radnom čvoru. Meñutim, takav pristup ima odreñene nedostake. Najveći od njih je veliki mrežni promet svaki put kada se pokrene pretvorba prostornih podataka. Naime, svaki put se gubi previše vremena da se svi radni čvorovi opskrbe potrebnim podacima za pretvorbu. Slijedom toga se od ovog pristupa odustalo već u fazi planiranja zbog mogućnosti boljeg rješavanja problema.

Drugi pristup je jednostavniji, a u konačnici i učinkovitiji. Na svakom radnom čvoru postoji kompletni fnGenerator sa čitačem i pretvaračem te ostalim dijelovima. Na taj način na svakom radnom čvoru moraju biti dostupni prostorni podaci koje radni čvor samostalno čita u izvornom formatu. Kako bi se proces pretvorbe što više automatizirao, slanje potrebnih datoteka sa geometrijom se odvija unutar modula za raspodjelu poslova koji se nalazi u glavnom čvoru. Na taj način sve ulazne datoteke se trebaju nalaziti samo na jednom mjestu, odnosno na glavnom čvoru. Nakon što cijela pretvorba završi podaci će se nalaziti na svim čvorovima te će se moći iskoristiti u sljedećoj pretvorbi prostornih podataka.

Slojevi podataka se na ulazu razvrstavaju kao mali i veliki. Razliku izmeñu malih i velikih slojeva podataka odreñuje broj objekata unutar ulaznih datoteka, te ga možemo postaviti kao konstantu. Na početku pretvorbe glavni čvor će prvo krenuti sa velikim slojevima podataka jer će se oni dijeliti na sve raspoložive radne čvorove. Nakon što završi sve velike slojeve krenut će sa manjim slojevima podataka, jer se oni cijeli dodijeljuju pojedinačnom čvoru. Algoritam raspodjele posla je opisan preko diagrama toka na slici u nastavku (Slika 4-2). Na taj način postiže se veća iskorištenost radnih čvorova jer najviše sredstva trebaju veliki slojevi. Ovaj način rada oslanja se na strategiju rasporeñivanja LPT (engl. largest processing time) prilikom koje se poslovi duljeg trajanja obavljaju prije poslova kraćeg trajanja. Može se pokazati kako se LPT strategijom postiže optimalno ukupno trajanje obrade skupa poslova [15].

Page 42: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Praktični rad

37

Slika 4-2 Raspodjela posla

4.2. Komunikacija me ñu čvorovima

Za komunikaciju se koristi mrežni protokol MPI. Zbog svoje prilagodljivosti te raširenosti na gotovo svim operacijskim sustavima MPI predstavlja izvrstan izbor. Implementirana je specifikacija verzije MPI2. MPI se pokazao odličnim kod prijenosa velikih količina podataka (kod razmjene ulaznih datoteka izmeñu čvorova) jer ostvaruje velike brzine prijenosa. U načelu, to ne iznenañuje jer je MPI optimiziran za svaku platformu koju podržava.

Raspodjeljena aplikacija je napravljena kao višedretvena aplikacija. Jedna dretva služi za komunikaciju sa glavnim čvorom, dok se u drugoj obavlja posao. Kako bi se MPI koristio u višedretvnom okruženju mora se na početku programa posebno inicijalizirati. Na početku za inicijaliciju MPI-a obično koristimo funkciju int MPI_Init(int

Page 43: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Praktični rad

38

*argc, char *((*argv)[]) , ali kod višedretvenih aplikacija moramo koristiti proširenu funkciju int MPI_Init_thread(int *argc, char *((*argv)[]), int required, int *provided) gdje je argument required tražena razina podrške za dretve, a argument provided prihvaćena razina. MPI podržava više razina podrške za dretve [14]:

1. MPI_THREAD_SINGLE – samo jedna dretva će izvršiti MPI komunikaciju

2. MPI_THREAD_FUNNELED – aplikacija može biti višedretvena, ali samo će glavna dretva obavljati MPI komunikaciju (sva MPI komunikacija će se usmjeravati (engl. funneled) na glavnu dretvu)

3. MPI_THREAD_SERIALIZED – aplikacija može biti višedretvena i sve dretve mogu obavljati MPI komunikaciju, ali ne u isto vrijeme

4. MPI_THREAD_MULTIPLE – aplikacija može biti višedretvena i to bez ograničenja u MPI komunikaciju

Microsoft Windows operacijski sustav ima podršku za dretve najviše do razine 3 što predstavlja veliko ograničenje. Dok najvišu podršku za dretve MPI_THREAD_MULTIPLE ima operacijski sustav Linux, ali ona naravno ovisi o MPI implementaciji. Na početku programa jako je bitno da se provjeri prihvaćena razina podrške za dretve jer se u suprotnom MPI komunikacija ponaša neočekivano.

Glavni čvor ne šalje svim radnim čvorovima sve ulazne podatke već samo one koje su čvoru potrebne za pretvorbu podataka i to prije slanja pojedinog posla. Glavni čvor ima takvu logiku da sve poslove drži u jednom nizu, iz tog niza izvlači zadatke, te ih šalje pojedinom radnom čvoru. Prije nego što pošalje konkretan zadatak radnom čvoru, “pita” čvor da li ima sve potrebne podatke na raspolaganju. Ukoliko, čvor nema potrebne mu podatke, glavni čvor šalje sve potrebno dok u suprotnom radni čvor počinje sa poslom.

Komunikacija se odvija samo prije dodjeljivanja posla, dok za vrijeme posla radni i glavni čvor ne komuniciraju. Takoñer, izmeñu radnih čvorova nikad nema nikakve komunikacije. Na kraju posla svakog radnog čvora izlazni podaci se šalju natrag glavnom čvoru kako bi se kraju cijele pretvorbe svi podaci nalazili na jednom mjestu.

4.3. Poslovi u radnim čvorovima

Svaki sloj prostornih podataka naveden u glavnoj konfiguracijskoj datoteci predstavlja jedan zadatak za radni čvor. Nadalje, svaki taj sloj, ukoliko obuhvaća složenu i mnogobrojnu geometriju, možemo podijeliti na manje segmente te svaki segment dodijeliti različitom radnom čvoru. Pristup konfiguracijskoj datoteci ima samo glavni čvor tako da on odlučuje koji sloj će biti poslan pojedinom radnom čvoru na pretvorbu, te hoće li se dijeliti na manje segmente.

Postupak dodjele poslova najbolje je objasniti kroz primjer s najčešćim oblikom ulaznih podataka te 5 čvorova od kojih je jedan glavni. Kao što je već objašnjeno u poglavlju 4.1, slojevi se dijele na velike i male. Na sljedećoj slici (Slika 4-3) možemo vidjeti primjer

Page 44: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Praktični rad

39

ulaznih slojeva prostornih podataka: natpisi, točke interesa, prijevoz, vode i administrativne granice. Glavni čvor će na početku razvrstati slojeve vode i administrativne granice kao velike jer sadrže veliki broj geometrije, a sve ostale kao male te ih staviti u red za pretvorbu tako da su veliki na početku. Na raspolaganju su 4 radna čvora tako će glavni čvor raspodjeliti prvi veliki sloj administrativne granice na 4 jednaka dijela i poslati zadatke svim radnim čvorovima. Od tog trenutka svi su radni čvorovi zauzeti tako da svi ostali slojevi podataka čekaju u redu za pretvorbu. Nakon nekog vremena procesori će se početi postepeno (zbog neravnomjerne raspodjele geometrije unutar sloja) oslobañati. Postepenim oslobañanjem radnih čvorova dodijelit će se svakom od njih drugi veliki sloj vode, opet podijeljen na 4 dijela. Nakon nekog vremena jedan od čvorova će se osloboditi, no sada se sljedeći sloj neće dijeliti na 4 dijela jer više nema velikih slojeva, te će mu se dodijeliti sljedeći mali sloj prijevoz. Kako se redom oslobañaju ostali čvorovi, tako im se dodjeljuju preostali mali slojevi.

Slika 4-3 Ulazni prostorni podaci

Slika 4-4 prikazuje opisani scenarij na vremenskoj crti. Može se primjetiti da su čvorovi maksimalno zaposleni čime se smanjuje njihova neiskorištenost.

Slika 4-4 Raspodjela posla na vremenskoj crti

Čvor 1

Čvor 2

Čvor 3

Čvor 4

Page 45: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

40

5. Ispitivanje

Od rezultata testiranja očekuje se da opravda korištenje raspodjeljenih sustava za pretvorbu prostornih podataka. Prije samog testiranja nužno je odrediti metodologiju što uključuje odreñivanje parametara koji će se pratiti kod mjerenja. Nadalje, nužno je odrediti skup ispitnih podataka te definirati plan testiranja.

Ispitivanje je provedeno u dvije okoline; prva je računalni grozd Isabella dok je druga mreža računala. Kasnijom usporedbom rezultata pokazat će se uspješnost rada u pojedinoj okolini.

5.1. Metodologija

5.1.1. Ulazni parametri

Parametri koji se mijenjaju za svako mjerenje su: broj procesora i zrnatost slojeva prostornih podataka. Zrnatost je parametar koji odreñuje gustoću mreže kojom se dijele slojevi prostornih podataka. Mjerne jedinice u kojima je zrnatost zadana su metri što je izvorna postavka kartografske projekcije Mercator koja se koristi za ispitne podatke. Što je zrnatost manja podaci će biti podijeljeni na više segmenata (zrna) te će biti više datoteka na izlazu. Povećanjem datoteka na izlazu utječe se na količinu posla na svakom čvoru. Slika 5-1 ilustrativno pokazuje jednak segment karte podijeljen sa različitim vrijednostima zrnatosti.

Slika 5-1 Zrnatost podataka

Broj procesora značajno utječe na mjerenje jer odreñuje koliko će svaki čvor dobiti posla. Sa više procesora na raspolaganju ukupna količina posla se više raspodjeljuje čime je svaki čvor manje opterećen.

Page 46: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

41

5.1.2. Izlazni parametri

Izlazni parametri su izmjerene vrijednosti koje su služile za praćenje uspješnosti svakog testa. Na prvom mjestu je ukupno vrijeme izvoñenja kao najznačniji parametar. Vrijeme se najviše troši u radnim čvorovima na otvaranje i obradu ulaznih prostornih podataka te na samu pretvorbu podataka u drugi format. Ostali parametri su uobičajeni računalna sredstva koja pratimo kod obavljanja zadataka i nisu od presudnog značaja. To su npr. iskorištenost svakog procesora, iskorištenost memorije i mrežni promet izmeñu čvorova.

5.2. Ispitni podaci

Za svako ispitivanje korištene su dvije različite digitalna karte. Svi podaci su u ESRI Shapefile formatu. ESRI Shapefile je popularni geoprostorni vektorski format za GIS sustave. Obično se odnosi na skupinu datoteka sa više raznih nastavaka (*.shp, *.dbf, *.prj) u kojima su opisani podaci o geometriji, projekciji ili atributima. Može sadržavati podatke o tri tipa geometrijskih pojmova: točki, liniji i poligonu. Svaki sloj podataka predstavlja jednu skupinu datoteka s istim nazivom, ali različitim nastavcima što možemo vidjeti na donjoj slici (Slika 5-2).

Slika 5-2 ESRI Shapefiles

Page 47: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

42

5.2.1. Digitalna karta Europe

U tablici 5-1 su navedeni svi slojevi digitalne karte Europe.

Tablica 5-1

Ime sloja Tip

političke granice poligon

urbana područja poligon

vode poligon

nazivi gradova tekst

nazivi voda tekst

veća mjesta točka

lokalne ceste linija

autoceste linija

Područje obuhvata digitalne karte prikazuje Slika 5-3.

Slika 5-3 Područje obuhvata karte Europe

Page 48: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

43

5.2.2. Digitalna karta Južnoafri čke Republike

U tablici 5-2 su navedeni svi slojevi digitalne karte Južnoafričke Republike.

Tablica 5-2

Ime sloja Tip

administrativne granice poligon

nazivi gradova tekst

veća mjesta točka

autoceste linija

lokalne ceste linija

Područje obuhvata digitalne karte je prikazano na slici u nastavku (Slika 5-4).

Slika 5-4 Područje obuhvata karte Južnoafričke Republike

Page 49: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

44

Prostorni podaci su obično velike datoteke čije korištenje zna biti zahtjevno za računalo, pa je postojala opasnost od prevelikog mrežnog prometa kod njihove razmjene izmeñu radnih čvorova. Potpuno suprotno očekivanjima, ispitivanje je pokazalo da problem ne predstavljaju velike ulazne datoteke, već puno manjih izlaznih datoteka. Na primjer, ako uzmemo prostor cijele Južnoafričke Republike i podijelimo ga na mrežu segmenata veličine zrna 1 km, kao izlaz ćemo dobiti nešto manje od 2 000 000 datoteka. Takva količina datoteka predstavlja veliki “zalogaj” za datotečne sustave, posebno mrežne.

5.3. Plan ispitivanja

Raspodjeljeni programi su se izvršavali u dvije okoline. Prva okolina je akademski računalni grozd Isabella unutar kojeg je iskorišteno jedno računalo sa 4 dvojezgrenih procesora. Takvo okruženje se klasificira kao višeprocesno računalo sa zajedničkom memorijom opisano u poglavlju 3.1.1. Sva 4 procesora su identična tipa Dual-Core AMD Opteron Processor 8218 takta 3.2 GHz sa 16GB radne memorije.

Drugo okruženje je mreža računala u računalnom laboratoriju na Fakultetu elektrotehnike i računarstva (soba D339). Svako računalo ima 1 procesor tipa Intel Pentium 4 CPU takta 2.60GHz sa svojstvom Hyper-threading i 512MB radne memorije. Za potrebe testiranja umreženo je 9 računala povezanih Ethernet mrežom. Instalirani operacijski sustav je Linux, distribucija Fedora.

Za ocjenu performansi programa potrebno je definirati parametre koji prate uspješnost izvoñenja. Glavni parametar koji mjeri uspješnost testiranja je ukupno vrijeme izvoñenja programa. Ukupno vrijeme izvoñenja programa se sastoji od vremena dohvata prostornih podataka i vremena pretvorbe podataka.

Tukupno = Tdohvat podataka + Tpretvorba podataka

Radna memorija računala je važna u fazi dohvata podataka, dok je za drugu fazu pretvorbe podataka (u kojoj ima puno aritmetičko-logičkih operacija) važnija brzina procesora. Radna memorija je važna za fazu dohvata podataka zbog očitavanja podataka iz originalnog oblika na disku te prevoñenje u razrede podataka koji će se poslije koristiti u pretvorbi tih podataka.

Budući da je trajanje izvoñenja ovisno o veličini problema, definiramo relativnu učinkovitost paralelnog algoritma kao [16]:

gdje je T1 trajanje algoritma na jednom procesoru, a Tp trajanje na P procesora. Relativno ubrzanje algoritma definiramo kao:

Mjerenja su unutar svake okoline prvo izvršena na jednom procesoru kako bi se njihov broj postepeno povećavao do maksimalnog broja gdje bi se pratilo ubrzanje.

Page 50: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

45

5.4. Rezultati mjerenja

5.4.1. Prvo mjerenje

Rezultati mjerenja na grozdu Isabella sa digitalnom kartom Europe prikazani su u tablici 5-3.

Tablica 5-3

Okruženje: Isabella Digitalna karta: Europa

200 km 1 2 4 6

Tukupno [s] 183 115 64 48

Erel 79,57% 71,48% 63,54%

Srel 159,13% 285,94% 381,25%

20 km 1 2 4 6

Tukupno [s] 16437 11488 3259 2291

Erel 71.54% 126.09% 119,58%

Srel 143.08% 504.36% 717,46%

Slika 5-5 Grafički prikaz ubrzanja za digitalnu kartu Europe na Isabelli

Iz grafičkog prikaza prvog mjerenja (Slika 5-5) mogu se vidjeti vidjeti krivulje ubrzanja za dvije vrijednosti zrnatosti podataka. Za slučaj zrnatosti 200 km dobiva se uobičajen oblik krivulje, ali faktor ubrzanja je manji od broja procesora. Smanjenjem zrnatosti na 20 km količina posla se povećava zbog većeg broja izlaznih datoteka, te je stoga i ukupno

Page 51: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

46

vrijeme izvoñenja znatno veće. U mjerenju sa 4 i 6 procesora može se primjetiti da je faktor ubrzanja (504% i 717%) veći od broja procesora.

5.4.2. Drugo mjerenje

Rezultati mjerenja na mreži računala sa digitalnom kartom Europe prikazani su u tablici 5-4.

Tablica 5-4

Okruženje: FER Digitalna karta: Europe

200 km 1 2 4 6 8

Tukupno [s] 7453 2721 1291 50 70

Erel 136,95% 144,33% 2484,33% 1330,89%

Srel 273,91% 577,30% 14906,00% 10647,14%

20 km 1 2 4 6 8

Tukupno [s] 93133 48853 28620 1982 1584

Erel 95.32% 81.35% 783.16% 734.95%

Srel 190,64% 325,41% 4698.94% 5879.61%

Slika 5-6 Grafički prikaz ubrzanja za digitalnu kartu Europe na mreži računala

Iz grafičkog prikaza drugog mjerenja (Slika 5-6) mogu se vidjeti krivulje ubrzanja za dvije vrijednosti zrnatosti podataka. Krivulje ukazuju na anomaliju ubrzanja za slučaj kad postoje 6 ili više procesora. Anomalija se javlja zbog činjenice što umrežena računala raspolažu sa svega 512MB radne memorije. Mala količina radne memorije je nedovoljna za normalno izvršavanje zadatka kada se radi sa većim količinama prostornih podataka, pa se na manjem broju procesora zadatak odvija izrazito dugo. Računala u nedostaku

Page 52: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

47

fizičke memorije koriste virtualnu memoriju koja je puno sporija. Za slučaj zrnatosti 20 km i 6 procesora može se primjetiti kraće vrijeme izvoñenja nego kod istog slučaja na Isabelli.

Za slučaj zrnatosti 200 km i 8 procesora vidimo pad ubrzanja (70 s), jer algoritam troši više vremena na raspodjelu posla i komunikaciju nego na koristan rad. To se dogaña kad je ukupno vrijeme izvoñenja vrlo kratko, pa se ne isplati dijeliti na više procesora.

5.4.3. Treće mjerenje

Rezultati mjerenja na grozdu Isabella sa digitalnom kartom Južnoafričke Republike prikazani su u tablici 5-5.

Tablica 5-5

Okruženje: Isabella Digitalna karta: Južnoafrička Republika

10 km 1 6

Tukupno [s] 259 64

Erel 67,45%

Srel 404,69%

1 km 1 6

Tukupno [h] 26 6

Erel 72,22%

Srel 433,33%

5.4.4. Četvrto mjerenje

Rezultati mjerenja na mreži računala sa digitalnom kartom Južnoafričke Republike prikazani su u tablici 5-6.

Tablica 5-6

FER Južnoafrička Republika

10 km 1 6

Tukupno [s] 240 55

Erel 72,73%

Srel 436,36%

1 km 1 6

Tukupno [h] 31 5

Erel 103,33%

Srel 620,00%

Page 53: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Ispitivanje

48

Kod trećeg i četvrtog mjerenja, gdje se testiralo sa podacima Južnoafričke Republike, najbolje vidimo primjenu raspodjeljene pretvorbe. Za računalo sa jednim procesorom posao pretvorbe traje više od 26 sati zbog velikog broja izlaznih datoteka, dok se raspodjelom posla po čvorovima vrijeme smanjuje na manje od 6 sati. Kod podataka Južnoafričke Republike je bitno naglasiti da je, za razliku od Europe, geometrija ravnomjernije rasporeñena zbog pravilnije zemljopisne konfiguracije. To utječe da svaki čvor dobiva podjednaku količinu podataka za pretvorbu što znači da će manje vremena biti nezaposleni. To potvrñuje podatak da je razlika opterećenosti čvorova kod pretvorbe karte Europe bila i do 35%, dok je kod karte Južnoafričke Republike bila svega 4%. Ta nepravilna raspodjela najviše može utjecati na ukupno vrijeme izvoñenja kod računala sa malo radne memorije.

Rezultati mjerenja očekivano pokazuju znatno ubrzanje prilikom izvršavanja u raspodjeljenoj okolini. Mjerenja koja su se izvršavala na Isabelli pokazala su bolje rezultate kod korištenja manjeg broja procesora za razliku od mreže računala gdje su se dogañala zagušenja zbog nedostatka radne memorije. Mreža računala pokazuje bolje rezultate za veći broj procesora što dovodi do zaključka da ima bolje svojstvo skalabilnosti. Alati koje Isabella pruža omogućavaju lakše upravljanje poslovima, analizu rezultata i nadgledanje sredstva i time je Isabella ugodnija za rad.

Rezultati pokazuju da raspodjelom pretvorbe prostornih podataka postižemo znatnu uštedu na vremenu. Mjerenja u okruženju mreže računala na FER-u isto tako pokazuju da je moguće iskoristiti prosječna računala za obavljanje zahtjevnih zadataka da dobijemo usporedive, a nekad i bolje rezultate nego na skupljim rješenjima. Smanjenje ukupnog vremena izvoñenja sa nekoliko sati na nekoliko desetaka sekundi je odlična pretpostavka za primjenu paralelnog programa u on-line uvjetima.

Page 54: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Zaključak

49

6. Zaklju čak

Nakon proučavanja raspodjeljenih sustava i izrade programskog dijela za pretvorbu prostornih podataka uspješno su obavljena sva potrebna ispitivanja. Algoritam za raspodjelu posla izmeñu čvorova se pokazao kao vrlo učinkovit u usporedbi s algoritmom namijenjen jednom računalu. Rezultati ispitivanja pružaju odlične pretpostavke za daljni razvoj u smjeru primjene raspodjeljenih sustava u pretvorbi prostornih podataka. Današnji multimedijalni razvoj Interneta traži objavljivanje sve većih količina podataka koje prethodno treba na odreñeni način obraditi. Kartografija na Internetu nije izuzetak i prati današnji trend dostupnosti na globalnoj mreži. Prostorni podaci su, u pravilu, uvijek veliki i normalno je da jedno računalo više nije dovoljno. Korištenjem raspodjeljenih sustava znatno se štedi na vremenu, a što je najbitnije, omogućuje usklañenost kartografskog sustava sa stanjem na terenu u realnom vremenu.

flashNavigator tehnologija je ovdje iskorištena kao alat za vizualizaciju kartografskih podataka. Potreba za raspodjelom posla nastala je prilikom realizacija komercijalnih projekata gdje se obrañuju velike količine podataka.

Prilikom izrade ovog rada najviše vremena je utrošeno na proučavanje tehnologija koje se koriste u računalnom grozdu. To je opširno poglavlje u računarstvu koje predstavlja zasebnu tematsku cjelinu. Meñutim, korist koja je iz proučavanja proizašla je velika, jer se dobiva puno novih saznanja iz kojih mogu proizaći nove ideje. Prava snaga računalnih grozdova i otvorenih rješenja na kojima se zasnivaju leži u činjenici da se mogu ostvariti koristeći lako dobavljiva osobna računala. Potpuno je sigurno da već danas raspodjeljeni sustavi imaju značajnu ulogu ne samo u znanosti, već i u poslovanju.

Page 55: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Literatura

50

7. Literatura

Kartografija i GIS

[1] Prof. dr. sc. Davor Škrlec: “Kartografska podloga GIS-a”, Predavanja sa kolegija “Geografski informacijski sustavi”, Fakultet elektrotehnike i računarstva, Zagreb, 2005.

[2] Grupa autora: CAD, s Interneta, http://en.wikipedia.org/wiki/CAD, 10. prosinac 2007.

[3] Prof. dr. sc. Davor Škrlec : “Povijesni korijeni i razvoj GIS-a”, Predavanja sa kolegija “Geografski informacijski sustavi”, Fakultet elektrotehnike i računarstva, Zagreb, 2005.

[4] prof.dr.sc. Nedjeljko Frančula dipl.ing.geod.; dipl.ing.geod. Dražen Tutić.: “Kartografija, GIS i Internet”, Sveučilište u Zagrebu, Zagreb, 2002.

[5] Grupa autora: Web mapping, s Interneta, http://en.wikipedia.org/wiki/Web_mapping, 10. prosinac 2007.

[6] Grupa autora: Geographic information system, s Interneta, http://en.wikipedia.org/wiki/Geographic_information_system, 10. prosinac 2007

flashNavigator tehnologija

[7] Dino Ravnić; Marko Šantić: flashNavigator službena Internet stranica, s Interneta, http://www.flashNavigator.net, 5. prosinac 2007.

Raspodjeljeni sustavi

[8] Sveučilišni računski centar – Srce: "Klaster Isabella”, s Interneta, http://isabella.srce.hr, 15. prosinac 2007.

[9] Sveučilišni računski centar – Srce: “Stručni izvještaj o klasterskim tehnologijama”, Sveučilište u Zagrebu, Zagreb, srpanj 2004.

[10] Blaise Barney: Introduction to Parallel Computing, s Interneta, https://computing.llnl.gov/tutorials/parallel_comp, 15. prosinac 2007.

[11] Grupa autora: Message Passing Interface, s Interneta, http://en.wikipedia.org/wiki/Message_Passing_Interface, 15. prosinac 2007.

[12] Grupa autora: Sun Grid Engine, s Interneta, http://en.wikipedia.org/wiki/Sun_Grid_Engine, 15. prosinac 2007.

[13] E. Imamagić; D. D. Žagar: Introduction to Cluster Computing, Sveučilišni računski centar – Srce, Zagreb, 2006.

[14] William Gropp et al: MPICH2 User’s Guide Version 1.0.6, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, 2007.

Page 56: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Literatura

51

[15] Doc.dr.sc. Domagoj Jakobović: Doktorska disertacija “Rasporeñivanje zasnovano na prilagodljivim pravilima”, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2005.

[16] doc. dr. sc. Marin Golub: Predavanja iz kolegija “Paralelno programiranje u raspodjeljenim sustavima”, Fakultet elektrotehnike i računarstva, Sveučilište u Zagrebu, Zagreb, 2007.

Page 57: diplomski - raspodjeljena pretvorba prostornih podatakayeti/studenti/radovi/Santic_Marko_diplomski.pdfPrimjerice, GIS se u poljoprivredi pokazao izuzetno potreban pri formiranju poljoprivredne

Dodatak A – Popis kratica

52

8. Dodatak A – Popis kratica

engl. – engleski

GIS – Geografski informacijski sustav

GPS – Global Positioning System

XML – Extensible Markup Language

SWF – Format za pohranu vektorskih podataka

LAN – Local area network

NFS – Mrežni datotečni sustav

SMP – Symmetric Multiprocessor

UMA – Uniform Memory Access

NUMA – Non-Uniform Memory Access

HPC – High Performance Computing

HTC – High Throughput Computing

HA – High Availability

OS – Operating system

mpd – Multiprocessing daemon

MPI – Message Protocol Interface

SGE – Sun Grid Engine

GUI – Graphical user interface

CERN – European Organization for Nuclear Research

DHCP – Dynamic Host Configuration Protocol

SSH – Secure shell

FER – Fakultet elektrotehnike i računarstva