Rács számítások

A Wikipédiából, a szabad enciklopédiából

A rács számítások (angolul: grid computing) vagy elosztott számítás és adattárolás vagy csak grid) az elosztott számítások egy olyan változata, amelynek több jelentése is lehet:

  • Több független számítógépfürt, amelyek azért viselkednek gridként, mert több adminisztratív tartományban elhelyezett erőforrásból állnak.
  • Mérhető kereskedelmi számítási vagy adattárolási szolgáltatás, ismertebb nevén közműszerű számítás vagy számítási felhő (cloud computing).
  • Egy „virtuális szuperszámítógép”, amely egy szervezeten belüli szabad erőforrásokból áll.
  • Egy „virtuális szuperszámítógép”, amely földrajzilag elosztott számítógép-hálózatból áll. Az önkéntes számítás, amely elsősorban a tudományos, matematikai és kutatói problémákra fókuszál, napjainkban a leggyakoribb alkalmazása e technológiának.

A számos különböző definíció együttesen fedi le az "elosztott számítás” fogalmát, és néha előfordul, hogy két különböző kifejezést szinonimaként használják. Ez az írás azokra az elosztott számítási technológiákra fókuszál, melyek különböznek a hagyományos, dedikált fürtökből. (Egyébként lásd: számítási fürtök.)

Funkcionálisan többféle rács számítást különböztetünk meg:

  • Számítási grid (beleértve a CPU-idő-gyűjtő grideket is), amely a nagy számításiidő-igényű feladatok végrehajtására koncentrál.
  • Adatgridek, vagy más néven olyan rendszerek, amelyek nagy mennyiségű adat felügyelt elosztására és menedzselésére képesek.
  • Speciális erőforrásokat tartalmazó gridek, amelyhez egy saját erőforrás tartozik (például teleszkóp), és ahol a gridet arra használják, hogy távolról vezéreljék, illetve feldolgozzák az általa szolgáltatott adatokat.

2007 folyamán a számítási felhő fogalma egyre népszerűbbé vált. Ez nagyon hasonlít Ian Foster „gridszámítás”-definíciójához. A gyakorlatban minden számítási felhő egyben grid, de nem minden grid menedzselhető „felhőszerű” módon.

A Virtuális Szervezetek különálló és egymással átfedésben lévő erőforrások halmazát érik el

Gridek vs. hagyományos szuperszámítógépek[szerkesztés | forrásszöveg szerkesztése]

Az "elosztott" vagy "grid" számítás általánosságban a párhuzamos feldolgozás egy speciális típusa, amely hagyományos hálózati interfészen (például Ethernet) keresztül (privát vagy publikus) hálózat segítségével összekapcsolt önálló (saját CPU-val, adattárolóval, tápegységgel, hálózati interfésszel stb. rendelkező) számítógépek segítségével történik. Szemben a hagyományos szuperszámítógép rendszerekkel, amelyek processzorai nagysebességű, belső busz-rendszeren keresztül kapcsolódnak egymáshoz.

Az elosztott számítástechnika legnagyobb előnye, hogy minden csomópontja kizárólag olyan, könnyen beszerezhető elemekből áll, amelyek megfelelő kombinálásával egy sokprocesszoros szuperszámítógép teljesítményével egyenértékű számítási erőforrást kapunk, azok árának töredékén. Ennek oka az, hogy a viszonylag alacsony sorozatszámban gyártott szuperszámítógépek tervezési és előállítási költségei relatíve magasabbak a rendkívül hatékony tömegtermelésben előállított PC-architektúrájú gépek hasonló költségéhez képest. A hátránya ugyanakkor az, hogy a különböző processzorok és a helyi adattároló területek nem rendelkeznek nagy teljesítményű összeköttetésekkel, így a megoldást elsősorban azok az alkalmazások tudják jól kihasználni, amelyek a számítási feladatot több párhuzamosan futó szálon, a szálak között keveset kommunikálva végzik.

A nagy földrajzi skálázhatóság a grid rendszerek esetén nagyon előnyös, annak következtében, hogy minimális igény van arra, hogy a csomópontok között nagy sávszélességű kapcsolat létezzen. A hagyományos szuperszámítógépek szintén nagy kihívást jelentenek a szükséges elektromos áram és hűtés biztosítása tekintetében. A szuperszámítógépek és gridek együtt is használhatók összetett párhuzamos számítások szimultán futtatására, ahol a számítási feladatok lehetnek ugyanazon projekthez tartozó részfeladatok, vagy teljesen különböző alkalmazások egyaránt. A két különböző infrastruktúra, eltérő programozási metodikát igényel.

