A futtatás elıtt az alábbi két dolgot kell tenni:

Hasonló dokumentumok
A számítási grideket alkotó gépek erısen heterogén környezetében megvalósíthatatlan hogy minden gép ugyanazt a fájlrendszert lássa.

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

Operációs rendszerek

alkalmazásfejlesztő környezete

Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.

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

Szaniszló Gábor, ABB Kft MEE szakmai nap elıadás, Az IEC61850-es szabvány gyakorlati alkalmazása. ABB Group June 1, 2010 Slide 1

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

Java-s Nyomtatványkitöltő Program Súgó

univerzum Standard,Vanilla,PVM,MPI,Globus és Java. condor_shadow

Mobil Peer-to-peer rendszerek

Hardver és szoftver követelmények

Párhuzamos és Elosztott Rendszerek

QuickSend. , és SMS küldés program. Felhasználói kézikönyv. Program dokumentáció 2008 JMGM Magyarország Informatikai Kft.

1. F A F F A N F E N R

Adat mentés. A program segítség file-ok, mappák mentésében. Mentési csomagokat állíthatunk össze.

Számítástechnika nyugdíjasoknak Február 16.

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

NEPTUN 3R DIPLOMA MELLÉKLET NYOMTATÁS BEÁLLÍTÁSA

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Java I. A Java programozási nyelv

Ellenıri jelentés kitöltési útmutató Játékvezetı ellenır és megyei adminisztrátorok számára

Új generációs hálózatok. Bakonyi Péter c.docens

Tisztán kivehetı tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Hálózat bonyolultsága

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

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

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Dr. habil. Maróti György

Számlázó program kezelési leírása

A WINETTOU Távközlési Szolgáltató Korlátolt Felelısségő Társaság. Internet szolgáltatásra vonatkozó Általános Szerzıdéses Feltételek

A populáció meghatározása

SZEGHALOM VÁROS ÖNKORMÁNYZATA POLGÁRMESTERI HIVATALÁNAK SZERVEZETFEJLESZTÉSE MINİSÉGIRÁNYÍTÁS AZ ÖNKORMÁNYZATOKNÁL 1. MINİSÉGÜGY AZ ÖNKORMÁNYZATOKNÁL

Az Európai Parlament és a Tanács 2004/49/EK irányelve (2004. április 29.) a közösségi vasutak biztonságáról, valamint a vasúttársaságok

Párhuzamos és Grid rendszerek

Kollányi Bence: Miért nem használ internetet? A World Internet Project 2006-os felmérésének eredményei

Székely Klára: Üzleti etika Power Point segítségével

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

Enabling Grids for E-sciencE. Grid bevezető INFSO-RI

Példa: LHC, CERN, Genf Enabling Grids for E-sciencE

Bevezetés a Python programozási nyelvbe

Modellezés és szimuláció. Szatmári József SZTE Természeti Földrajzi és Geoinformatikai Tanszék

A minıségirányítási program 6. sz. melléklete

BALATONFÖLDVÁRI TÖBBCÉLÚ KISTÉRSÉGI TÁRSULÁS KÖZOKTATÁSI ESÉLYEGYENLİSÉGI PROGRAMJA

Operációs rendszerek. Az X Window rendszer

HA8EV ORBITRON Programmal vezérelt Azimut/Elevációs forgató elektronika v10.0

Szolgáltatási szint megállapodás

Adatstruktúrák, algoritmusok, objektumok

HunGrid Grid technológiák hozzáférési lehetőségei az intézetben

Útmutató a MATARKA adatbázisból való adatátvételhez

Fót Város Önkormányzat Szociális Szolgáltatástervezési Koncepciója

Könyvtári címkéző munkahely

Chat felhasználói segédlet

Titkosítás NetWare környezetben

Együttmőködési rendszerek, csoporttevékenység támogatása 1. rész

Szolgáltat. gfelügyeleti gyeleti rendszer fejlesztése. NETWORKSHOP 2010 Sándor Tamás

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

Grid menedzsment megoldás az ARC köztesrétegben

A Vizsgálóhelyi nyilvántartó program Online Telepítıje

Bevezetés az elosztott rendszerekbe

Oktatási cloud használata

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

HT2110 ID kártyás beléptetı rendszer

Általános áttekintés. Általános áttekintés. Általános áttekintés. Egy boot folyamat

Hálózati folyamok. A használt fogalmak definiálása

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

