A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA...

17
A ARC új á ió b ók Az ARC új generács bróker rendszere rendszere Rőczei Gábor 2009 04 16 Rőczei Gábor [email protected] Szeged, Networkshop 2009 2009.04.16.

Transcript of A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA...

Page 1: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

A ARC új á ió b ókAz ARC új generációs bróker rendszererendszere

Rőczei Gábor2009 04 16 Rőczei Gá[email protected], Networkshop 2009

2009.04.16.

Page 2: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetRövid összefoglaló

• KnowARC projekt• Mi is a bróker, miért van rá szükség?!• ARC bróker • Bróker modulok

R d B kRandomBrokerFastestCPUBrokerFastestQueueBrokerDataBroker

• Saját bróker modul fejlesztése: C++, Python nyelveken

Az ARC új generációs bróker rendszere2. oldal

Page 3: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetKnowARC projekt

• 2006-ban indult• Kiemelt Európai Uniós projekt• NorduGrid köztesrétege: Advanced Resource Connector

(ARC)• Web service technológia alkalmazása• Web service technológia alkalmazása• Gridek közti együtműködés: Unicore, gLite, ARC• Szabványok használata (JSDL, OGSA BES, GLUE2, stb.)y ( , , , )

Az ARC új generációs bróker rendszere3. oldal

Page 4: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetMiért van szükség brókerre?

• A felhasználó szeretné olyan gépen futtatni a programját, ami minden tekintetben megfelelő számára: memória, h l t ül t f tt tá i kö t tbhelyterület, futtatási környezet, stb.

• Intelligens döntés hozás valamilyen algoritmus alapján

Az ARC új generációs bróker rendszere4. oldal

Page 5: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetARC bróker áttekintése (2/1.)

• Az ARC bróker a kliens oldalon helyezkedik el • Kihasználja az ARC kliens könyvtár által adott j y

eszközöket• Köztesréteg független brókerezés: ARC, gLite,

U iUnicore• Betölthető modul• Kiegészítő modul is fejleszthető hozzá• Kiegészítő modul is fejleszthető hozzá• Az broker mag végzi a felhasználó programja

által igényelt és a rendelkezésre álló erőforrások által igényelt és a rendelkezésre álló erőforrások összehasonlítását

• A bróker kiegészítő modulok már csak a kapott li t d é ét é ik l il l it lista rendezését végzik valamilyen algoritmus szerint (pl. futás idejű adatok)

Az ARC új generációs bróker rendszere5. oldal

Page 6: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetARC bróker áttekintése (2/2.)

Feladat leírás

Bróker MegfelelőSzámítási Rendezésmag Megfelelőerőforrásokerőforrások

listája

Rendezés

FeladatFeladatküldő

Az ARC új generációs bróker rendszere6. oldal

Page 7: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBelső reprezentációk

• ExecutionTarget (GLUE2)• JobInnerRepresentation (GIN/PGI JSDL)

U i ARC JDL xRSL JSDLgLite Unicore ARC JDL xRSL JS

ExecutionTarget JobInnerRepresentationExecutionTarget JobInnerRepresentation

ApplicationEnvironment RuntimeEnvironment

MinCPUTime, MaxCPUTime TotalCPUTime

Az ARC új generációs bróker rendszere7. oldal

Page 8: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBroker modulok - RandomBroker

• Véletlenszerű sorrendet csinál

Előtte: A, B, C, DElőtte: A, B, C, D

Utána: C, A, D, B

Az ARC új generációs bróker rendszere8. oldal

Page 9: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBroker modulok - FastestCPUBroker

• CPU sebességnek megfelelően rendez• Integer Component of SPEC CPU2000 (CINT2000)

Működési elv:

• Első lépésként eltávolítja azokat a klasztereket, amelyek nem publikálják a a specint2000-es benchmark értéketp j p

• Olyan rendezést végez, hogy a lista elején lesz a legnagyobb benchmark értékű és a végén a legkisebb

Az ARC új generációs bróker rendszere9. oldal

Page 10: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBroker modulok - FastestQueueBroker