A szuperszámítógépek és a grid rendszerek között programozás és a telepítés tekintetében is van különbség. Költséges és nehézkes lehet például olyan programokat írni, melyek olyan szuperszámítógépes környezetben futhatnak, ahol speciális operációs rendszer fut, vagy a rendszer megköveteli azt, hogy a konkurens hozzáférés problémájával is foglalkozzunk. Ha egy probléma kielégítően párhuzamosítható, akkor egy vékony grid szoftver réteg lehetővé teszi azt, hogy egymástól független programok fussanak több gépen, más-más bemeneti adathalmazt feldolgozva. Ez teszi lehetővé azt, hogy az alkalmazást hagyományos gépen fejlesszük, leegyszerűsítve ezáltal a konkurens memóriahozzáférés kezeléséből adódó problémákat.

Tervezési megfontolások és változatok[szerkesztés | forrásszöveg szerkesztése]

A grid jellegzetessége, hogy több egyénhez, vagy szervezethez (szervezeti egységhez) tartozó számítási erőforrásból alakítható ki. Ez a tény elősegítheti a közműszerű számítási infrastruktúrák létrehozását, vagy megkönnyítheti az önkéntes számítási hálózatok kialakítását.

Az elosztott jellegnek egy lényeges hátránya azért van: azok a számítógépek, amelyek a számítási feladatokat elvégzik, nem feltétlenül megbízhatóak. Ezért a rendszer tervezőinek olyan tervezési szempontokat is figyelembe kell venni, amelyek segítségével megakadályozható az hogy az hibásan működjön, vagy rosszindulatú felhasználók hamis, félrevezető, illetve hibás eredmények segítségével, a rendszert támadási bázisul használják. Ezt gyakran például úgy érik el, hogy ugyanazt a feladatot legalább két, véletlenszerűen kiválasztott (vélhetően különböző személyek által menedzselt) csomóponton futtatják és ellenőrizik, hogy a két futtatás ugyanazt az eredményt produkálják-e. E módszerrel a hibás csomópontok, illetve a hibák azonosíthatóak.

A hardver elemek központi menedzsmentjének hiánya miatt nem lehet garantálni, hogy a csomópontok nem fognak kiesni a hálózatból. Néhány csomópont típus (például laptopok vagy modemen keresztül elérhető gépek) elméletileg felhasználhatók számítási feladatokra, de a hálózati kapcsolatuk esetlegessége miatt nagyobb mennyiségű munkát kell rájuk ütemezni, és amennyiben a várható határidőn belül nem érhetők el a futtatás eredményei, az általuk végzett feladatokat más erőforrásokon kell elindítani.

A megbízhatóság, a teljesítmény, a rendelkezésre állás, illetve az alkalmazások fejlesztésével kapcsolatos nehézségek mind hatással lehetnek arra a döntésre, hogy a számítás-igényes alkalmazásokat egy dedikált fürtön futtatjuk, vagy részben dedikált, de saját erőforrásokon, vagy netán az Internet segítségével, önkéntes hozzájárulók által biztosított erőforrásokon.

Sok esetben a résztvevő csomópontoknak meg kell bízniuk egy központi rendszerelemben, hogy az onnan érkező grid alkalmazások nem fognak visszaélni a számukra adományozott jogosultságokkal, nem fognak más helyi programmal interferálni, nem fognak privát adatokat a számítási erőforrásról kijuttatni, illetve nem hoznak létre helyben új biztonsági lyukakat. Néhány rendszer nem igényli ezt a feltétlen bizalmat; ezek azok, amelyek virtualizációs technikát alkalmazva szeparálják a feladat futtatókörnyezetét a privát rendszerkörnyezetüktől.

Publikus rendszerek, vagy egy adott szervezeten belül több szervezeti egységen átívelő gridek esetén szükségük lehet arra, hogy heterogén környezetet (különböző operációs rendszerek és számítógépes architektúrák) is kezeljünk. Sok esetben kompromisszumot kell kötnünk a futtatandó alkalmazás fejlesztési költsége és operációs rendszerkörnyezet támogatottsága között. Ebben segít az ún. scripting nyelvek használata, amely segítségével platformfüggetlen alkalmazásokat lehet írni, bár a futásidejű fordítás, illetve a nyelv optimalitásának hiánya miatt azok néhány platformon teljesítményveszteséget okozhatnak.