SZEGVÁR ÉS VIDÉKE TAKARÉKSZÖVETKEZET

KELER KID Internetwork System (KIS)

M-Fájlok létrehozása MATLAB-ban

Bertóthyné dr. Végvári Erzsébet: Módszertani útmutató a felsıfokú szakképzésben részt vevı hallgatók számára az

Könyvtári kölcsönzések kezelése

A tartalomelemzés szőkebb értelemben olyan szisztematikus kvalitatív eljárás, amely segítségével bármely szöveget értelmezni tudunk, és

Plenárisülés-dokumentum cor01 HELYESBÍTÉS

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Forgalom nyilvántartó program Kezelési útmutató

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

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

Szenzorhálózatok programfejlesztési kérdései. Orosz György

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

Számítógép architektúra

Központi közigazgatási rendszerek kapcsolatai

Az adatszolgáltatási rendszer kliens felülete

Irányítástechnika Elıadás. PLC-k programozása

Erıforrástérkép felhasználói kézikönyv 1.0

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Utolsó módosítás:

PDF DOKUMENTUMOK LÉTREHOZÁSA

Számítástechnikai és kereskedelmi Kft. tel: 62/ fax: 62/ Jövedelem bavallás

Valószínőségszámítás és statisztika elıadások Mérnök informatikus BSc szak MANB030, MALB030

MÉRNÖK-SZÓTÁR. számítógépes program rendszer. magyar-angol-német-orosz és más nyelvek. Mérnökök által összeállított szakmai szótárak, szakembereknek!

italc felhasználói dokumentáció

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Élethelyzetek. Dr. Mészáros Attila. Élethelyzetek. Élethelyzetek. Élethelyzetek. Élethelyzetek. 2. Élethelyzetek, konfliktusok

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Átírás:

A PVM egy olyan infrastruktúra, amely biztosítja a különbözı gépeken futó processzek számára a kommunikációs csatornát. Definiál egy hozzávaló protokollt. Ahhoz, hogy ez az infrastruktúra egy program számára rendelkezésre álljon: a program tulajdonosának a futtatás elıtt létre kell hoznia a virtuális gépet, azon rendszerek lehetnek tagjai, amelyeken a felhasználónak joga van használni a helyi PVM démont. Ezek után elindítható a program, amely a virtuális gépen belül létrehozza a kitőzött feladatot megoldó PVMprocesszeket. 2 A futtatás elıtt az alábbi két dolgot kell tenni: 1. A programot minden olyan architektúrán lefordítani, amely a virtuális gépet alkotó számítógépek között megtalálható. 2. A lefordított állományokat abba a könyvtárba másolni, ahol a PVM a futás során a létrehozandó PVM-processzek forrását keresni fogja. Ennek a jegyzéknek a neve a PVM dokumentációjában megtalálható. (Általában $HOME/pvm3/$ARCH/bin.) A rendszeren belül a PVM-processzek tényleges futási helyét csak a PVM ismeri, a programozó nem. A processzek megszületésükkor a PVMrendszertıl egyedi azonosítót kapnak, melyek ismeretében egymásnak üzeneteket küldhetnek. A PVM gondoskodik arról, hogy egy üzenet eljusson a megadott azonosítóval rendelkezı processzhez, egy üzenetet küldı processznek csak a címzett processz azonosítóját kell ismernie, a futási helyét nem. 3 4 1

A PVM ezen a szolgáltatásokon kívül semmi többletet nem ad a futtatás megkönnyítésére, különösen a hosszú ideig (napokig vagy akár hetekig) futó programok esetén jelent nehézséget. Nem ritka az ilyen hosszú futású program, a PVM-et gyakran használják olyan mérnöki, fizikai, biológiai számításokat igénylı feladatokhoz, melyek során aránylag nem túl bonyolult mőveleteket kell végrehajtani nagy mennyiségő adaton. Az ilyen, és ehhez hasonló feladatok során elvégzendı lebegıpontos számítások pedig rendkívül megnövelik a futási idıt. A futtatás során a probléma jelentkezhet akkor, ha egyszerre több programot indítunk ugyanazon a virtuális gépen. Ilyenkor az ugyanabban a virtuális gépben futó, különbözı alkalmazásokhoz tartozó PVMprocesszek képesek egymásnak üzenetet küldeni, nincs semmi védelem, ami elkülönítené ıket. Ez kiszámíthatatlan viselkedést okozhat a programokban, és ellehetetleníti az utólagos hibakeresést. 5 6 További nehézség: a virtuális gép létrehozása (erıforrás-allokálás) a rendelkezésre álló erıforrások közül ki kell választani azokat, amelyeket egy adott program futtatásához használni szeretnénk. Amelyekbıl a virtuális gépet létre kívánjuk hozni. PVM démonon keresztül végzett futtatás esetén ez teljes mértékben a program tulajdonosára hárul, nem egyszerő feladat. Tudnia kell hogy pontosan milyen gépek érhetık el a hálózatban, és nem árt ismerni azok aktuális leterheltségét sem. A leterheltséget figyelembe véve: elkerülhetı, hogy egy túlterhelt gépen futó processz a kommunikációban fellépı késleltetésekkel visszafogja a többi, kevésbé terhelt gépen futót. Ilyen nem egyenletes leterheltség különösen ipari környezetben fordulhat el, ahol a helyi klaszter munkaállomásait elsısorban a napi ügyek intézésére használják, párhuzamos programok futtatása csak másodlagos. 7 8 2

