logo F9 IJS logo EGEE

F9 IJS v projektu EGEE

SiGNET: pilotna postavitev tehnologije Grid v Sloveniji

Raziskovalna skupina z odseka za fiziko visokih energij z Instituta "Jožef Stefan" (F9 IJS) je že več kot desetletje članica mednarodne kolaboracije ATLAS in sodeluje pri gradnji večnamenskega detektorja na Velikem hadronskem trkalniku v Evropskem laboratoriju za fiziko delcev CERN. Kot član kolaboracije ATLAS se je naš odsek vključil v projekt LCG in leta 2003 sodeloval pri prijavi projekta EGEE. Jeseni 2003 smo izvedli prvo fazo projekta Postavitev pilotne implementacije servisov in protokolov Grid v Sloveniji in posodobitev računalniške infrastrukture odseka, tako da smo članicam EGEE ob začetku projekta (prvega aprila 2004) lahko izročili v uporabo sodobno računalniško gručo pod imenom SiGNET (Slovenian Grid NETwork) in v projekt vstopili kot enakovredni partnerji (oziroma celo med uspešnejšimi in naprednejšimi, saj smo bili med prvimi gručami z delujočo 64-bitno arhitekturo).

V okviru projekta EGEE smo prejeli del finančnih sredstev za vzpostavitev gručce z virov Evropske skupnosti, pomemben delež pa je prispevala Republika Slovenija v okviru ciljnega razvojnega programa (CRP) Konkurenčnost Slovenije 2001-2006" (SI-CRP, http://www.mszs.si/slo/znanost/dejavnost/ciljni_raziskovalni_programi.asp) v okviru ciljnega razvojnega težišča "Informacijska družba".

Med našimi cilji je tudi sodelovanje s slovenskimi institucijami in disemnicaija in penetracija tehnologije v Sloveniji. Ker smo usmerjeni predvsem v raziskavo in produkcijo, pripravljamo predvsem servise in dokumentacijo, ki slovenskim organizacijam omogočajo, da se z našo pomčjo vključijo v uporabo tehnologij Grid.

