2. Célkitűzés
●
Web szolgáltatás orientált szabvány (W3C,
OGSA) implementációkat tartalmazó általános
keretrendszer
●
Konkrét grid szolgáltatások megvalósítása
●
Kicsi egyszerűen telepíthető, kezelhető rendszer
●
több platform, OS támogatása
●
desktopon és szupergépeken is használható
legyen
●
kicsi memória és CPU használat az
erőforrásokon
3. Megoldás
●
Komponensek:
– Python programozási nyelv
– Twisted web alkalmazás keretrendszer
– soappy – SOAP parzer
– pyopenssl – X509 tanúsítványok és TLS kezelése
●
Core rendszer:
– minden szolgáltatás egy dinamikusan betölthető
interfész osztály + backendek
– kommunikációs réteget elrejti a szolgáltatások elöl
– szolgáltatás életciklus kezelés
5. GUG Core
●
gugctl daemon
●
Két speciális szolgáltatás: Manager, Grid
Információs rendszer (GIS)
●
Szálkezelés
●
Manager:
– szolgáltatások életciklus kezelése: leállítás, indítás,
status, hirdetések begyűjtése stb.
– maga is web szolgáltatás -> távoli szolgáltatás
management
●
GIS:
– p2p rendszer a szolgáltatás hirdetések terjesztésére
és keresésére;
– adat és meta adat szétválasztása
– adat bármi lehet
7. GUG szolgáltatások
●
Egyszerű követelmények:
– bármilyen Python osztály lehet
– a konstruktor megkapja: service id, local_gis_url,
konfigurációs állomány neve
– legyen egy get_description függvénye
– _ kezdődő függvények nem hívhatóak SOAP-on
keresztül
– opcionálisan lehet _clean függvénye takarításra
– publikus függvény első argumentuma az
authorizációs információt tartalmazza
●
A get_description a szolgáltatás leírását adja
vissza amit a GIS terjeszt. Bármilyen formátum
lehet. Jelenleg XML használatos
8. Példa szolgáltatás
class Test:
def __init__(self, id, local_gis_url, config):
pass
def _get_description(self, site_id):
return ”””<?xml version='1.0'?>
<ServiceDescription>
<Site>%s</Site>
</ServiceDescription>
””” % site_id
def echo(self, x509, x):
return x
9. GUG szolgáltatások: feladat
végrehajtás
●
SuperScheduler: grid (opcionálisan klaszter)
szintű ütemezés
– OGSA BES interfész, OGSA JSDL feladat leíró
– moduláris erőforrás és döntéshozási interfész
●
Job Controller: egységes interfész a különféle
helyi erőforrás kezelő rendszerekhez (Condor,
LSF, PBS, stb.)
– OGSA BES interfész, OGSA JSDL feladat leíró
– nem ütemez
●
Exec: SMP gépen programvégrehajtás
– architektúra függő modulok
13. GUG szolgáltatások
●
Fordítás: a gridben elérhető összes
architektúrára lefordítja az alkalmazást és
előkészíti a feladat végrehajtásra
●
Virtuális szervezetek (VO): minden feladat,
felhasználó, szolgáltatás egy vagy több VO-nak
tagja. A VO határozza meg az hozzáférési
jogosultságokat. A tagságot tagsági
igazolvánnyal igazolja
●
Elosztott katalógus
●
Elosztott adattárolás: storage manager (StM),
storage controller (StC)
●
Állomány megosztás
14. Hova tovább?
●
Túlléptünk hagyományos grid kereteken.
●
Intézményi szinten is használható
szolgáltatások
●
grafikus/web felhaszálói interfész
●
Új probléma: elosztott szolgáltatás
management
●
Ipari bevezetés
●
http://gug.grid.niif.hu,
http://www.sourceforge.net/projects/gug