Párhuzamos és Grid rendszerek (5. ea) metaszámítógéptől a gridig Szeberényi Imre BME IIT <szebi@iit.bme.hu> M Ű E G Y E T E M 1 7 8 2-1 - Hol tartunk? Megismerkedtünk az alapfogalmakkal, architektúrákkal. Egyszerű absztrakciós modellt alkottunk a párhuzamos gépek leírására. Megismertük a párhuzamos programok tervezésének egy módszerét (PCAM). Áttekintettük a hosszútávú ütemezőket. Áttekintettük a fontosabb elosztott fájlrenszereket. - 2 - Elosztott rendszerek reneszánsza Olcsó és teljesítőképes rendszerek elterjedése + Hálózati technológia fejlődése = Nagyméretű elosztott rendszerek, metacomputing GRID - 3 -
Grid koncepció Számítógépek erőforrásainak egy adott cél érdekében összefogott halmaza, melyet a felhasználó egységesen, egy egészként kezelve tud elérni a Grid bármely pontjáról. A Grid szóhasználat szándékosan utal az elektromos hálózatra (power grid). A kezdeti intézményi gridek regionális, nemzeti, ill. világméretű gridekké nőnek, nek, melyek erőforrásait dinamikusan és gazdaságosan lehet elosztani. Adat, számítási és információs gridek. - 4 - Grid hasonlat Mobil Munkaállomás G R I D M I D D L E W A R E Supercomputer, PC-Cluster Spec. erőforr.: Érzékelők, adatgyűjtők Vizualizáció - 5 - Klaszter Felhasználó alkalmazás A felhasználó feladata a környezet komplexitásának leküzdése, átlátása független telephelyek független harver-szoftver különböző azonosítók és módszerek lokális kapcsolat a gépekkel Hálózat Site A Site B - 6 -
Metaszámítógép Felhasználó alkalmazás Az alkalmazott absztrakciós réteg eltakarja az elosztott környezetből adódó problémák egy részét, de még számos korlátozás létezik. Hálózat Központi ütemező és fájl kiszolgáló Metacenter: Két vagy több erőforrás felügyelete Korlátok: közös architektúra közös névtér közös ütemező közös biztonság Site A Site B - 7 - Korai Grid redszerek Felhasználó almalmazás Közös köztesréteg Inf. kérés Válasz Döntés és submit. Grid köztesréteg Olyan API, ami nagyban leegyszerűsíti a fejlesztő és felhasználó feladatát, de még nem intelligens. - közös interfész - közös protokollok - közös szolg. - egyedi biztonság - autonómia (site) Hálózat Site A Site B - 8 - Mai Gridek Felhasználó alkalmazás Intelligens köztesréteg Grid köztesréteg Az erőforrások intelligens API-kon keresztül érhetők el. Hálózat Intelligens köztesréteg automatikus erőforrás allokáció erőforrás bróker felhasználói azonosítótól független Rugalmas: webszolgáltatás alapú Site A Site B - 9 -
Általános Grid model Erőforrás biztosítás Intézet 1 Intézet 4 Intézet 2 Internet Intézet 3 Erőforrás igénylés - 10 - A Grid két szereplője Erőforrás donorok= D Erőforrás felhasználók = U A kettő aránya meghatározza az alkalmazott Grid modelljét: if U ~ D Általános Grid modell if U >> D utility Grid modell if U << D desktop Grid modell - 11 - Az általános modell komplikált Végtelen használati minta Különböző célú biztonsági megfontolások Valós idejű információs rendszer Komplex könyvelési és teljesítmény kiegyenlítő rendszer Flexibilisen programozható architektúra Az egyszerűsítésekből az alábbi két irányzat született Utility gridek Desktop vagy volunteer gridek - 12 -
Utility Grid modell Erőforrás biztosítás statikus 7/24 Intézet 1 Donor és felhasználó Intézet 2 Donor és felhasználó Internet Felhasználó N Felhasználó 1 Dinamikus erőforrás igények - 13 - A Utility Gridek jellemzői A donorok profi erőforrás biztosítók (7/24 órás üzemmód) Egyszerűsítés Hasonló erőforrások Egyszerűsítés Mindenki használhatja az erőforrásokat saját problémáinak megoldására Aszimmetrikus kapcsolat a donorok és felhasználók között U >> D - 14 - Utility Grid példa: EGEE > 260 sites 50 országban ~ 102 000 CPUs ~ 600 PB tárkapacitás 150k feladat/nap > 200 Virtuális Szervezet glite middleware - 15 http://www.eu-egee.org/
Innen indult 2002-ben http://www.cern.ch LHC ~9 km SPS CERN - 16 - Hadron ütköztető 10 Petabytes évente Adatok kezelése, feldolgozása kb. százezerszer nagyobb számítási teljesítményt igényel, mint a mai processzorok teljesítmények! Mont Blanc (4810 m) Downtown Geneva - 17 - Egyik kísérlet (CMS) detektora - 18 -
Példa2: Open Science Grid http://www.opensciencegrid.org/ 30 Virtuális Szervezet 105 Erőforrás donor 26 Támogató szervezet Middleware: Virtual Data Toolkit (VDT): A Grides eszközök egy gyűjteménye Condor Globus VO Management Service - 19 - Alkalmazások Alkalmazás csoportok Alkalmazás támogatás Általános Grides szolgáltatások Köztes réteg szolgáltatások Helyi erőforrások A Utility Gridek architektúrája Eszköz Elemzés & Együtt- Probléma Grid menedzsm. Vizualizáció működés megoldás Portálok MPI CONDOR CORBA JAVA/JINI Információ szolgáltatás I s Erőforrás Ütemezés Adat hozzáférés Erőforrás menedzsment Együttes lefoglalás Hitelesítés Hozzáférés Monitorozás OLE DCOM Hiba menedzsment Egyéb Politika Könyvelés Erőforrás menedzsment CPU TB-os Tárkapacitás Online tár Tudományos műszerek Kommunikáció - 20 - Virtuális szervezetek és a Grid Grid: Erőforrás, ami a köztesréteg egy verzióját futtatja VO: A siteok és felhasználók egy logikai csoportja Biztonsági politika Dinamikus? Atlas VO 10 éve WISDOM kihívás néhány hét Virtuális Szervezetek Grid - 21 -
Vállalati / Egyetemi Szerver Alkalmazás Desktop Grid modell Dinamikus erőforrás biztosítás Internet Donor: Vállalat / Egyetem / privát PC Donor: Vállalat / Egyetem / privát PC Software disztribúció Donor: Vállalat / Egyetem / privát PC - 22 - A Desktop Grid modell jellemzői Akárki adhat hozzá erőforrást Heterogén erőforrások, melyek dinamikusan be és kilépnek. Egy vagy kevés projekt használhatja az erőforrásokat Az erőforrások klienseket futtatnak: Hozzáértés csak szerver oldalon szükséges Aszimmetrikus reláció a donorok és felhasználók között: U << D Előny: Egy PC hozzáadása egyszerű Installálni, karbantartani egy DG szervert sokkal egyszerűbb - 23 - Desktop Gridek típusai Global Desktop Grid Célja hogy hatalmas erőforrásokat gyűjtsön össze tudományos kihívások megoldására Példa: BOINC (SETI@home) Local Desktop Grid Célja, hogy egyszerűen összegyűjthetővé tegye a közeli erőforrásokat (vállalat, egyetem,.) - 24 -
SETI: a globális Desktop Grid SETI@home 3.8M felhasználó 226 országban 1200 CPU év/nap 38 TF teljesítmény Nagymértékben heterogén: >77 különböző processor típus Az infrastruktúra elkülönített az alkalmazástól: BIONC - 25 - További DG projektek LHC@home Docking@home DrugDiscovery@home - 26 - Konklúziók Az általános Grid modell jó, de nehezen implementálható A gyakorlati megoldás az egyszerűsítés: Utility grids Desktop grids Mindkét fajtából létezik működőképes megvalósítás EGEE, EGI, US OSG, NorduGrid, UK NGS BOINC A továbbiakban UTILITY gridekkel foglalkozunk - 27 -
Globus megközelítés Egy toolkit és számos szerviz, ami az általános feladatok megoldását segíti. (Bag of services model) Domainek közötti megoldás (Integration of intra-domain solutions) Helyi és globális szervizek IP hourglass model - 28 - Technikai megközelítés Erősen támogatja az inkrementális fejlesztést. Számos programozási modellt és eszközt támogat Kis teszt-környezetektől a nagy nemzetközi rendszerekig jól skálázható Alapvetően a felhasználók igényei szerint fejlődik - 29 - Homokóra modell Az alapvető architektúra/infr. kialakítását segíti Számos alap-szerviz Domain specifikus megközelítés A kialakítás alapelvei Alacsony költségek Helyi felügyelet Adaptációk támogatása A p p l i c a t i o n s Diverse global services Core Globus services Local OS - 30 -
Réteges szerkezet Applications GlobusView High-level Services and Tools Testbed Status DUROC MPI MPI-IO CC++ Nimrod/G globusrun Nexus Gloperf Metacomputing Directory Service Core Services Globus Security Interface Heartbeat Monitor GRAM GASS Condor LSF MPI Easy NQE Local Services AIX TCP Irix UDP Solaris - 31 - Fő komponensek GRAM: Globus Resource Allocation Manager Processzek létrehozása a távoli erőforrásokon MDS: Metacomputing Directory Service Gépnevek és GRAM erőforrások összerendelése GSI: Grid Security Infrastructure Authenikácó és authorizáció GASS: Global Access to Secondary Storage Háttértár kezelése - 32 - GRAM és a helyi ütemezők kapcs. globus-job-run gatekeeper gatekeeper gatekeeper GRAM jobmanager jobmanager jobmanager fork LSF LoadLeveler P1 P2 P1 P2 P1 P2-33 -
Grid biztonság Biztonság alatt sokszor eltérő dolgokat értünk: Azonosítás/Fejlogosítás/Jogok delegálása Az alkalmazást futtató felhasználó ne tudja jogosulatlanul használni az erőforrásokat Alkalmazás és köztesréteg biztonság Az alkalmazásokban való bizalom Köztesrétegben való bizalom Adatbiztonság A rendszerbe bevit/keletkező adatok csak a jogosultak számára legyenek elérhetők Az adatátviteli csatornák ne "csöpögjenek" - 34 - Miért fontos? Igen jelentős erőforráshalmaz áll jelenleg a felhasználók rendelkezésére: Több mint 102 ezer CPU (core) Jelentős sávszélesség 600 petabyte tároló - 35 - Azonosítás, feljogosítás, Azonosítás: valóban az-e akinek mondja magát X.509 tanúsítvánnyal történik analógia: személyi igazolvány Feljogosítás: mely erőforrásokat használhat komplex elosztott rendszerrel történik (VOMS) analógia: lista a könyvtárban, hogy mit kölcsönözhetek. - 36 -
Jogok delegálása Delegálás: valaki nevében eljárni X.509 CGSI kiterjesztéssel analógia: megbízzuk a csoporttársat, hogy kölcsönözzön ki v.mit - 37 - XY valóban az-e akinek mondja magát. X.509 tanúsítvánnyal PKI felhasználásával Azonosítás Name Issuer Public Key Signature John Doe 755 E. Woodlawn State of Urbana IL 61801 Illinois Seal BD 08-06-65 Male 6 0 200lbs GRN Eyes - 38 - Azonosítás problémái Melyik aláíró tanúsítványát fogadjuk el? Hogyan lehet meggyőződni, hogy tényleg az övé Mi történik, ha ellopják, vagy elveszik a tanúsítvány? Honnan tudom, hogy nem másolták le és ez csak egy másolat (hamisítvány) - 39 -
Mit tehet, mit vehet igénybe? erőforrás specifikus seite-onként eltérő lehet virtuális szervezetek Feljogosítás - 40 - Azonosítás, feljogosítás user high frequency low frequency user cert (long life) voms-proxy-init proxy cert (short life) registration authz cert (short life) CA CA CA crl update VO-VOMS VO-VOMS VO-VOMS VO-VOMS host cert (long life) service authentication & authorization info - 41 - Proxy tanúsítvány Rövidlejáratú és korlátozott felhasználású X.509 tanúsítvány Speciális tanúsítvány, amit egy normál végfelhasználó vagy egy másik proxy ír alá- Támogatja a delegációt - 42 -
Proxy tanúsítvány User Certificate Subject DN Public Key Issuer (CA) Digital Signature Identity of the user Proxy Certificate Subject DN/Proxy (new) public key (new) private key (not encrypted) grid-proxy-init Issuer (user) Digital Signature (user) private key (encrypted) sign User Certificate Subject DN Public Key Issuer (CA) Digital Signature - 43 - Delegáció Második szintű proxy tanúsítvánnyal: A távoli szerver generál proxy tanúsítványt egy új privát/publikus kulccsal, amit elküld a klienshez. A kliens aláírja a proxy tanúsítványt és visszaküldi a szervernek. Így a távoli processz a kliens nevében eljárhat. a távoli szerver megszemélyesíti a felhasználót - 44 - Myproxy server Privát kulcs biztonságos tárolására. Általában 1-2 hét a lejárati idő. Képes a tárolt kulcs alapján proxy tanúsítvány meghosszabbítására. hosszú futási idejű jobok myproxy-init, myproxy-logon - 45 -