Ilyen helyen csak olyan gépet ajánlatos a virtuális gép létrehozásakor felhasználni, amelyik éppen szabad: vagyis annak tulajdonosa nem használ rajta semmilyen programot. Hogy egy egyszerő felhasználó ezt hogyan tudja kideríteni, arra sok esetben egyáltalán nincs megoldás, Ha mégis valamilyen módon képes felmérni a helyi hálózat gépeit, abból akkor sem tud következteti a következı pár perc vagy óra történéseire. 9 10 Az említett problémák megoldása: szükség van egy olyan programra, amelyik egyrészt minden PVM-program számára új virtuális gépet hoz létre, másrészt az aktuális terheltségtıl függıen változtatja a PVM-ek létrehozásában résztvevı gépek halmazát. Ez a szoftver a felhasználóknak magasabb szintő szolgáltatást nyújt, mint egy sima PVM démon, elrejtve elılük a futtatás valódi menetét. Ezek a szoftverkomponensek a job menedzserek. Használata esetén a felhasználók nem a virtuális géppel, hanem vele tartják a kapcsolatot, lényegében nem is kell tudniuk arról, hogy a PVMprogramok futtatásához virtuális gépre is szükség van. 11 Egy ilyen jobkezelı program a Wisconsin-Madison Egyetem által kifejlesztett Condor. A cél, amiért a Condort létrehozták: lehetıvé tenni az úgynevezett High Throughput Computing-ot (nagy áteresztı képességő rendszer - HTC) nagyszámú, különbözı tulajdonosokhoz tartozó számítógépek egy egységbe foglalásával. Az olyan rendszereket, amelyek hosszú idın át sok számítást képesek elvégezni HTC rendszereknek nevezzük. Tehát a Condor egy specializált feladatszétosztó rendszer számításigényes feladatokhoz. 12 3

Mint bármely más batch rendszer, a Condor is biztosít: feladatsort (ide kerülnek be a végrehajtandó feladatok, job-ok), ütemezési politikát, prioritási sémákat, erıforrások monitorozását és kezelését. Mőködése: 1. A felhasználó odaadja a feladatot a Condornak, amely bekerül a feladat végrehajtási sorba. 2. A meghatározott politika segítségével kiválasztja, hogy hol és mikor futtatja a job-ot, és miután a job lefutott, értesíti a felhasználót. 13 14 A Condor nem csak PVM-programokat, hanem más típusú, mind szekvenciális, mind párhuzamos programokat fogad. Elrejti a tényleges futtató környezeteket a felhasználók elıl, akiknek egy program futtatásakor csupán annyi a feladatuk, hogy elkészítenek egy megfelelı job-leíró fájlt, melyet azután átadnak a jobkezelınek. Condor segítségével kiépíthetünk egy grid stílusú számítási környezetet is: flocking technológiája segítségével több Condor rendszert is összekapcsolhatunk. Képes együtt mőködni számos grid-alapú számítási eljárással, protokollal. Ilyen például a Condor-G, amely képes teljesen együttmőködni a Globus kezelte erıforrásokkal. 15 16 4

