Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden



Hasonló dokumentumok
Ellenőrzőpont támogatás PVM alkalmazások számára a magyar ClusterGriden 1

Bevezetés a párhuzamos programozási koncepciókba

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

alkalmazásfejlesztő környezete

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Kommunikáció. 3. előadás

Az NIIF új szuperszámítógép infrastruktúrája Új lehetőségek a kutatói hálózatban

Operációs rendszerek. Az NT folyamatok kezelése

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Számítógépes Hálózatok. 5. gyakorlat

Hálózati architektúrák laborgyakorlat

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

DebitTray program Leírás

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

Operációs rendszerek. Bemutatkozás

(kernel3d vizualizáció: kernel245_graph.mpg)

Az interrupt Benesóczky Zoltán 2004

Folyamatok. 6. előadás

Rőczei Gábor Szeged, Networkshop

ContractTray program Leírás

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

Utolsó módosítás:


ServiceTray program Leírás

Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI

R15 R40 kapcsolat megteremtése CTCA n keresztül, avagy nosztalgikus visszaemlékezés egy projectre

Országgyűlés Hivatala Exadata a törvényhozásban

Üdvözlöm Önöket a Konferencián!

Járműkövető rendszer RÉSZLETES ISMERTETŐ

Párhuzamos és Grid rendszerek. Hol tartunk? Klaszter. Megismerkedtünk az alapfogalmakkal,

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

2023 ban visszakeresné 2002 es leveleit? l Barracuda Message Archiver. Tóth Imre Kereskedelmi Igazgató Avisys Kft Barracuda Certified Diamond Partner

A rendszer célja. Funkciók

UNIX: folyamatok kommunikációja

Operációs Rendszerek II.

Windows hálózati adminisztráció

Optimalizáció ESX-től View-ig. Pintér Kornél ügyfélszolgála3 mérnök

UNDO naplózás. Naplóbejegyzések. Visszaállítási esetek

Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához

Erőforrás gazdálkodás a bevetésirányításban

Jelentés (Általános beállítások) Ügyfél: Account 1

Everything Over Ethernet

HBONE aktualitások március

Live free() or die() Az openmosix cluster szoftver

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Felhő alapú hálózatok Konténerek orkesztrálása Simon Csaba. Budapesti Műszaki és Gazdaságtudományi Egyetem

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Alkalmazások biztonsága

Worldwide LHC Computing Grid

MTA Cloud Use cases MTA Cloud workshop. Hernáth Szabolcs MTA WIGNER FK

Párhuzamos és Grid rendszerek

Hol tartunk? Párhuzamos és Grid rendszerek. Klaszterek története. Klaszter. TOP november. Klaszterek ma. Megismerkedtünk az alapfogalmakkal,

Hálózati réteg. WSN topológia. Útvonalválasztás.

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

ERserver. iseries. Az iseries Access for Windows használatának megkezdése

Számítógépes Hálózatok. 5. gyakorlat

TIOP Hatékony informatikai infrastruktúra a központi oktatási rendszerek szolgálatában

Felhőszámítástechnika (Cloud Computing) helye és szerepe az on-line világ folyamataiban. Dr. Élő Gábor Széchenyi István Egyetem ITOK 2013

Osztott rendszer. Osztott rendszer informális definíciója

"A tízezer mérföldes utazás is egyetlen lépéssel kezdődik."

Az elektronikus növényorvosi vény (e-vény) szoftver

ALKALMAZÁS MONITOROZÁS A MERCURY MONITORRAL A CLUSTERGRID INFRASTRUKTÚRÁN. Gombás Gábor, gombasg@sztaki.hu MTA SZTAKI

Járműinformatika Multimédiás buszrendszerek (MOST, D2B és Bluetooth) 4. Óra

ELTE SAP Excellence Center Oktatóanyag 1

AUTOMATED FARE COLLECTION (AFC) RENDSZEREK

OZW V7.0 firmware frissítés, Remote Tool Access részletes ismertető

Számítógépes Hálózatok GY 6.hét

Enterprise User Security

A JÖVŐ INTERNET KUTATÁSKOORDINÁCIÓS KÖZPONT SZERVEZETI ÉS MŰKÖDÉSI SZABÁLYZATA

Condor rendszer röviden. IKTA NI-2000/0008 munkaszkasz zárókonferencia

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Adatbányászat és Perszonalizáció architektúra

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Tananyagok adaptív kiszolgálása különböző platformok felé. Fazekas László Dr. Simonics István Wagner Balázs

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Az MTA Cloud projekt MTA Cloud projektzáró június 28.

