Grid computing je nov² termφn, s nφm₧ se dnes m∙₧eme setkat na prezentacφch v∞tÜiny velk²ch hardwarov²ch firem. Vizionß°i t∞chto firem pod nφm vidφ novou infrastrukturu, kterß od zßkladu zm∞nφ zp∙sob, jak²m p°em²Ülφme o poΦφtaΦφch.
Zßkladnφ myÜlenkou gridu je spojenφ vφce poΦφtaΦ∙ do jednoho systΘmu, kter² je schopen nabφzet sv∙j v²poΦetnφ v²kon mnoha u₧ivatel∙m. Je to, jako byste seΦetli procesorovΘ takty vÜech poΦφtaΦ∙ a vyu₧φvali je potΘ prßv∞ tam a v tom Φase, jak je pot°eba. Ji₧ dnes se m∙₧eme setkat s podobn²mi systΘmy, kdy je vyu₧ito mnoha poΦφtaΦ∙ k dosa₧enφ velkΘho v²konu (klastry).
Nejvφce u₧ivatel∙ grid∙ najdeme v aplikovanΘ v∞d∞, nap°φklad v genovΘm in₧en²rstvφ, bioin₧en²rstvφ a ve v²voji nov²ch lΘk∙. V automobilovΘm pr∙myslu se gridy vyu₧φvajφ p°i simulaci bariΘrov²ch a nap∞¥ov²ch test∙ Φi p°i modelovßnφ proud∞nφ, v²voj elektronick²ch souΦßstek je pou₧φvß p°i simulacφch a ov∞°ovacφch testech a p°i zp∞tnΘm in₧en²rstvφ. Zßbavnφ pr∙mysl vyu₧φvß grid∙ p°i animaci a renderingu film∙ a t∞₧a°sk² pr∙mysl p°i vizualizaci a anal²ze k hledßnφ nov²ch naleziÜ¥. SoftwarovΘ firmy pou₧φvajφ gridy p°i sestavovßnφ k≤du a v∞deck² v²zkum p°i v²poΦtu ·loh s velk²mi v²poΦetnφmi nßroky (HPC - podrobn∞jÜφ Φlßnek o problematice HPC a grid∙ najdete na Chip CD). Dnes se m∙₧eme setkat se t°emi typy grid∙:
* Dobrovoln² - vlastnφk poΦφtaΦe souhlasφ s vyu₧itφm svΘho stroje v gridu. Nainstaluje si na n∞j program, kter² m∙₧e v okam₧icφch, kdy on poΦφtaΦ nepou₧φvß, poΦφtat distribuovanΘ ·lohy. P°φkladem takovΘho projektu je nap°φklad program SETI@home.
* Sdφlen² - administrßtor poΦφtaΦ∙ nainstaluje na jφm spravovanΘ stroje program, kter² umo₧nφ vyu₧φvat tyto stroje v dob∞, kdy je jejich u₧ivatelΘ nevyu₧φvajφ. P°φkladem mohou b²t univerzitnφ poΦφtaΦe, kterΘ p°es den slou₧φ pro v²uku a p°es noc poΦφtajφ v∞deckΘ projekty.
* Dedikovan² - skupina poΦφtaΦ∙ urΦenß pouze pro prßci v gridu, kterß je v∞tÜinou centrßln∞ spravovßna. TakovΘ vyu₧itφ najdeme v mnoha v∞deck²ch projektech. Ne pro vÜechny typy ·loh a problΘm∙ je grid to nejlepÜφ °eÜenφ. V dneÜnφ dob∞ najde v gridu nejlepÜφ uplatn∞nφ ·loha, kterß mß spφÜ charakter dßvkov² s mal²m poΦtem transakcφ, kterß vÜak trvß dlouho a p°φpadn∞ umo₧≥uje i b∞h ve vφce vlßknech (viz graf na obrßzku).
Co d∞lß grid gridem
Existuje p∞t nejd∙le₧it∞jÜφch znak∙, podle nich₧ lze urΦit, ₧e danß sφ¥ je gridem:
* Abstrakce v²poΦetnφch zdroj∙ - v okam₧iku, kdy zadßvß ·lohu k v²poΦtu, se u₧ivatel nemusφ starat o hardwarovΘ adresy a logickß jmΘna jednotliv²ch poΦφtaΦ∙. Mφsto toho nechß ·lohu prost∞ spoΦφtat slu₧bou, kterou grid poskytuje.
* Zam∞°enφ na charakter ·lohy - p°i zadßvßnφ ·lohy se °eÜφ jejφ systΘmovΘ nßroky, jako je poΦet vlßken, ve kter²ch mß b∞₧et, pop°φpad∞ jejich pam∞¥ovΘ nßroky.
* Centrßlnφ °φzenφ - je asi nejd∙le₧it∞jÜφm bodem celΘho grid computingu. Centrßlnφ sprßva by m∞la umo₧≥ovat p°edevÜφm sledovßnφ a °φzenφ jednotliv²ch ·loh, ale zßrove≥ by m∞la podporovat i sledovßnφ vyu₧itφ jednotliv²ch poΦφtaΦ∙ zapojen²ch v klastru, sledovßnφ zßt∞₧e sφt∞, diskov²ch kapacit atd.
* Identifikace, registrace a dynamickΘ vytvß°enφ v²poΦetnφch slu₧eb - opravdov² grid by m∞l umo₧≥ovat flexibiln∞ p°idßvat dalÜφ uzly klastru za chodu, d∞lat s nimi rekonfiguraΦnφ ·kony a v rßmci zdroj∙, kterΘ obhospoda°uje, by m∞l umo₧nit vytvß°et virtußlnφ v²poΦetnφ slu₧by.
* Koordinace zdroj∙, kterΘ nejsou pod centrßlnφ sprßvou - grid by m∞l um∞t spolupracovat s jin²mi gridy, kterΘ nejsou pod jeho p°φmou sprßvou, a pop°φpad∞ i s gridy, kterΘ jsou od jin²ch v²robc∙.
Prßv∞ tyto vlastnosti se sna₧φ definovat projekty Globus Toolkit a OGSA Open Grid Service Architecture.
Po₧adavky na aplikace a architekturu
Podle typu ·loh, kterΘ bude grid poΦφtat, je t°eba uvß₧it, jakΘ poΦφtaΦe se budou pou₧φvat, jak² operaΦnφ systΘm na nich pob∞₧φ, pomocφ kter²ch program∙ se budou ·lohy poΦφtat, jak²m modelem se budu distribuovat ·lohy a jakΘ po₧adavky budou ·lohy mφt na datovΘ ·lo₧iÜt∞ a I/O. Na zßklad∞ odpov∞dφ na tyto zßkladnφ otßzky vznikajφ dalÜφ po₧adavky: na dynamickou alokaci pam∞tφ, na zßt∞₧ sφt∞ a na dobu pot°ebnou pro v²poΦet. M∞ly by takΘ b²t k dispozici v²konnostnφ charakteristiky a referenΦnφ benchmarky pro danΘ typy ·loh, aby bylo mo₧no urΦit budoucφ charakter vyu₧itφ v²poΦetnφch zdroj∙. P°i budovßnφ gridu nesmφme zapomenout ani na po₧adavky plynoucφ z typu ·loh, jako jsou po₧adavky na poΦφtßnφ zßvisl²ch ·loh a na °φzenφ priorit, co₧ znamenß, ₧e n∞kterΘ ·lohy mohou b²t v gridu poΦφtßny p°ednostn∞. D∙le₧itß je takΘ mo₧nost spravovat v²poΦetnφ data a mo₧nost zastavovat a znovu spouÜt∞t ·lohy (checkpointing).
P°i budovßnφ infrastruktury gridu musφme °eÜit stejnΘ problΘmy jako p°i budovßnφ jakΘkoliv jinΘ infrastruktury. Musφme zabezpeΦit tyto po₧adavky:
* Dostupnost - m∞li bychom v∞d∞t, jak² bude mφt dopad v²padek celΘho systΘmu, pop°φpad∞ jak ovlivnφ v²padek jednoho uzlu b∞h individußlnφ ·lohy. Musφme pamatovat i na "okno" pro ·dr₧bu.
* èkßlovatelnost - m∞li bychom mφt p°ipravenou strategii r∙stu na t°i a p∞t let. M∞li bychom znßt odpov∞∩, jak se bude systΘm vyrovnßvat s v²konov²mi maximy. Sprßva systΘmu - d∙le₧itΘ je v∞d∞t, jak²m zp∙sobem budeme spravovat a konfigurovat jednotlivΘ Φßsti systΘmu i cel² systΘm.
* BezpeΦnost - z bezpeΦnostnφch problΘm∙ jsou nejd∙le₧it∞jÜφ otßzky t²kajφcφ se u₧ivatelskΘ autentikace internetovΘho p°φstupu bezpeΦnosti dat.
* Sprßva dat - m∞li bychom znßt odpov∞di na hardwarovΘ otßzky (typy polφ a disk∙ a jejich p°ipojenφ) i na otßzky softwarovΘ (volume, souborovΘ systΘmy).
* Pou₧itelnost - nesmφme zapomφnat ani na u₧ivatelskΘ rozhranφ, kterΘ mnohdy hraje nejd∙le₧it∞jÜφ roli v hodnocenφ pou₧itelnosti celΘho systΘmu.
* DalÜφ technickΘ po₧adavky - mezi n∞ pat°φ i po₧adavky na klimatizaci, na p°φvod elektrickΘ energie, na zabezpeΦenφ a prosφ¥ovßnφ infrastruktury.
P°i implementaci je vhodnΘ °φdit se osv∞dΦen²mi praktikami t²kajφcφmi se kvality slu₧eb. Je dobrΘ mφt model, kter² definuje ·rove≥ dostupnosti jednotliv²ch slu₧eb, a mφt k dispozici i automatizovanΘ metody pro instalaci. P°φkladem v Linuxu m∙₧e b²t Kickstart, FAI (Fully Automated Install) nebo Systemimager.
Nesmφme zapomφnat ani na u₧ivatelskΘ rozhranφ. V unixovΘm sv∞t∞ je velmi oblφben²m a mocn²m nßstrojem p°φkazovß °ßdka. GrafickΘ u₧ivatelskΘ rozhranφ je takΘ velmi rozÜφ°enΘ, hlavn∞ ve sv∞t∞ Windows, ale pomocφ X Server∙ a Java aplikacφ se dnes stßvß univerzßlnφm nßstrojem pro u₧ivatele. Asi nejmodern∞jÜφm a takΘ velmi po₧adovan²m je rozhranφ webovΘ v mnoha p°φpadech grid∙ lze webovß rozhranφ zabudovat do stßvajφcφch portßl∙ v organizacφch.
UrΦit∞ jednou z nejd∙le₧it∞jÜφch Φßstφ gridov²ch systΘm∙ je jejich management. Je nesmφrn∞ d∙le₧itΘ, aby bylo mo₧nΘ sledovat stav a status jednotliv²ch ·loh. Management by m∞l takΘ dokßzat sledovat ·rove≥ zatφ₧enφ jednotliv²ch Φßstφ gridu, a¥ u₧ jde o v²kon jednotliv²ch procesor∙ Φi I/O operacφ na discφch i na sφti. Management ale neznamenß pouze sledovßnφ, m∞l by umo₧≥ovat i dynamicky konfigurovat jednotlivΘ Φßsti celΘho systΘmu.
Zßv∞r
V samostatnΘ panelu jsou uvedeny softwarovΘ produkty, kterΘ °eÜφ n∞kterΘ Φßsti problematiky grid∙. Nutno vÜak podotknout, ₧e univerzßlnφ produkt, kter² by um∞l ·pln∞ vÜe, zatφm nenφ.
Velmi d∙le₧itß je iniciativa GGF (Global Grid Forum) a projekt Globus Toolkit, kterΘ se sna₧φ vyvinout otev°en² standard, jen₧ by dovoloval propojovßnφ r∙zn²ch grid∙ a kter² by umo₧≥oval i snadn² a jednotn² v²voj aplikacφ a ·loh pro gridovΘ systΘmy. Projekt∙ se ·Φastnφ vÜichni hlavnφ hrßΦi v tΘto oblasti (Avaki, Cray, Entropia, Fujitsu, Hitachi, HP/Compaq, IBM, Microsoft, NEC, Platform Computing, Qwest, SGI, Sun, Veridian). Mo₧nß se tedy v budoucnosti setkßme s gridy, kterΘ budou schopnΘ mezi sebou komunikovat a spolupracovat.