A Condor rendszer jellemzıi: Elosztott, heterogén rendszerben mőködik, Alapvetıen a szabad CPU ciklusok kihasználására tervezték, Képes egy mőködı feladatot áthelyezni az egyik géprıl egy másikra (migráció), Képes az ún. ClassAds mechanizmussal a rendszerben lévı változó erıforrásokat az igényeknek megfelelıen elosztani. A ClassAds lényege, hogy a rendszerben található erıforrások jellemzıkkel bírnak: úgy mint teljesítmény, architektúra, operációs rendszer, bizalom, stb. Egy job összeállításánál ezekre a jellemzıkre lehet igényeket elıírni. Amelyeket a Condor megpróbál kielégíteni. A jellemzık között lehet preferenciákat is készíteni, amelyek akkor jutnak szerephez, ha több erıforrás is megfelel az igényeknek. 17 18 Ebben a job-leíró fájlban szereplı alapvetı adatok: A futtatandó program típusa A futtatható állomány neve Futási paraméterek Standard input-ot helyettesítı fájl neve A program számára beállítandó környezeti változók Futás közbeni eseményekrıl készítendı naplófájl neve 19 A Condor a fájl tartalma alapján létrehoz egy új futási környezetet, elindítja a futtatható állományt a megadott környezeti változókkal, majd végig a futása során a fontosabb eseményekrıl bejegyzéseket készít a megadott naplófájlba. A program tulajdonosa a napló fájlból értesülhet például arról is, hogy job-jának a futása akár sikeresen, akár sikertelenül befejezıdött. 20 5

Fontos: a Condor sok tekintetben magasabb szintő szolgáltatást nyújt, mint a PVM, viszont cserébe fel kell áldozni a programok interaktivitását. Condor-on keresztül ugyanis nem lehet interaktív alkalmazásokat futtatni. Mint az elıbbi felsorolásból látszik, a felhasználónak már a program elindítása elıtt tudnia kell, hogy mi lesz annak bemenete, ugyanis az adatokat a futtatás elıtt egy állományba kell írnia, majd az állományt a leíró fájlban meghivatkoznia. A Condor garantálja: hogy a futó program a hivatkozott fájlt fogja standard bemenetének tekinteni, és nem a billentyőzetet. Ez, a PVM-démonhoz képest jelentısnek tőnı megszorítás PVM-programok esetén szerencsére nem jelent gondot, ugyanis a PVM alkalmazások által végzett számítások bemenı adatai általában elıre ismertek, vagy futás közben generálódnak. 21 22 A Condor tehát képes a felhasználó helyett a PVM létrehozására és a futó programok folyamatos felügyeletére. Az ok azonban, amiért általában a felhasználók a Condor mellett döntenek: az az erıforrás-menedzseri képessége. A Condor nem csak a futtatásra átadott programokat, hanem a hálózatban erıforrásként üzemelı gépeket is képes nyilvántartani. Az általa menedzselt hálózat minden gépén rendelkezik egy helyi démonnal melyen keresztül folyamatosan figyelemmel kísérheti annak terheltségét. A terheltség függvényében bármelyik erıforrást képes hozzácsatolni, illetve kivenni a programfuttatásra használható gépek halmazából. A leggyakoribb allokálási politika, amit Condor esetében alkalmaznak: minden olyan gép, melyet x perce nem használt annak tulajdonosa, az kerüljön a központi Condor menedzser fennhatósága alá. 23 24 6

Ha azonban megérkezik a tulajdonos, akkor ıt illeti az elsıbbség. Ha az x idıintervallumnak a hosszát a rendszergazda alkalmasan választja meg: akkor egy ilyen megoldással kiszőrheti a korábban már említett kávészünetek miatt pihenı erıforrásokat a ténylegesen szabad gépek közül. A Condor egy program futtatásakor a politikája által szabadnak ítélt gépek halmazából választ a virtuális gép felépítéséhez. Az allokálási procedúra során nem csak az erıforrás-felajánlókra, de a job-ot futtatók igényeire is figyel. A Condor felhasználók a job-leíró fájlokban megadhatnak a futtatáshoz használandó architektúrákra vonatkozó kikötéseket, prioritásokat. A Condor ezeket az információkat figyelembe véve: megpróbálja a szabad gépek közül kiválasztani a legalkalmasabbakat a futtató környezet felépítéséhez. Ha éppen nincs olyan architektúrájú gép, mint amit a kliens igényelt, akkor a Condor egyáltalán nem allokál erıforrást, ennek okát pedig a naplófájlba írja. 25 26 További probléma: A Condor segítségével futtatott PVM programoknak más módon kell létrehozniuk a PVM-processzeket, mint PVM-démonnal való futtatás esetén. Emiatt a felhasználóknak már a programjuk fejlesztése során tudniuk kell, hogy az késıbb Condorral, vagy PVM-démonnal lesz-e futtatva. 27 A PVM összefogja a lokális hálózat gépeit, és belılük nagyobb egységeket képez Egy ilyen nagyobb egység = egy párhuzamos virtuális gép a processzek számára biztosított kommunikációs infrastruktúra miatt sokkal nagyobb számítási kapacitást képvisel, mint az ıt alkotó fizikai erıforrások kapacitásának az összege. A Gridben a cél a nagy kapacitást igénylı programok futtatása Kézenfekvı a grid rendszer alapegységeit PVM ekbıl létrehozni, nem pedig önálló gépekbıl. 28 7