A perzisztens adatkezelő rendszer tesztelése és demonstrálása a GRID környezetben

Pénzügyi algoritmusok

Architektúra, megszakítási rendszerek

Könyvtárak szövetségben! Magyar Zsuzsanna MTA SZTAKI ITAK

Muppet: Gyors adatok MapReduce stílusú feldolgozása. Muppet: MapReduce-Style Processing of Fast Data

Aktív zajcsökkentést demonstráló rendszer továbbfejlesztése. Csofcsics Donát Gusztáv Tamás

A szerzõrõl... xi Bevezetés... xiii

Konkurens TCP Szerver

HBONE aktualitások február

KIRA. KIRA rendszer. Telepítési útmutató v1

Clang Static Analyzer belülről

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

iseries Client Access Express - Mielőtt elkezdi

Summer of LabVIEW The Sunny Side of System Design

Csoportkezelés a szövetségben

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Hálózati operációs rendszerek II. Novell Netware 5.1 Bejelentkezési rendszer

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

Occam 1. Készítette: Szabó Éva

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

DW 9. előadás DW tervezése, DW-projekt

Átírás:

Magyar Tudományos Akadémia Számítástechnikai és Automatizálási Kutató Intézete Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden Kovács József, Farkas Zoltán, Marosi Attila Csaba Laboratory of Parallel and Distributed Systems MTA SZTAKI {smith,zfarkas,atisu}@sztaki.hu www.lpds.sztaki.hu

Miről is lesz szó? Mi az az ellenőrzőpontozás (checkpoint)? Klasztergrid Checkpoint struktúra Fontosabb megvalósítási technikák Főbb protokollok Összegzés 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden2

Mi a Checkpointing? Egy futó alkalmazás teljes állapotterének lementése oly módon, hogy az a lementési pontból újraindítható (folytatható) legyen A Checkpoint (és migrációs) támogatás szükséges A terheléselosztás megvalósításához (load-balancing) Túlterhelt gépekről folyamatokat migrálunk a kevésbé terheltekre A nagyáteresztésű ütemezés megvalósításához (high-throuput computing) A szabad erőforrások kihasználása Hibatűrés megvalósításához: node-ok leállhatnak (fault-tolerant) Hardware ill. software meghibásodások miatt Hálózati meghibásodás miatt Adminisztrációs okokból (reconfiguration, upgrade) Speciális erőforrás igények kielégítéséhez Egy folyamat akár migrálható egy speciális erőforrás meglétének helyére 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden3

A KlaszterGrid infrastruktúra és checkpoint kiegészítés Checkpoint Koordinátor Checkpoint szerver Alkalmazás 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden4

A checkpoint-oló oló rendszer felépítése démon démon démon Checkpoint Koordinátor checkpoint koordináció pvm üzenetek folyamat A folyamat B folyamat C opcionális Checkpoint Szerver checkpoint információ Az alkalmazás Node n0 Node n1 Node n2 Node n3 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden5

Az alkalmazás és környezete felépítése N0 N1 Koordinátor Proc A chkpt lib Proc B chkpt lib állapot leíró Opcionális Üzenetközvetít Üzenetközvetít ő alrendszer ő alrendszer input, output exec Checkpoint Szerver Proc C felh. kód Proc D chkpt lib ckpt lib mem. térkép Tároló chkpt lib pvm lib 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden6

A migráció alapvető alkatrészei Klaszter B Koordinátor -állapotleíró -memória térkép -input, output -executable Klaszter A Klaszter C Koordinátor Checkpoint Szerver Koordinátor Tároló Checkpoint Szerver Checkpoint Szerver Tároló migráció Tároló 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden7

Összehasonlítás a korábbi GRAPNEL checkpointolással A koordinációs folyamat része az alkalmazásnak USER code GRAPNEL api CHKPT support api az üzenetek formátuma és a topológia lekérhető a GRAPNELrétegből A koordinációs folyamat egy különálló démon USER code wrapped api CHKPT support api az üzenetek formátuma és a topológia teljes mértékben elrejtve 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden8

A checkpointoláshoz szükséges mechanizmusok A checkpoint támogatás aktiválása/deaktiválása Környezeti beállítások eljuttatása a checkpoint réteghez Üzemmódok beállítása Pvm azonosítók konzisztenciája Megszakíthatóság Úton levő üzenetek kezelése Üzenetek és üzenetbufferek kezelése Üzenetközvetítő réteg kezelése (kapcsolat építés, bontás) 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden9