A különböző köztesréteg fejlesztési projektek egyrészt olyan általános infrastruktúrát készítettek, amelyek lehetővé teszik a bennük foglalt erőforrások tudományos és ipari célú használatát, másrészt azt is lehetővé teszik, hogy segítségükkel új grid infrastruktúrákat építsünk fel. A BOINC egy a népszerű akadémiai projektek közül, amely önkéntesek segítségével épül (kapcsolódást lásd a lap alján).

CPU-gyűjtés[szerkesztés | forrásszöveg szerkesztése]

CPU-gyűjtés, ciklusidő-gyűjtés, ciklusidő lopás vagy megosztott számítás. E kifejezések mindegyike arra az elvre utal, ahogy egy szervezet vagy az internet más (például irodai) célra felhasznált erőforrásait aknázzuk ki számítási célokra is. Ez a módszer tipikusan asztali számítógépek erőforrásait alkalmazza olyankor, amikor egyébként kihasználatlanok maradnának. Például: este, ebéd alatt, hétvégén, vagy amikor nincs a gép előtt a felhasználó.

Az önkéntes számítási projektek kizárólag ezt a CPU gyűjtési modellt használják.

A gyakorlatban a részt vevő számítógépek a CPU-felhasználási lehetőségen túl lemezterületet, RAM-ot és hálózati sávszélességet is nyújtanak. A csomópontoknak időről időre fel kellett függeszteniük saját működésüket, hogy az erőforrásokat eredeti rendeltetésük szerint is használhassák, így már a modell megtervezésekor fel kellett készíteni az alkalmazásokat, illetve magát a rendszert is az ebből adódó kiesésekre checkpointing (ellenőrzőpontozás) segítségével.

Történet[szerkesztés | forrásszöveg szerkesztése]

A Grid számítás 1990-es évekből eredeztethető. A "The Grid: Blueprint for a new computing infrastructure" című cikkében Ian Foster és Carl Kesselman alkotta meg, az elektromos áramhoz hasonlatos módon, könnyen hozzáférhető számítási erőforrás metaforájaként.

A distributed.net 1997 elején, a SETI@home 1999-ben tette népszerűvé a felesleges CPU idő gyűjtését valamint az önkéntes számítást támogató technológiáit, amelyek képesek voltak hálózatba kötött számítógépek feldolgozó-kapacitását CPU-intenzív feladatok megoldása is használni.

A grid nagy vívmányai (idetartozik az elosztott számítás, objektum orientált programozás, fürt számítástechnika, webszolgáltatások és sok más) Ian Foster, Carl Kesselman és Steve Tuecke nevéhez fűződnek, akiket sokan a grid technológia atyjainak tekintenek.[1] Közös erővel készítették el a Globus Toolkit rendszert, amely egyesíti a számítási-képességet, a tárolási erőforrás menedzsmentet, biztonsági szolgáltatásokat, adat mozgatást, monitorozást és egy olyan eszközkészletet, amely további szolgáltatások fejlesztését teszi lehetővé ugyanazon a infrastruktúrán. Ez magába foglalja a tárgyalási mechanizmust, trigger szolgáltatásokat és az információgyűjtés lehetőségét. A Globus Toolkit vált a grid fejlesztés defacto szabványává. Ugyanakkor ma már számos egyéb eszköz is elérhető az iparban, vagy a globális gridek terén felmerülő igények kielégítésére.

A világ leggyorsabb virtuális szuperszámítógépei[szerkesztés | forrásszöveg szerkesztése]

Aktuális projektek és felhasználási területek[szerkesztés | forrásszöveg szerkesztése]

A grid rendszerek lehetőséget biztosítanak arra, hogy segítségükkel Nagy Kihívásokat oldjunk meg, mint például fehérje dokkolási kísérletek, vagy pénzügyi modellezés, földrengés szimuláció, és klíma / időjárás modellezés. Gridek segítségével egy szervezeten belül hatékonyabban használhatjuk ki az információs technológia nyújtotta erőforrásokat is, amelyek így közműszerű számítási erőforrásként érhetők el kereskedelmi ügyfelek és kutatók számára. A felhasználók, az áram- és vízszolgáltatáshoz hasonlóan, csak a ténylegesen igénybe vett szolgáltatásért fizetnek.

A grid számítás alapelveit a National Science Foundation National Technology Grid-je, a NASA's Information Power Grid-je, a Pratt & Whitney, a Bristol-Myers Squibb, Co., és az American Express [forrás?] jelenleg sikeresen használja.