Az ilyen számítási rendszer neve PVM-Grid. Jellemzı tulajdonsága: A benne található erıforrások mind párhuzamos virtuális gépek. A PVM-Grid infrastruktúrát biztosít: egyrészt a klienseknek a legmegfelelıbb PVM kiválasztásához, másrészt a PVM processzeknek a kiválasztott virtuális gépen belüli hatékony kommunikációhoz. A helyi hálózatban élı PVM-démon nem biztosít elég magas szintő szolgáltatást, vagyis a Condor-hoz kellett fordulni. A PVM-Grid esetén még ez a szint sem elegendı, ugyanis a Condor-t általában csak a helyi hálózat erıforrás-menedzsereként használják. Ilyen esetben csak a helyi hálózat gépeit használhatja programfuttatáshoz, ilyenkor csak a helyi hálózat felhasználói érhetik el. Ez utóbbi tulajdonság miatt egyetlen Condor-klaszter nem tekinthet gridrendszernek. 29 30 A Condor lehetıséget biztosít barátságos pool létrehozására: több klaszter összekötésével jön létre. egyetlen Condor-példány az erıforrás- és a jobmenedzsere. Ekkor lehetséges, hogy a barátságos pool egyik felhasználója által submitált job olyan gépeken is futni fog, melyhez az illetınek nincs felhasználói fiókja. Oka: a Condor megengedi a barátságos pool-on belül a jobok tetszıleges gépen való futását. Felépítés két nagy hátránya: 1. A klaszterek között meg kell nyitni minden egyes portot: Ez akkora biztonsági rést jelenthet, hogy tényleg csak a legjobb barátok engedhetik meg maguknak a közös Condor használatát. 31 32 8

2. Konfigurációs fájlok: Ha valamelyik barátságos klaszter ki akar lépni a szövetségbıl, vagy egy új klaszter akar belépni a barátságos klaszterek közé, akkor a pool minden egyes résztvevıjének módosítani kell néhány konfigurációs fájlt. Ez néhány tag esetén még elviselhetı, de nagymérető Grid esetén nyilván kivitelezhetetlen. Ha több száz, vagy ezer klaszterbıl álló Gridet akarunk létrehozni, akkor a Condor önmagában nem nyújthat megoldást. Ennyi felhasználó nem bízik meg egymásban annyira, hogy barátságos pool-t hozzanak létre, és egyébként is túl bonyolult a rendszer menedzselése. A Condor tehát PVM-gridekben a klaszterek közötti infrastruktúraként nem használható viszont klaszteren belül jól funkcionál. Emiatt érdemes a távoli kliensek számára futtató szolgáltatást nyújtó program, és a klasztert alkotó fizikai erıforrások közötti rétegként alkalmazni. 33 34 Ilyen esetben: a Grid infrastruktúrája a klaszterek közötti, míg a Condor a klasztereken belüli erıforrás-allokációt végzi. A Condor a PVM-programok számára nem transzparens a programoknak máshogyan kell Condor esetén a PVM-processzeket létrehozniuk. ezért a Grid klienseinek tudnia kell a Condor létezésérıl. Ha viszont tudnak a Condor-ról, akkor akár a klaszteren belüli gépallokációhoz is kritériumokat adhatnak. 35 36 9

Ha ezeket a kritériumokat a klaszter szolgáltató programja továbbítja a Condor-nak akkor annak a gépallokáció során mind a rendszergazda által beállított politikára, mind a kapott igényekre tekintettel kell lennie. Ha viszont a kikötéseket a szolgáltató program nem továbbítja akkor a Grid kliensei csak klasztert, és nem konkrét erıforrásokat választhatnak programjaiknak. 37 38 10