Módosítások I.? aktiválás/dektiválás Checkpointoljunk vagy ne? környezeti beállítások Hol van a koordinációs folyamat? üzemmódok Alkalmazás indításakor kérünk visszaállítást vagy nem? A checkpoint támogatás a végrehajtandó fájlba van befordítva Az inicializálás minden újonnan létrejött folyamat elején lefut A vezérlés környezeti változók értékein keresztül történik Ezen értékeket a gyermek folyamatoknál is be kell állítani A folyamat létrehozó függvény pvm_spawn() módosítása oly módon, hogy ezek a paraméterek öröklődjenek 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden10

Módosítások II. Azonosító konzisztencia Azonosítók a folyamatokhoz és bufferekhezrendelve démonok nincsenek lementve, egyszerűen újraindítjuk őket A le, majd felkapcsolódó folyamatok és a bufferek azonosítói megváltoznak A felhasználói kód tárolhatja és hivatkozhat rájuk? Az ütközések elkerülése érdekében a rendszer és a felhasználó által tárolt azonosítók között egy összerendelés valósul meg A koordinátor terjeszti az új azonosítókat Minden új folyamat a koordinátornál jelentkezik azonosítójával Minden új folyamat lekéri a létező folyamatok azonosítóit 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden11

Módosítások III. Megszakíthatóság Aszinkron checkpointot kell támogatni Nem reentráns pvm hívásokat atomivá kell tenni Biztosítani kell, hogy a blokkolt, atomi műveletek is rövid időn belűl befejeződik pvm_recv() sig_disable()? sig_enable() Aszinkron checkpointoláshoz szignálok használtak Szignál kezelők a folyamatok indulásakor állítódnak be Pvmrutinok atomivá tételéhez a szignálok hatástalanítva vannak a rutinok elejétől a végéig Az atomi rutinok nem blokkoltá tételéhez a blokkoló rutinok használata nem engedélyezett A blokkoló rutinokat ismétlő nem blokkoltá alakítjuk 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden12

Módosítások IV. Úton lévő üzenetek kezelése Mivel a pvm démonokat nem mentjük, a leváló folyamatok miatt üzenetek ragadhatnak a démonokban A koordinációs folyamatnak tökéketesen ismernie kell a folyamatok számát? Úton levő üzenetek kezelése Chandy-Lapmort algoritmussal, üzenetek olvasása és tárolása, amíg üzenet-vége jel nem érkezik Ennek a protokollnak a futtatásához minden folyamatnak tökéletesen ismernie kell a szomszédjait ill. azok számát A folyamatok nyilvántartásához minden folyamat induláskor a teljes futási időn át tartó socket kapcsolatot nyit a koordinátorhoz Így akár az abortálást is detektálhatja a koordinátor 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden13

Módosítások V. Úton levő üzenetek elmentése és el nem küldött bufferek Úton levő üzenet elmentéséhez a megfelelő módon kell kicsomagolni azt A kicsomagoláshoz ismerni kell az üzenet felépítését El nem küldött üzenetbufferek kicsomagolásához is annak felépítése kell? Üzenet formátum kinyeréséhez, módosított kódolást használunk Minden üzenetelem eltárolásakor a típus és méret is tárolva Az üzenet formátum ily módon részévé válik magának az üzenetnek pack(5,int) Ł pack(1,(5 db int)); pack(5,int); 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden14

Módosítások VI. (Újra)kapcsolódás a pvm démonhoz Migráció után az új démonoknak új kapcsolati végpontja van A végpontot fel kell deríteni, mert a visszaállított folyamat a régit tárolja? A kapcsolat felépítő rutin (pvm_mytid) elé van beszúrva egy végpont felderítő algoritmus A végpont a visszaállítás előtti pillanatban eltárolható A végpont meghatározható a pvmd filetartalmából A végpont meghatározható a szülő folyamat nyitott végpontjainak szkennelésével is 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden15

Fontosabb protokollok a checkpoint/restart során Normál indítás első folyamat: Feléledési protokoll 1. gyermek folyamat: Feléledési protokoll 2. Visszaállítás első folyamat: Feléledési protokoll 3. gyermek folyamat: Feléledési protokoll 4. Lementési protokoll 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden16

Feléledési protokoll 1. (első folyamat, normál indítás) Koordinátor kapcsolat(chkpt_coord_addr) CHKPT_NEW_PROC (CHKPT_APPID,CHKPT_WM_RUN) CHKPT_CKPT_INFO CHKPT_WM_RUN folyamat WM ellenőrzése, STID=pvm_mytid() felülbírálása a feltételek hiánya esetén, bár itt CHKPT_PROC_TID(UTID=STID,STID) sosem bírálunk felül UTID=check_dup(UTID,STID) CHKPT_PROC_TID(UTID,STID) Környezeti változók: CHKPT_COORD=<string> default: checkpoint inaktiválása CHKPT_APPID=<string> default: generálva CHKPT_WM=RUN RESUME (WM= working mode) default: RUN CHKPT_PROC_TIDS CHKPT_CONTINUE 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden17