Med pomembnimi koraki za vzpostavitem infrastrukture za uvajanje tehnologije Grid v Sloveniji je bila ustanovitev lastnega izdajatelja elektronskih potrdil za znanost in raziskovanje: SiGNET CA (http://signet-ca.ijs.si). SiGNET CA je pooblaščeni član zveze EUGridPMA (The European Policy Management Authority for Grid Authentication in e-Science, http://www.eugridpma.org/). EUGridPMA koordinira infrastrukturo javnih ključev (Public Key Infrastructure, PKI), namenjenih za overjanje pri uporabi sistemov Grid. Člani zveze EUGridPMA priznavajo in sprejemajo potrdila drugih članov mreže zaupanja. EUGridPMA distribuira sprejeta korenska (vrhovna) potrdila članskih uradov za potrdila. To pomeni, da lahko imetniki elektronskih potrdil, ki jih izdaja SiGNET CA, sodelujejo z vsemi organizacijami, ki uporabljajo potrdila članov EUGridPMA.

Za delovanje Gruče SiGNET smo ustanovili tudi virtualno organizacijo SiGNET, ki je postala prvi uporabnik SiGNET CA, največji transnacionalni uporabnik pa je virtalna organizacija ATLAS, v okviru katere Odsek za eksperimentalno fiziko osnovih delcev sodeluje v kolaboraciji ATLAS.

V letu 2005 smo z nadaljnim testiranjem tehnologij Grid in razvojem programske opreme ter širitvijo gruče SiGNET, ki je poleg velikega števila dodatnih namenskih procesorskih pridobila tudi datotečni element mreže Grid (Grid data element), gručo iz faze testiranja pripeljali do zmožnosti za praktično uporabo. Od leta 2006 sodeluje v globalnem testiranju z obremenitvijo infrastrukturo v okviru t.i. Service Challange, na njej pa tečejo računske naloge domačih raziskovalcev ter virtualne organizacije ATLAS, tako da je gruča večinoma polno obremenjena.

Strojna oprema

Gruča SiGNET je sestavljena iz dveh skupin sistemov, iz namenske gruče z arhitekuro AMD64 in gruče delovnih postaj z različnimi arhitekturami. Konfiguracija je naslednja:

V vsem sistemu je več kot 150 procesorjev; v sistemu grid vedno sodeluje več kot 120 procesorjev.

img/SiGNET-cabling.jpg

Ožičenje gruče SiGNET

Namenski del gruče SiGNET je izredno zgoščen - tako je 30 dvoprocesorskih računksih strežnikov v eni sami omari. Gosto omreženje (glavna in kontrolna mreža) osvetjujejo nadzorne lučke kontrolnih procesorjev (moduli IPMI).

Strežniki in namenski računalniki gruče SiGNET stojijo v posebnem hlajenem prostoru z lastno električno napeljavo. Strežniki in usmerjevalniki prometa imajo lastne enote za prenapetostno zaščito in neprekinjeno napajanje. Delovne postaje odseka F9 so priključene na električno napeljavo s prenapetostno zaščito in neprekinjenim napajanjem (UPS).

Gruča SiGNET je bila ena od prvih delujočih gruč, ki je uporabljala 64-bitno tehnologijo i32-64 (ali AMD-64) s procesorji Opteron in je ob vzpostavitvi pritegnila precejšnjo mednarodno pozornost, tako da je družba AMD posredno spremljala postavitev.

Omrežni prikjuček

Usmerjevalnik prometa RS 32000 je nastavljen tako, da oblikuje dve podomrežji s povezavami Ethernet 1 Gbit/s. Eno podomrežje vključuje računalnike namenske gručo in strežnik, drugo pa povezuje strežnik in usmerjevalnike prometa na odseku F9 IJS, na katere so preko priključkov s kapaciteto 1Gbit/s priključene delovne postaja in drugi strežniki na odseku. Vsako od obeh omrežij ima samostojno povezavo z Arnesovim vozliščem v Ljubljani (Slovensko akademsko in raziskovalno omrežje: http://www.arnes.si/) in preko njega do omrežja GÉANT2 (druga fazna skupnega projekta gigabitnega omrežja Evropske skupnosti, evropskih raziskovalnih omrežij in organizacije DANTE, http://www.dante.net/geant/). Samostojna povezava namenskega dela gruče zagotavlja zadostno kapaciteto za prenos podatkov procesov grid. Kapaciteta povezave do omrežja GÉANT2 je trenutno (l. 2006) 2,5 Gbit/s, vendar bo treba pred začetkom zajemanja podatkov z eksperimentov Velikega hadronskega trkalnika (LHC, predvidoma konec 2007) in pred vsakršnim sodelovanjem z obsežnejšimi raziskovalnimi projekti kapaciteto priključka povečati.

img/arnes-backbone.jpg

Omrežje Arnes

Ljubljansko vozlišče omrežja Arnes ima neposredno povezavo z omrežjem GÉANT2 po t.i. "temnev vlaknu", ki potencialno s pomočjo tehnologije valovnega mulitpleksa omogoča več hkratnih povezav s kapaciteto 10 Gbit/s. (Vir sheme in več informacij: http://www.arnes.si/backbone.htm; topologija omrežja GÉANT http://www.dante.net/upload/pdf/GEANT_Topology_Apr_2004.pdf in GÉANT2 http://www.dante.net/upload/pdf/665_GN2_Topology_May_065_final.pdf; več o omrežju GÉANT2: http://www.geant2.net/.)

Sistemska programska oprema

Operacijski sistem

Računalniki na odseku F9 IJS SI uporabljajo prosto programsko opremo in operacijski sistem GNU/Linux. Na strežniku in namenskih računalnikih v gruči je bila prvotno nameščena distribucija SuSE za arhitekturo AMD-64 (http://www.suse.com/), ki je najbolje in zelo zgodaj podpirala arhitektura AMD-64, na namenskih strežnikih pa so bile nameščene distribucije Gentoo (i686, Alpha, http://www.gentoo.org/) in Debian Sarge (http://www.debian.org/) ter na delovnih postajah Fedora Core za i686 in AMD-64 (http://fedora.redhat.com/) ter SUSE AMD-64. V letih 2005 in 2006 smo po intenzivnem testiranju večino sistemov opremili s prilagojeno distribucijo Gentoo, ki omogoča skrajno optimizirano pripravo distribucije in gradnjo stabilnih sistemov z zelo sodobno programsko opremo, nekatere storitve vmesniške programske opreme LCG/gLite pa tečejo na namenski distribuciji GNU/Linux SLC (Scientific Linux CERN) - bodisi neposredno ali v podrejenih okoljih chroot/VMWare/XEN.

Imeniki in overjanje

Za imenik sistemskih podatkov o uporabnikih in skupinah ter overjanje uporabljmo OpenLDAP in Kerberos 5, ki preko varnostnega sistema pluginov pam deluje z vsemi sistemskimi orodji, preko pluginov v bazah podatkov in spletnih strežnikih pa tudi v spletnih vmesnikih.

Datotečni sistemi

Na strežnikih teče datotečni strežnik OpenAFS, ki eksportira celico f9.ijs.si (http://www.openafs.org/. AFS je delno razpršen omrežni datotečni sistem, ki posameznikom, projektom in programski opremi omogoča dostop do datotek preko enotnih poti v imeniku /afs kjerkoli v Internetu. AFS za overjanje uporablja kupončke sistema Kerberos, posamezni segmenti datotečnega sistema pa so na strežniku shranjeni kot samostojne datoteke, zato AFS omogoča preprosto in varno izvajanje vmesnih kopij, varnostnih kopij in obnavljanje izgubljenih podatkov. Sistem AFS ni odvisen od operacijskega sistema: z odjemalskimi programi za AFS se lahko v datotečni sistem vključujejo računalniki z različnimi, tudi komericalnimi operacijskimi sistemi (npr. prenosniki s sistemom Mac OS X ali sodobnejšimi različicami MS Windows). Vse delovne postaje in strežniki imajo nameščeno podporo za AFS v sistemskem jedru.

700 MB diskovja je na voljo za AFS, 1TB pa je eksportiran preko mrežnega datotečnega sistema NFS kot prostor za začasno hranjenje podatkov ("scratch space"). Poleg tega vsak računalnik v gruči uporablja in preko NFS eksportira svoj lokalni disk, ki je namenjen za začasno lokalno shrambo in obdelavo podatkov. Za fizični zapis na diskih uporabljamo datotečni sistem XFS (http://oss.sgi.com/projects/xfs/).

Največji diskovni nabor uporablja datotečni sistem GFS (Global File System), ko omogoča hkraten vzporeden dostop z več računalnikov. Diskovni sistem je postavljen v nabor RAID in priključen preko optične povezave FiberChannel in optičnega stikala na vse tri osrednje strežnike, ki ga preko NFS posredujejo računskim vozliščem v gruči. Takšna konfiguracija je v okviru grida EGEE edinstven primer, vendar omogoča izredno hiter in zelo zanesljiv (deluje tudi v primeru odpovedi katerega od strežnikov) ter za strežnike neobremenjujoč dostop za branje ter s stališča računskega vozlišča še vedno hitro (strežnik NFS deluje kot vmesna shramba) dostop za pisanje z zelo veliko logično diskovno enoto (partition), kar pomeni mnogo preprostješe vzdrževanje in administracijo. (Več o datotečnem sistemu GFS: http://sources.redhat.com/cluster/gfs/.)

Sistemi za nadzor gruče

Neinteraktivne procese ("batch jobs") na gruči vodi sistem, kompatibilen s specifikacijo PBS (Portable Batch System, prim. http://www.openpbs.org/) - ti sistemi imajo odprt vmesnik za nadzor nad distribucijo procesov: gruča SiGNET uporablja distributor ("sceduler") tipa PBS (Portable Batch System) in sicer sodobnejšo izvedbo MAUI Cluster Scheduler (http://www.clusterresources.com/products/maui/), ter upravaljalnik sredstev (resource manager) TORQUE (http://www.clusterresources.com/products/torque/). Neinteraktivni procesi imajo podporo za uporabo datotečnega sistema AFS in dobijo lasten kuponček za Kerberos.

Pri internem razvoju programske opreme uporabljamo distribuiran upravljalec prevajalnikov distcc (http://distcc.samba.org/). Distribuirano prevajanje programske opreme med razvojem nove opreme in pripravljanjem programskega okolja bistveno pospeši delo, obremenitve, ki jih nadzira vsak uporabnik sam, pa so kratke in lokalne, tečejo pa samo na delovnih postajah, tako da ne obremenjujejo namenskega dela gruče in ne vplivajo na računske zmožnosti gruče.

Programska oprema za grid

Ob prvem zagonu gruče SiGNET smo po obširnem testiranju izbrali programsko opremo NorduGrid ARC http://www.nordugrid.org/middleware/. Izbiro je narekovala preprosta namestitev, zanesljivost in fleksibilnost sistema, kar nam je omogočilo, da smo si sistemom GridCOSI lahko zelo hitro na 64-bitni arhitekturi namesitili obstoječe 32-bitne različiče programske opreme za ekperiment Atlas in se vključili v eksperiment Atlas Data Challenge 2. (<http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/DC/).> Preprostost namestitve je bila še posebej pomembna, ker smo v gručo poleg namenskih računalnikov vključiili tudi delovne postaje oddelka F9 IJS, kar pomeni, da je morala programska oprema za grid delovati na različnih distribucijah in različicah operacijskega sistema GNU/Linux, in to na različnih strojnih arhitekturah.

img/atlas-monitor.jpg

Zaslonska slika spletnega vmesnika NorduGrid ARC

Spletni vmesnik je namenjen za pregledovanje stanja računalniških kapacitet skupine NorduGrid, v okviru katere je članom projekta EGEE dostopna računalniška gruča SiGNET. Spletni vmesnik za kolaboracijo ATLAS je javno dostopen na naslovu http://www.nordugrid.org/monitor/atlas/, splošni vmesnik za kolaboracijo NorduGrid pa je na naslovu http://www.nordugrid.org/monitor/.

V juniju in juliju 2005 smo namestili tudi LCG Grid Middleware (http://lcg.web.cern.ch/LCG/activities/middleware.html), programsko opremo za grid, ki je nastala pod vodstvom projekta LCG (http://lcg.web.cern.ch/LCG/) na osnovi izsledkov projkta DataGrid (http://eu-datagrid.web.cern.ch/eu-datagrid/). Dokler oprema gLite še ni dovolj stabilna, je to uradna programska oprema za grid v projektu EGEE.

Z novonameščeno opremo, ki na gruči teče vzporedno z NorduGrid ARC, smo se vključili v Srednjeevropski regionalni nadzorni center EGEE (EGEE CE ROC). Rezultati nadzornih in testnih sistemov za gručo SiGNET so dostopni na naslednjem naslovu: http://goc.grid.sinica.edu.tw/gstat/SiGNET/. Gl. tudi splošni pregled: http://goc.grid.sinica.edu.tw/gstat/. Od leta 2005 je celotna gruča vključena v oba sistema, poleg produkcijske različice LCG Grid Middleware oziroma sedaj že gLite pa v testnem okolju preizkušamo tudi razvojno različico.

img/lcg-monitor.jpg

Zaslonska slika spletnega monitorja LCG/EGEE

Spletni vmesnik opreme LCG/EGEE (prikazana je različica testne virtualne organizacije, ki jo lahko preizkusite: http://www.eu-egee.org/try-the-grid) je namenjen za pregledovanje stanja računalniških kapacitet osrednjih skupin omrežja grid EGEE.

Grid-COSI: okolje za izvajanje aplikacij grid

Grid-COSI (Grid enabled Chroot Operating System Image) je mehanizem za namestitev in vzdrževanje sistemskih okolij gostujočih virtualnih organizacij ter za nadzor nad okoljem izvajanja aplikacij grid. Je v celoti plod dela naše raziskovalne skupine, nastal pa je kot naš doprinos v postopku razvoja in standardizacije tehnologij grid v okviru skupine NorduGRID kot dodatni modul za sistem ARC.

API, ABI, strojna arhitektura

Osnovni pristop k prenosljivosti in kompatibilnosti v računalniških tehnologijah je standardizacija vmesnikov in protokolov. Standardizacija pa ima različne ravni.

Programski vmesnik (Application Programming Interface, API)

Programski vmesnik vključuje vse ravni standardizacije, ki omogočajo kompatibilnost in prenosljivost izvorne kode. Programski vmesnik lahko določa uporabo funkcijskih klicev in metod določenega programa, sistemske ali samostojne knjižnice, določa pa lahko tudi protokole, format zapisa nastavitvenih datotek, podatkovnih datotek, vmesnike za poizvedbo o nastavitvah in zmožnostih sistema, ukaze ukazne vrstice itd.

Programske vmesnike definira operacijski sistem, sistemske knjižnice, pa tudi uporabniške knjižnice in programi.

Izvorno kodo programa, ki uprablja določen programski vmesnik, naj bi bilo mogoče prevesti na vseh platformah, ki podpirajo ta vmesnik.

Strojni vmesnik (Application Binary Interface, ABI)

Strojni vmesnik ali ABI določa konvencije za strojni jezik, zapis izvedbene strojne datoteke in knjiňice, binarne klice sistemskih funkcij in knjižnic, podatkovne strukture sistemskih servisov, način shranjevanja podatkov v pomnilnik (Big Endian, Little Endian) itd.

Strojni vmesnik morata podpirati strojna arhitektura (običajno gre za tip procesorja oz. podprte oblike strojne kode), jedro operacijskega sistema in razvojna programska orodja.

Programi in knjižnice, prevedeni za določeni strojni vmesnik, lahko delujejo s sistemskim jedrom, ki podpira ta vmesnik, in drugimi programi in knjižnicami, ki so prevedeni za ta strojni vmesnik. S knjižnicami, prevedenimi za drugačen strojni vmesnik, ne morejo delovati, tudi če strojna arhitektura in sistemsko jedro podpirata oba vmesnika.

Primer različnih strojnih vmesnikov z istim operacijskim sistemom je npr. sistem GNU/Linux na različnih arhitekturah>. Značilen primer strojne arhitekture, ki podpira dva različna strojna vmesnika, je arhitektura AMD64 , ki hkrati podpira x86 in x86_64.

Strojna arhitektura

Strojna arhitektura opisuje obstoječa sistemska sredstva - tip procesorja, strojnke kode, sistemskega vodila, V/I enot, dostopa do pomnilnika, diskov, uporabniških vmesnikov itd.

Lahko obstja več različnih arhitektur, ki uporabljajo isti tip procesorja, vendar zahtevajo drugačno sistemsko podporo. Najbolj znani primeri te vrste so stare platforme družb Apple, Amiga in Atari s procesorji M86xxx družbe Motorola.

Določeno arhitekturo lahko podpirajo različni tipi procesorjev. AMD, Intel in Transmeta npr. izdelujejo procesorje, ki kljub bistveno različni implementaciji podpirajo arhitekturo I32 in strojni vmesnik x86.

Prodajalci komericalne programske opreme pogosto navajajo le kompatibilnost programske opreme s strojno arhitekturo in različico operacijskega sistema. Ob eksploziji novih cenovno dostopnih strojnih arhitektur in različnih prostih distribucij operacijskih sistemov, ki jih podpirajo, se postopoma uvaja natančna specifikacija kompatibilnosti in zahtev programske opreme na ravni programskih in strojnih vmesnikov.

Grid-COSI prinaša fleksibilno rešitev za enega največjih problemov tehnologij grid, ki ga predstavlja raznolikost programskih in strojnih okolij. Različni radikalni pristopi, kot je poenotenje operacijskih sistemov in strojnih arhitektur na vseh sodelujočih računalnikih ali popoln prehod na prenosljive tehnologije, (npr. okolje Java v grid Toolkit 4.0) se temu problemu izogibajo ali ponujajo delne, navidezne rešitve, ki s sabo prinašajo neoptimalen izkoristek strojnih sredstev ali povzročajo dodatno delo, ker omejujejo uporabo programskih orodij in programskih knjižnic. Predvsem te rešitve v resnici problem le odlagajo, dokler se zaradi zastarelosti posameznega dela takšne poenotene platforme vprašanja kompatibilnost, prenosljivosti in različnih arhitektur ne pojavijo še v hujši obliki.

Programska oprema za raziskave na prodročju fizike visokih energij je večinoma napisana v treh programskih jezikih, to so C++, C in Fortran. Gre za prevedene jezike, ki imajo velike zbirke splošnih in specializiranih knjižnic in omogočajo odličen izkoristek strojne opreme. Interpretirani programski jeziki, kot so Perl, Python, Ruby in Java, se občasno uporabljajo kot sistemska orodja, vmesni moduli (middleware) in pri implementaciji spletnih ter grafičnih uporabniških vmesnikov. Zato je treba programsko opremo prevesti v binarno obliko, preden je uporabna za izvajanje na posameznih računalnikih v račualniškem grozdu, za to pa je treba namestiti vse knjižnice, programsko opremo in servise ter razvojna orodja, ki jih zahteva postopek prevajanja posameznega programa.

Prvi problem, ki se pojavi, so razlike med operacijskimi sistemi in programskimi okolji. Čeprav na vseh računalnikih uporabljamo operacijski sistem GNU z sistemskim jedrom Linux, različne distribucije, različice jeder, različice razvojnih okolij in nameščene programske opreme pomenijo zelo raznoliko okolje, kjer lahko pride do vrste nekompatibilnosti, ker je programska oprema laho odvisna od posamezne različice (ali pa je zaradi napake odvisna od podrobnosti v implementaciji) posameznega programskega vmesnika (API). Ta problem v kolaboraciji Atlas in v Evropskem laboratoriju za fiziko delcev CERN na sploh rešujejo s standardizirano distribucijo sistema GNU/Linux, ki se imenuje Scientific Linux CERN in so ga razvili na osnovi distribucije RedHat (gl. http://linux.web.cern.ch/linux/). Vendar pa ta rešitev ni splošna, ob prehodu na novo različico distribucije pa pride do vseh navedenih problemov.

Drugi problem so različna strojna oprema in strojni vmesniki. Dodaten izziv ob postavitvi gruče SiGNET je predstavljala priložnost, da bi z uporabo nove sistemske arhitekture družbe AMD (AMD-64) dobimo bistveno zmogljivejšo gručo, kot bi bilo to mogoče z uporabo arhitekutre I32. Strežniski s procesorji AMD Opteron imajo izredno hiter dostop do pomnilnika in velik vmesni pomnilnik, kar je zelo pomembno za računsko zahtevne aplikacije na področju fizike visokih energih, poleg tega hkrati podpirajo dva strojna vmesnika (ABI, glej okvirček), x86 in 64-bitni vmesnik x86_64 z dodatnimi procesorskimi registri in 64-bitnim naslavljanjem pomnilnika. Podpora za uveljavlji strojni vmesnik x86 zagotavlja strojno kompatibilnost, vendar programska oprema, prevedena za strojni vmesnik x86, ne izkorišča vseh zmožnosti nove arhitekture. Če hočemo izkoristiti tako kompatibilnost kot kapacitete nove arhitekture, morata operacijski sistem in programska oprema grid hkrati podpirati izvajanje aplikacij, prevedenih za eni ali drugi strojni vmesnik.

Grid-COSI je fleksibilen vmesnik, ki na osnovi specifikacije posameznega zahtevka za izvajanje v gridu in razpoložljivih različic zahtevane aplikacije izbere najboljšo kombinacijo programskega (API) in strojnega (ABI) vmesnika in pripravi ustrezno sistemsko okolje. Kombinacija izvirnega nameščenega sistema in virtualnega sistema, ki ga zagotavlja Grid-COSI, dajeta aplikaciji popolno kompatibilno sistemsko okolje, ki se izvaja s polno hitrostjo in brez strojne emulacije. Sistem Grid-COSI svoje delo opravi s pomočjo sistemskega klica chroot, vrste drugih sistemskih klicev in nastavitev, funkcij linkerja in zahtevnejših funkcij datotečnih sistemov operacijskega sistema GNU/Linux.

S pomočjo sistema Grid-COSI vmo v grozdu omogočili sočasno izvajanje aplikacij, ki zahtevajo različne različice operacijskega sistema in različne strojne vmesnike (in torej nekatere tečejo v 32-bitnem, druge pa v 64-bitnem načinu). Z nadalnjim razvojem sistema smo izboljšali fleksibilnost sistema, ga integrirali s vmesniško programsko opremo LCG EGEE in ga postopoma integriramo s prihajajočo arhitekturo gLite. Kljub relativno počasnemu razvoju podpore za multiple arhitekture (Multiarch) v različnih distribucijah operacijskega sistema GNU/Linux še vedno pripravljamo tudi tesnejšo integracijo Grid-COSI s sistemskimi funkcijami.

Gled: Razvojno programsko okolje za gruče

Kot programsko okolje za gruče na odseku F9 IJS že dlje časa razvijamo sistem Gled.

Gled (Generic Lightweight Environment for Distributed computing, http://www.gled.org/) je ogrodje in orodje za hiter razvoj aplikacij v jeziku C++ z grafičnim uporabniškim vmesnikom (GUI), tridimenzionalno grafiko (OpenGL) in podporo za razpršene arhitekture in serializacijo podatkovnih struktur. Gled je namenjen za razvoj aplikacij za raziskave na področju fizike visokih energij in interaktiven razvoj uporabniških vmesnikov, servisov in aplikacij na področjih razprsenih računalniških sistemov in tehnologij grid.

Gled temelji na sistemu ROOT, ogrodju za objektno-orientirano analizo in obdelavo podatkov, tako da so v Gledu na voljo številni servisi tega okolja, kot npr. interpreter jezika C++ CINT, interaktivni vmesniki za reprezentacijo podakov, vmesniki za izdelavo dokumentacije in poročil itd. (prim. http://root.cern.ch/). Gled vsebuje mehanizme za delo s kompleksnimi zbirkami objektov, serializacijo objektov, grafično pregledovanje im manipulacijo z zbirkami objektov, ogrodje za dinamično vizualizacijo in vgrajen trodimenzionalni vmesnik za grafiko OpenGL s strojno podporo.

Sistem Gled vsebuje kompleksen in vsestranski sistem za razpršeno izvajanje aplikacij v grozdih, v katerem je posamezen proces, ki je z drugimi povezan v hierarhiji mrežnih povezav po protokolu TCP/IP lahko strežnik, posrednik (proxy), odjemalec in grafični vmesnik, pri čemer lahko posamezen proces opravlja več funkcij. Ogrodje za razvoj razpršenih aplikacij vključuje mehanizme za overjanje in sistem dovoljenj (access control), oddaljeno izvajanje klicev in sinhrono izvajanje klicev po grozdu, oddaljeno izmenjavo podatkov, hierarhicno posredovanje zbirk objektov in kontroliran multithreading po vsem grozdu.

Gled vsebuje preprosta orodja za razširjanje sistema z dodajanjem lastnih zbirk knjižnic (library sets, libsets). Ta orodja pripravijo ogrodje za nove zbirke knjižnic, objektov in grafičnih implementacij (rendering extensions). Za preprosta opravila je na voljo vmesnik za skripte v jeziku C++ in interaktivni interpreter za C++. Običajna aplikacija v sistemu Gled je sestavljena iz zbirke knjižnic, ki implementirajo funkcije aplikacije in elemente grafičnih vmesnikov, in skripte v C++, ki nastavi parametre vmesnikov in razpršene gruče ter zažene ustezne funkcije v knjižnicah. Takšna arhitektura omogoča zelo hiter razvoj.

Sistem Gled je že v eksperimentalni razvojni fazi — aplikacije na njegovi osnovi so že v uporabi, lahko pa tudi samostojno upravlja z gručami, v letih 2005 in 2006 je bil uporabljen kot demonstracijski prikaz delovanja programske opreme eksperimenta LHC ATLAS v gridu EGEE v EU, ZDA in v Indiji. Trenutno poteka nadaljnji razvoj sistema, zlasti nadaljnja integracija s sistemom ROOT in integracija z različnimi ravnmi programske opreme za upravljanje z virtualnimi gručami grid, del sistema Gled pa je bil vgrajen kot del ogrodja ROOT in bo tako v splošni uporabi v fizikalnem znanstvenem okolju.

Gled je izjemno dragocen kot orodje za prototipno in interaktivno testiranje protokolov in algoritmov za upravljanje z gručami. Nadaljnji razvoj sistema Gled kot okolja za razvoj distribuiranih aplikacij, ki težejo na gručah v gridu, ni samo splošno koristen - takšna okolja so za razvoj aplikacij na področju fizike osnovnih delcev in projekta LCG nenadomestljiva.

img/mcpythia.jpg

Prikaz simulacije trka protonov na Velikem hadronskem trkalniku LHC

Simulacije prikazuje trk protonov, pri katerem je nastal in razpadel Higgsov bozon (rdeča črta, označena s škatlico).

Slika je bila izdelana s sistemom Gled, ki smo ga na Institutu "Jožef Stefan" razvili v okviru raziskovalnega dela na področju distribuiranih računalniških sistemov in sodobnih metod za analizo podatkov. Sistem Gled je aplikativno ogrodje za razvoj programske opreme za distribuirano procesiranje, analizo in vizualizacijo podatkov ter za izgradnjo večuporabniških informacijskih sistemov. Kot odprto zasnovan sistem je Gled uporaben tudi za izvedbo osnovnih servisov in aplikacij v okviru tehnologij grid ter kot pripomoček za poučevanje računalništva in naravoslovnih ved, kjer s pomočjo simulacij in grafičnih prikazov laže podamo celovit pregled snovi. Več podatkov o projektu: http://www.gled.org/.

Objava za javnost © 2004-2006 Odsek F9, Institut "Jožef Stefan". Datum zadnje objave: oktober 2006.