A leghíresebb szabad CPU-gyűjtő hálózat a SETI@home, amely több mint 3 millió számítógépet kapcsol össze: tartósan 23,37 teraflops (élete alatt eddig összesen 979 teraflop) számítási teljesítményt eredményezve 2001. szeptember óta [3].

2005 májusában a Folding@home 186 teraflop teljesítményt hozott össze 160 000 gép felhasználásával.

Egy másik ismert projekt a distributed.net, amely 1997-es indulását követően vált rendkívül sikeressé. Sok sikeres alkalmazói projekt is fűződik a nevéhez.

A NASA Advanced Supercomputing facility (NAS) kb. 350 Sun és SGI munkaállomáson Condor cycle scavenger felhasználásával genetikus algoritmusokat futtatott.

2007. április 27-ig a United Devices működtette a Grid MP nevű termékén alapuló, rákkutatás témájú United Devices Cancer Research Projectjét, amely az Internethez csatlakozó önkéntesek szabad erőforrásaival gazdálkodott. 2005 júniusáig a Grid MP körülbelül 3 100 000 számítógépen futott. [4].[4]

Az Európai Unióban született Enabling Grids for E-sciencE, amely ma már számos Ázsiai, az Egyesült Államokbeli csomópontot is tartalmaz, és amely a szintén európai European DataGrid (EDG) nevű projekt folytatása, a Föld legnagyobb számítási hálózata. Az LHC Computing Gridet a [4] (LCG) számára fejlesztették ki abból a célból, hogy a CERN-ben folyó Large Hadron Collider kísérletekhez használják fel. A mérések során keletkező igen nagy mennyiségű, másodpercenkénti néhány gigabyte méretű adatot kell feldolgoznia. Az aktív LCG site-ok listája megtalálható a http://goc.grid.sinica.edu.tw/gstat/ weboldalon. Az EGEE infrastruktúrát élőben itt lehet monitorozni. A fontosabb szoftver komponensek és azok dokumentációi is publikusak.[5]

Definíciók[szerkesztés | forrásszöveg szerkesztése]

A “Grid számítás” fogalmára nagyon sok definíció létezik:

  • Ian Foster "What is the Grid? A Three Point Checklist"[6] című cikkében, az alábbi három követelményt határozza meg:
  • Plaszczak/Wellner[7] a grid technológiát a következőképpen definiálja: "Az a technológia, amely erőforrás virtualizációt, szolgáltatás (erőforrás) megosztást tesz lehetővé szervezetek között."
  • Az IBM a grid számítást az alábbi módon értelmezi: "Nyílt szabványok és protokollok alkalmazása azért, hogy alkalmazásokat, adatokat, adattárolási kapacitást és számos más számítógépes erőforrást érjünk el az Interneten keresztül." A grid egy párhuzamos és elosztott rendszer amely több szervezeten átívelve megoszthatóvá, kiválaszthatóvá teszi, és összegyűjti az elosztott erőforrásokat, a következő igényeket tartva szem előtt: elérhetőség, kapacitás, teljesítmény, ár és a felhasználók szolgáltatás minőségi igényei.[8]
  • A számítási fogalmak egy korai közműszerű értelmezése 1965-ból, Fernando Corbatótól (MIT) származik. Fernando és a Multics operációs rendszer néhány más tervezője megálmodták a számítógép egy, az áramszolgáltatókhoz vagy vízszolgáltatókhoz hasonlóan működő számítógép közművet. http://www.multicians.org/fjcc3.html
  • Buyya úgy definiálta a gridet mint egy "párhuzamos és elosztott rendszert, amely lehetővé teszi földrajzilag elosztott autonóm erőforrások elérhetőségen, képességen, teljesítményen, költségen, valamint a felhasználók által elvárt minőségi követelményeken alapuló dinamikus, futásidejű megosztását, kiválasztását, összegyűjtését.[9]
  • A CERN, amely a világ legnagyobb grides felhasználói táborát képviseli, azt mondja A Gridről: "Számítógépes erőforrásokat és adattárolási kapacitásokat az Interneten keresztül megosztani képes szolgáltatás." [10]

A grideket három kategóriába sorolhatjuk: ágazati, vállalati és globális gridek. Ezek közül az első megfelel egy irodában, kezdetben egy csoport által használt erőforrások összességének, mint például egy műszaki osztály összekapcsolt asztali számítógépeinek, egy fürtnek illetve ezekhez kapcsolódó berendezéseknek. Később ez fejlődik tovább vállalati griddé, ahol a nem műszaki alkalmazottak számítógépes erőforrásai is felhasználhatók tárolásra, illetve számításra. A globális grid vállalati és ágazati gridek összekapcsolása lehet, amely felhasználható kereskedelmi és kollaboratív célokra egyaránt.

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Fogalmak és kapcsolódó technológia[szerkesztés | forrásszöveg szerkesztése]