Feléledési protokoll 2. (gyermek folyamat, normál indítás) Koordinátor Gyermek folyamat Átadandó környezeti változók: CHKPT_COORD=<string> CHKPT_APPID=<string> Szülő folyamat STID=pvm_spawn() CHKPT_WM=RUN RESUME Gyermek folyamat UTID értékének rendelkezésre állásáig, szülő folyamat STID várósorba helyezése CHKPT_CHILDTID(?,STID) Feléledési protokoll 1. lejátszása STID városor ellenőrzése gyermek folyamat STID-re CHKPT_CHILDTID(TID,STID) 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden18

Feléledési protokoll 3. (első folyamat, visszaállítás) Koordinátor WM ellenőrzése, felülbírálása a feltételek hiánya esetén kapcsolat(chkpt_coord_addr) folyamat CHKPT_NEW_PROC (CHKPT_APPID,CHKPT_WM_RESUME) CHKPT_CKPT_INFO CHKPT_WM_RESUME Környezeti változók: CHKPT_COORD=<string> default: checkpoint inaktiválása CHKPT_APPID=<string> default: generálva CHKPT_WM=RUN RESUME (WM= working mode) default: RUN CHKPT_PROC_TID(UTID,STID) UTID=elmentéskor tárolt UTID=check_dup(UTID,STID), bár itt sosem lehet dup CHKPT_PROC_TID(UTID,STID) CHKPT_PROC_TIDS CHKPT_CONTINUE resume(chkpt_ckpt_info) STID=pvm_mytid() 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden19

Koordinátor Feléledési protokoll 4. (gyermek folyamat, visszaállítás) Feléledési protokoll 3. megkezdése (első folyamat, visszaállítás) CHKPT_PROC_TID(UTID,STID) folyamat UTID=elmentéskor tárolt UTID=check_dup(UTID,STID), bár itt sosem lehet dup CHKPT_PROC_TID(UTID,STID) CHKPT_SPAWN resume(chkpt_ckpt_info) STID=pvm_mytid() STID=pvm_spawn() Környezeti változók: CHKPT_COORD=<string> default: checkpoint inaktiválása CHKPT_APPID=<string> default: generálva CHKPT_WM=RUN RESUME (WM= working mode) default: RUN Gyermek folyamat Feléledési protokoll 3. lejátszása Alkalmazás felépüléséig SPAWN ismétlése CHKPT_PROC_TIDS CHKPT_CONTINUE 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden20

Lementési protokoll Koordinátor folyamat A folyamat B Checkpoint szignál Checkpoint szignál CHKPT_SYNC_START CHKPT_SYNC_START CHKPT_SYNC_TIDS CHKPT_SYNC_TIDS CHKPT_SYNC_MSG CHKPT_SYNC_MSG CHKPT_SYNC_FINISHED CHKPT_SYNC_FINISHED CHKPT_SAVE_START CHKPT_SAVE_START pvm_exit() checkpoint() pvm_exit() checkpoint() CHKPT_SAVE_FINISHED CHKPT_SAVE_FINISHED STID=pvm_mytid() CHKPT_PROC_TID(UTID,STID) STID=pvm_mytid() CHKPT_PROC_TID(UTID,STID) CHKPT_PROC_TIDS CHKPT_PROC_TIDS CHKPT_CONTINUE CHKPT_CONTINUE 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden21

Összegzés a pvm checkpointolhatóságát a rutinok virtualizálásával és egy külső karmester segítségével oldottuk meg a megvalósítás nem igényli a pvm démonok módosítását a protokollok biztosítják az alkalmazás lementését és visszaállítását a pvm alkalmazások migrálhatók klaszteren belül és azok között az állapot leíró fájlok, checkpoint fájlok reprezentáljál az alkalmazás teljes állapotterét a bemutatott megoldás jelenleg fejlesztés alatt áll, hamarosan elkészül az elkészült checkpointoló a magyar KlaszterGrid-en lesz telepítve 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden22

Köszönöm a figyelmüket! Kovács József smith@sztaki.hu http://www.lpds.sztaki.hu 2005. március 31. Networkshop, Szeged Ellenőrzőpont támogatás alkalmazások számára a magyar ClusterGriden23