• A várakozó sorok hossza szerint végzi el a rendezéstMűködési elve:• Első lépésként eltávolítja azokat a, amelyek nem publikálják a

TotalSlots, FreeSlots, WaitingJobs értékeket• A lista elejére az fog kerülni ahol a WaitingJobs/TotalJobs érték a• A lista elejére az fog kerülni, ahol a WaitingJobs/TotalJobs érték a

legkisebb, minél nagyobb, annál hátrébb fog kerülni• Terhelés elosztás több üres várakozó sor esetén: FreeSlots értéket

illetve a véletlenszám generátort használjuk fel. • Például:

A WaitingJobs = 0 és B WaitingJobs = 0A.WaitingJobs = 0 és B.WaitingJobs = 0A.FreeSlots = 90 és B.FreeSlots= 10„A” várakozó sor lesz a nyertes, 90% eséllyel„ y , y

Az ARC új generációs bróker rendszere10. oldal

Page 11: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBróker modulok – DataBroker 2/1.

• Adat központú döntés (bemeneti fájlok)• A-REX szolgáltatás (számítási erőforrás)• CacheCheck interfész

A-REXA-REX

CacheCheck

interfészek

DataBrokerA-REX

A-REXnn.

1. 2. … n.

Az ARC új generációs bróker rendszere11. oldal

Page 12: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetBroker modulok – DataBroker 2/2.

Működési elv:• A-REX-es várakozó soron kívül minden más eltávolításra

kerül• Ahonnan nem sikerül lekérdezni, ott nulla értéket kapunk

visszavissza• A lista elejére az kerül, amelyik legtöbb adattal rendelkezik.

Például:alma.png (3300 byte), korte.gif (400 byte)

A-REX1: alma.png, korte.gifA-REX2: korte gif A REX2: korte.gif

Az ARC új generációs bróker rendszere12. oldal

Page 13: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési Intézetarcsub – kliens program

• Ennek a segitségével lehet jobot küdeni

arcsub –b FastestCPUBroker job.xrsl

• Alap beállitás: RandomBroker• Alap beállitás: RandomBroker

arcsub job.xrsl

Az ARC új generációs bróker rendszere13. oldal

Page 14: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetSaját bróker modul C++ nyelven

• Broker ősosztályból kell leszármazatniS tT t fü é i l tálá• SortTargets függvény implementálása

• Modul leiró fájl létrehozása (ARC plugin descriptor)

Fordítás:

g++ -I /usr/local/include -L /usr/local/lib `pkg-config --cflags glibmm-2.4 libxml-2.0` -o libaccnewbroker.so -shared NewBroker.cpp

Használat:

arcsub -b NewBroker ~/simplejob.jsdl

Az ARC új generációs bróker rendszere14. oldal

Page 15: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetSaját bróker modul Python nyelven

• PythonBroker • Ezeket az adatokat lehet elérni:

Kliens konfiguráció (pl. tanusítvány elérési útvonala, bróker paraméterek)Job leírásLehetséges erőforrások, ami rendezést lehet végezni

• Két darab python függvényt kell implementálni:def init (self cfg)def __init__(self, cfg)def SortTargets(self, PossibleTargets, job)

Használat:

arcsub –b PythonBroker:SampleBroker MyBrokerarcsub b PythonBroker:SampleBroker.MyBrokerarcsub –b PythonBroker:SampleBroker.MyBroker:10

Az ARC új generációs bróker rendszere15. oldal

Page 16: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Nemzeti Információs Infrastruktúra Fejlesztési IntézetHasznos linkek

http://svn.nordugrid.orghttp://www knowarc euhttp://www.knowarc.euhttp://www.nordugrid.org

Az ARC új generációs bróker rendszere16. oldal

Page 17: A ARC új á ió b ókAz ARC új generációs bróker rendszerenws.niif.hu/ncd2009/docs/phu/012.pdfA ARC új á ió b ókAz ARC új generációs bróker rendszere 2009 04 16 Rőczei

Köszönöm a figyelmet!gy

Rőczei Gá[email protected]