Szövetségek és szervezetek[szerkesztés | forrásszöveg szerkesztése]

Éles környezetben használt gridek[szerkesztés | forrásszöveg szerkesztése]

  • INFN Production Grid [5]
  • UC Grid [6]

Nemzetközi Grid Projektek[szerkesztés | forrásszöveg szerkesztése]

Név Régió Indulás Befejezés Link
Open Middleware Infrastructure Institute Europe (OMII-Europe) Európa 2006. május 2008. május
Enabling Grids for E-sciencE (EGEE) Európa 2004. március 2006. március
Enabling Grids for E-sciencE II (EGEE II) Európa 2006. április 2008. április
Business Experiments in GRID (BEinGRID) Európa 2006. június 2009. november [7]
European Desktop Grid Initative (EDGI) Európán kívüli 2010. június 2012. május [8]
Desktop Grids for International Scientific Collaboration (DEGISCO) Európa 2010. június 2012. május [9]
European Desktop Grid for e-Science (EDGeS) Európa 2008. január 2009. december [10]
International Desktop Grid Federation (IDGF) Európa 2011. január [11]
BREIN Európa 2006. szeptember 2009. augusztus [12]
KnowARC Európa 2006. június 2009. augusztus [13]
Nordic Data Grid Facility Skandinávia és Finnország 2006. június 2010. december [14]
DataTAG Európa és Észak-Amerika 2001. január 2003. január [15]
European DataGrid (EDG) Európa 2001. március 2004. március [16]
BalticGrid Európa 2005. november 2008. április [17]
EUFORIA (EU Fusion fOR Iter Applications) Európa 2008. január 2010. december [18]
European Grid Initative (EGI) Európa 2010. február 2013. december [19]
XtreemOS Európa 2006. június 2010. június [20]

Nemzeti Grid projektek[szerkesztés | forrásszöveg szerkesztése]

  • BELNET Grid, Belgium [21]
  • Hellasgrid (görög) [22]
  • Swiss National Grid Association [23]
  • Swegrid (Svéd Nemzeti Számítóhálózat) [24]
  • RDIG – Russian Data Intensive Grid [25]
  • NorGrid – Norwegian Grid Initiative [26]
  • Rogrid – Romanian Grid Initiative [27]
  • Austrian Grid – Austrian Grid Initiative [28]
  • TR-Grid – Turkish National Grid Initiative [29]
  • Hungrid – Hungarian National Grid Initative [30]

Szabványok és API-k[szerkesztés | forrásszöveg szerkesztése]

Szoftver implementációk és köztesrétegek[szerkesztés | forrásszöveg szerkesztése]

Hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Megjegyzések[szerkesztés | forrásszöveg szerkesztése]

  1. Father of the Grid
  2. [1], 2008. február 26-i adatok alapján
  3. [2], 2007. szeptember 23-i adatok alapján
  4. ^ a b Large Hadron Collider Computing Grid offical homepage
  5. LCG – Deployment
  6. What is the Grid? A Three Point Checklist (pdf)
  7. P Plaszczak, R Wellner, Grid computing, 2005, Elsevier/Morgan Kaufmann, San Francisco
  8. IBM Solutions Grid for Business Partners: Helping IBM Business Partners to Grid-enable applications for the next phase of e-business on demand
  9. A Gentle Introduction to Grid Computing and Technologies (pdf). (Hozzáférés: 2005. május 6.)
  10. The Grid Café – What is Grid?. CERN. (Hozzáférés: 2005. február 4.)

Irodalomjegyzék[szerkesztés | forrásszöveg szerkesztése]

Külső hivatkozások[szerkesztés | forrásszöveg szerkesztése]

Újdonságok és információk[szerkesztés | forrásszöveg szerkesztése]

Portálok és grid projektek[szerkesztés | forrásszöveg szerkesztése]

Grid szimulátorok[szerkesztés | forrásszöveg szerkesztése]

Grid emulátorok[szerkesztés | forrásszöveg szerkesztése]

Cikkek[szerkesztés | forrásszöveg szerkesztése]

Szövetségek és konferenciák[szerkesztés | forrásszöveg szerkesztése]

Elmúlt események[szerkesztés | forrásszöveg szerkesztése]