Slovensko nacionalno superračunalniško omrežje

Tehnologija

Sodobni računski gridi so mreže računskih gruč, ki v okviru mednarodnih kooperacij uporabnikom omogočajo dostop do računskih in podatkovnih kapacitet, ki so za velikostni red večje kot doslej, kar omogoča uporabo novih orodij in novih raziskovalnih pristopov ter sodelovanje v velikih mednarodnih projektih, kjer so raziskovalne skupine in centri združeni v virtualne organizacije, ki urejajo dostop do skupnih zmogljivosti.

Omrežja grid sestavljajo računske gruče sodelujočih ustanov, torej skupine v mrežo povezanih računalnikov, ki poganjajo programsko opremo za upravljanje z računskimi procesi in shranjevanje podatkov in jih je mogoče uporabljati tako, da uporabnik gruči odda računsko nalogo, gruča pa najde zahtevane podatke ter ustrezen prost računalnik, mu preda nalogo v obdelavo in sprejme rezultate. V gridu posamezne računske gruče povezuje vmesniška programska oprema grid (grid middleware), ki jih združuje v enotno infrastrukturo. Z njeno pomočjo vse zmogljivosti gruč virtualne organizacije postanejo dostopne vsem uporabnikom organizacije. Vmesniki so običajno neposredno integrirani v orodja uporabnikov.

Cilj računalniškega grida je združen dostop do zmogljivosti posameznih računalnikov in računalniških gruč, kar uporabnikom ne glede na lokacijo omogoča poenoten dostop do celotne infrastrukture in računalniških kapacitet.

Celota se obnaša kot super-gruča ali razpršen virtualni superračunalnik, ki uporabniku omogoča dostop do računalniških kapacitet in podatkovnih shramb, zagotavlja nameščanje programske opreme, varen dostop, indeksiranje podatkov, rezervacije in obračunavanje uporabe itd. Uporabnik grida ima na voljo izjemne zmogljivosti, kar omogoča uporabo novih raziskovalnih metod. Poleg tega grid deluje tudi kot organizacijska oblika, ki omogoča velike mednarodne kolaboracije v obliki virtualnih organizacij, v okviru katerih člani izmenjujejo računske in podatkovne kapacitete, podatke, algoritme, programsko opremo itd.

Sodobni grid ima obliko gruče gruč

Administrator posamezne organizacije namesti programsko opremo za upravljanje z gručo (cluster scheduler) in vrsto servisov za vmesniško programsko opremo grid, ki jih poveže z upravljavcem nalog na gruči. Gruča tako ostane lokalno neposredno dostopna, hkrati pa je dostopna tudi preko grida.

Servisi v gridu poleg dostopa do razpoložljivih računskih kapacitet gruče omogočajo še vrsto dodatnih storitev: shranjevanje in dostopanje do podatkov na namenskih diskovnih skladiščih ter diskih računalnikov v gruči, varen oddaljen dostop in šifriranje podatkov, nameščanje programske opreme na gručo, testiranje gruče, nadzor nad trenutnimi procesi v gridu, obračunavanje uporabe, obveščanje o napakah itd. Tipični vmesniki grid danes omogočajo dostop z ukazne vrstice, dostop preko spletnih vmesnikov in integracijo z orodji uporabnikov.

Opis tehnične realizacije za končnega uporabnika ni bistven, nakazuje pa nekaj funkcij, ki so vključene v tehnologijo grid, in nekaj zahtev za sodelujoče raziskovalne centre in osrednje servise nacionalne infrastrukture grid.

Osnovne komponente vmesniške programske opreme (grid middleware) so pri vseh implementacijah v veliki meri enake. Poenostavljeno rečeno programska oprema vključuje komponente javnega kriptografskega sistema za overjanje elektronskih potrdil x509 (tipično OpenSSL), upravljani servis virtualne organizacije (VOMS, Virtual Organization Management Service), upravljalnik nalog v gridu (grid job manager), sistem za prenos podatkov (tipično grid file transfer, gridftp), strežnik za metapodatke (metadata server) za iskanje dejanske lokacije posameznih podatkov, strežnik za replike (replica server) za repliciranje podatkov, distribuirane baze podatkov (za dostop do metapodatkov, obračunskih in statističnih podatkov ipd.), sisteme za nadzor in obveščanje o napakah (grid monitoring) itd.

Najpomembnejši vidik celotne infrastrukture je, da vsi viri na vsakem koraku dobijo dve identiteti: lokalno (ime procesa na posameznem računalniku, lokacija datoteke na disku) in globalno (logično ime naloge ali podatkovnega nabora v gridu). Uporabnik grida uporablja samo globalna imena za vse vire, zato lokalna implementacija postane nebistvena. Tako je lahko lokalna infrastruktura v različnih centrih različna (različice operacijskega sistema, druga programska oprema za opravljanje gruče, način shranjevanja podatkov v diskovne banke ipd.). Uporabniku zato največkrat ni treba vedeti, katera gruča v kateri državi bo dejansko opravila nalogo, ki jo je poslal v grid. Uporabnik in njegov program uporabljata vmesnik do grida, vse drugo je stvar vmesniške programske opreme. Grid tako zagotavlja standardiziran transparenten dostop do izjemnih zmogljivosti, pri čemer omogoča učinkovito izrabo razpršenih kapacitet in uvajanje novih raziskovalnih metod, ki bi brez tako velikih kapacitet ne bile dosegljive.

Tipični načini uporabe

Zahtevna obdelava podatkov

Najpogostejši razlogi za uporabo tehnologije grid so računsko zahtevna obdelava podatkov, obdelava zelo velikih količin podatkov ali delo z razpršenimi podatki.

V vseh teh primerih je pomembno, da mora biti mogoče računsko nalogo razdeliti na večje število podnalog, ki se lahko izvajajo vzporedno, in podatke razdeliti na komponente, ki so shranjene ločeno, kajti sicer ni mogoče izkoristiti moči grida, ki je po naravi razpršen.

V primeru računsko zahtevne naloge se grid obnaša kot virtualna gruča ali virtualen superračunalnik, ki dolgotrajno računsko operacijo namesto zaporedno izvede vzporedno na velikem številu računalnikov. Uporabnik mora prilagoditi svoj algoritem in podatke za paralelno izvajanje aplikacije (paralelizacija) ter program prilagodit za uporabo vmesniške programske opreme grid. To glede na možnosti, ki jih ponuja posamezna implementacija ali orodja posamezne virtualne organizacije, lahko pomeni uporabo spletnega vmesnika ali ukazov na ukazni vrstici, ki v nastavitveni datoteki preberejo opis naloge za grid. Ko grid sprejme nalogo, spletni vmesnik prikazuje trenutno stanje naloge in po uspešno izvedenem postopku omogoči dostop do rezultatov. Uporabnik lahko preverja potek naloge in dostopa do rezultatov tudi preko ukazne vrstice.

V primeru naloge, ki je zahtevna zaradi velike količine podatkov, je postopek s strani uporabnika podoben. Grid mu daje možnost, da shrani podatke razpršeno po podatkovnih shrambah grida in da izvaja računske operacije v bližini podatkov, ki jih obdeluje, tako da je dostop do podatkov lokalen.

Kadar gre za primer dostopanja do razpršenih podatkov, je pomembno, da grid preko metapodatkovnih servisov in virtualnih organizacij omogoča iskanje posameznih podatkov in natančen nadzor nad dostopom do podatkov. To je zlasti pomembno pri aplikacijah, kakršne so npr. medicinske, kjer sta osrednja problema varstvo podatkov in veliko število razpršenih podatkov.

Predstavitev računalniških centrov

Dostopnost