Perzisztens adatkezelés megvalósítása a SZTAKI saját klaszterén

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

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

Hardver és szoftver követelmények

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

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

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

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

A FileZilla program beállítása az első belépés alkalmával

Active Directory kiegészítő kiszolgálók telepítése és konfigurálása Windows Server 2003 R2 alatt

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

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

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

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

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

TERC V.I.P. hardverkulcs regisztráció

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

Operációs rendszerek. Az X Window rendszer

Telenor Webiroda. Kezdő lépések

WIN-TAX programrendszer hálózatban

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

A rendszer új verziója lehetőséget nyújt az erőforrások Excel táblázatba exportálására és a táblázatban elvégzett ármódosítások betöltésére.

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ű.

alkalmazásfejlesztő környezete

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Tisztelt Ügyfelünk! Tájékoztató az átállásról

Írásjogtól Rootig AIX-on

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

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

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

RapidMiner telepítés i. RapidMiner telepítés

Számítógépes munkakörnyezet II. Szoftver

Számítógép felépítése

Vezetői információs rendszerek

A számítógép egységei

ELTE, IK, Információs Rendszerek Tanszék

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

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

Iroda DEMO telepítési útmutató

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

JCL eljárások Tanfolyami jegyzet. ICSS Kft 2012

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

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

1. Bevezető. 2. Sérülékenységek

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

KAPCSOLÁSI RAJZ KIDOLGOZÁSA

Szkriptnyelvek. 1. UNIX shell

Az SQL*Plus használata

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

Az uniós adatvédelmi előírások hatása a bölcsődei adminisztrációra. Előadó: Dr. Jójárt Ágnes Szilvia ügyvéd

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

5. A záróvizsga-jegyzőkönyv készítése

ContractTray program Leírás

hardver-szoftver integrált rendszer, amely Xwindow alapú terminálokat szervez egy hálózatba

Multimédiás adatbázisok

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

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Adatbázis rendszerek. dr. Siki Zoltán

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

Oktatási cloud használata

Oralce kliens installálása Windows Server 2003-ra

Szolgáltatási szint megállapodás

Elektronikusan hitelesített PDF dokumentumok ellenőrzése

DebitTray program Leírás

KELER KID Internetwork System (KIS)

Java I. A Java programozási nyelv

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Telepítési Kézikönyv

Open Access - tájékoztató, dokumentáció szerzőknek és adminisztrátoroknak

Távolléti díj kezelése a Novitax programban

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Hálózati ismeretek. Az együttműködés szükségessége:

The Power To Develop. i Develop

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

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

A legfontosabb DOS parancsok

Az MTMT és az Intézeti Repozitóriumok összekapcsolása bevezetési tapasztalatok SZLUKA PÉTER SEMMELWEIS EGYETEM KÖZPONTI KÖNYVTÁR

OPERÁCIÓS RENDSZEREK. Elmélet

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Rendszerterv. 1. Funkcionális terv Feladat leírása:

OE-NIK 2010/11 ősz OE-NIK ősz

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

SzIP kompatibilis sávszélesség mérések

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

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

WEB2GRID: Desktop Grid a Web 2.0 szolgálatában

Általános fiók beállítási útmutató

ServiceTray program Leírás

Angol szótár V

Intelligens partner rendszer virtuális kórházi osztály megvalósításához

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Belépve a weboldalra Ön elfogadja az alábbi feltételeket akkor is, ha nem regisztrált felhasználója az oldalnak:

Átírás:

Perzisztens adatkezelés megvalósítása a SZTAKI saját klaszterén 2. DemoGRID beszámoló 2002-06-10 PERZISZTENS ADATKEZELÉS MEGVALÓSÍTÁSA A SZTAKI SAJÁT KLASZTERÉN... 1 BEVEZETÉS... 2 GRIDFTP LÉNYEGE... 2 AZ ADAT ERŐFORRÁS... 2 Adatátviteli kapacitás növelése... 3 Adatmennyiség csökkentése... 3 Adatok párhuzamos feldolgozása... 3 GRIDFTP ADTA LEHETŐSÉGEK... 4 MÓDSZERÜNK LÉNYEGE... 4 TÁMOGATÁS A GRIDFTP-BEN... 5 ALTERNATÍV LEHETŐSÉGEK...5 A MÓDSZER LÉPÉSEI... 6 MÓDSZERÜNK RÉSZLETEZÉSE... 6 A PÁRHUZAMOS FELDOLGOZÁS KITERJESZTÉSÉNEK LEHETŐSÉGEI A JELENLEGI KERETEKEN BELÜL... 6 A PÁRHUZAMOS FELDOLGOZÁS KITERJESZTÉSÉRE JAVASOLT MEGOLDÁS GYAKORLATI MEGVALÓSÍTÁSA... 7 A PÁRHUZAMOS FELDOLGOZÁS ÁLTALÁNOSÍTÁSA A GRIDFTP PROTOKOLL KIEGÉSZÍTÉSÉRE... 9 dg-rep-2-7-persistent.doc 2002-06-10 1/10

Bevezetés Ez a dokumentum a GRID szintű perzisztens adatok kezelésének kidolgozására irányuló tevékenységünk második fázisában végzett munkákat foglalja össze. Az első fázisban megvizsgáltuk, hogy a Globus rendszer milyen lehetőségeket biztosít a perzisztens adatok kezelésére, illetve, hogy milyen megoldási lehetőségek jöhetnek szóba. Ennek keretében elsősorban a GRID erőforrások közül az adatra (illetve adat-átvitelre) koncentráltunk és így a GridFTP-t, a GRID adatátviteli protokollját elemeztük. Ebben a beszámolóban a perzisztens adatkezelésnek a SZTAKI lokális rendszerében való megvalósításával foglalkozunk. Az előző munkaszakaszban elvégzett tanulmányok alapján egy konkrét eszközkészletet választottunk ki és megfelelő adaptációval elosztott perzisztens adatkezelést valósítottunk meg. Ennek során egy általános, a GRID filozófiához illeszkedő módszert dolgoztunk ki. Kipróbálása a következő fázisban történik, amikor a többi konzorciumi taggal együtt a perzisztens adatkezelő rendszert alkalmazzunk és teszteljük a közös GRID környezetben. GridFTP lényege A GridFTP az FTP-n alapuló nagysebességű, biztonságos és megbízható adatátviteli protokoll, amely a GRID-en belüli adatelérés infrastruktúráját valósítja meg. Az infrastruktúra szerep azt jelenti, hogy minden magasabb szintű protokoll erre az alapra épít. A GRID filozófiája az, hogy a feladatok végrehajtása kötegelt módon történik, tehát a felhasználó elkészíti a feldolgozó programját, ezt a feldolgozó programot eljuttatja arra a számítógépre, ahol a feldolgozás fog történni, a feldolgozandó adatokat szintén eljuttatja a feldolgozó számítógépre, majd a program lefutása után az eredményeket visszajuttatja a kiindulási helyre. Ez általában azt jelenti, hogy igen jelentős mennyiségű adatot kell mozgatni a GRID-en belül. Az adatok mozgatása az FTP protokoll segítségével történik. Mivel nagy mennyiségű adatokról van szó, ezért az alap FTP protokoll kiegészítésére volt szükség. A kiegészített protokoll a GridFTP protokoll. Az alábbiakban összefoglaljuk a GridFTP protokoll kiegészítésének megközelítéseit. Az adat erőforrás Az adat a GRID-en belül az egyik legfontosabb erőforrás, amely kifinomult kezelést igényel és sokoldalú követelményeket támaszt. Általánosan megfogalmazható igény a szükséges adat gyors elérése, illetve átvitele. További igény még az adatátvitel megbízhatósága és biztonságossága. Az adatátvitel gyorsításának az egyik módja a hálózati átviteli eszközök gyorsítása, de az adott átviteli eszközök mellett mindig van lehetőség egyéb technikák bevetésére az átvitel dg-rep-2-7-persistent.doc 2002-06-10 2/10

további gyorsítására. A projekt keretében mi ezekkel a kiegészítő gyorsítási lehetőségekkel foglalkoztunk. A gyors adatátvitel elérésének alapvetően három útja lehetséges: az adatátviteli kapacitás bővítése, az adatmennyiség csökkentése, az adatok párhuzamos feldolgozása. Az alábbiakban külön-külön összefoglaljuk ezeknek a megközelítéseknek a lehetőségeit. Adatátviteli kapacitás növelése Az adatátviteli kapacitás növelésére a következő lehetőségek vannak: párhuzamos adatátvitel, több adat csatorna egyidejű felhasználásával, amit a GridFTP-ben a SPAS, SPOR, RETR-OPTS, MODE-Extended Block Mode támogat, többszálú (striped) adatátvitel, több adat csatorna egyidejű felhasználásával, amit a GridFTP-ben a SPAS, SPOR, RETR-OPTS, MODE-Extended Block Mode támogat, a TCP puffer méret automatikus és kézi állíthatósága, amit a GridFTP-ben a SBUF, ABUF támogat, integrált teljesítmény fokozó eszközök: adat csatorna újra felhasználás, parancs pipelining, amit a GridFTP-ben a PIPE támogat. Adatmennyiség csökkentése Az adatátvitelt úgy is gyorsíthatjuk, hogy csak a szükséges adatokat visszük át. Erre a következő lehetőségek vannak: harmadik fél által vezérelhető adatátvitel, részleges adatátvitel (ESTO, ERET), hatékony adatátviteli hiba javítás (SREAM módban is). Adatok párhuzamos feldolgozása Az adatátvitel úgy is gyorsítható, ha már csak részben feldolgozott adatokat viszünk át a hálózaton és ehhez először az adatszolgáltató csomópontban egy feldolgozó programot futtatunk le. Erre a következő lehetőség van: az adatok feldolgozásának biztosítása a szerver oldalon (ERET, ESTO), dg-rep-2-7-persistent.doc 2002-06-10 3/10

GridFTP adta lehetőségek A GridFTP elsősorban az adatátviteli kapacitás növelésére törekszik, aminek elsődleges szerepe van a gyorsaság növelésében, ugyanakkor az átviendő adatok mennyiségének csökkenthetőségére is fogalmaz meg elveket, ami az adatok szerver oldali feldolgozásával érhető el. Módszerünk lényege A GRID szintű perzisztens adatok kezelésére kidolgozott módszerünk a szerver oldali elő feldolgozásra épül, mint ahogy azt az 1. ábra mutatja. 5 DB Access Application Processing node Structured data file FTP 4 Get 3 GRID 1 Select 2 Structured data file DB Access Structured data file Extract data Data store node 1. ábra Szerver oldali elő feldolgozás dg-rep-2-7-persistent.doc 2002-06-10 4/10

Ebben a megközelítésben az adatátvitel első lépése egy elő feldolgozó program meghívása az adatszolgáltató szerveren (1). Az elő feldolgozó program a nagyméretű és általában strukturált adatokat tartalmazó adatállományból kigyűjti és a szerveren egy kisebb méretű adatállományba menti azokat az adatokat, amiket később át akarunk vinni (2). Ezek után a feldolgozó oldal kezdeményezheti a kigyűjtött adatok átvitelét (3), ami FTP segítségével történik (4). Az átvitt és a feldolgozó oldalon tárolt adatokon a feldolgozó program elvégezheti a kívánt feldolgozást (5). Az eredmények visszahelyezése az eredeti adatállományba fordított sorrendben történik. A feldolgozó oldal kezdeményezi az eredmények átvitelét, ami FTP segítségével történik. Az átvitt eredmények az adatszolgáltató oldalon egy kisebb méretű adatállományt jelentenek. A feldolgozó oldal kezdeményezi ennek a kisebb méretű adatállománynak a feldolgozását és a nagyobb méretű teljes adat állományba helyezését egy utó feldolgozó program elindításával az adat szolgáltató csomóponton. Mindkét irányú adatátvitelnél az ideiglenesen keletkezett adatállományok utólagos eltávolításáról gondoskodni kell. Támogatás a GridFTP-ben A módszer megvalósítását jelenleg a GridFTP-ben az ERET és ESTO utasítások segítik. Ezek az utasítások adnak lehetőséget a szerver oldali, párhuzamos feldolgozásra. Az adatok párhuzamos feldolgozása egyúttal az átviendő adatok mennyiségét is csökkentheti. Az utasítások jelenlegi formájukban csak nagyon kezdetleges feldolgozást tesznek lehetővé; a részleges file írást és a részleges file olvasást. Alternatív lehetőségek Mivel a GridFTP jelenlegi változatával nem lehet közvetlenül megvalósítani a szerver oldali elő feldolgozást, ezért más megoldást kerestünk. Ehhez azt használtuk fel, hogy a GridFTP alapját képező FTP protokoll szerver-specifikus FTP parancsokat is engedélyez a SITE utasítás segítségével, és a szerverek egy része, köztük a GRID-ben használt wuftpd is, szerver oldali parancsok kiadását is lehetővé teszi az EXEC nevű SITE parancs segítségével. Ez a megoldás a meglévő ERET és ESTO GridFTP bővítésnél egy általánosabb megoldást nyújt a meglévő keretek mellett. Két parancsot igényel, amelyből az első rövid idejű, gyors parancs - a szerver oldalon elvégzendő feldolgozást (futtatandó parancsot) adja meg, a második az átviendő adat mennyiségétől függő ideig tartó - parancs pedig a feldolgozott adatok átvitelét hajtja végre. A két parancs sorrendje fordított is lehet, attól függően, hogy adat írásról vagy olvasásról van szó. Kedvező tapasztalatok esetén ezeket a műveleteket egyetlen új GridFTP paranccsá lehetne egyesíteni. dg-rep-2-7-persistent.doc 2002-06-10 5/10

A módszer lépései A módszer a következő lépésekből áll: adatfeldolgozó program specifikálása, elkészítése, adatfeldolgozó program elhelyezése a szerveren, adat olvasáskor az adat kinyerés végrehajtatása a szerveren SITE EXEC utasítással, kinyert adatok olvasása RETR utasítással, adat írás esetén először el kell küldeni a tárolandó adatokat a STOR utasítással, végre kell hajtatni a feldolgozást (tárolást) a szerver oldalon futtatott SITE EXEC utasítással. Módszerünk részletezése A párhuzamos feldolgozás kiterjesztésének lehetőségei a jelenlegi kereteken belül A GridFTP protokollt először a Globus Toolkit V2.0 részeként valósították meg, amely 2201. novemberétől 2002. áprilisáig beta állapotban volt elérhető, majd 2002. áprilisától jelent meg a végleges verziója. Ennek része a GridFTP Server (GT2GridFTP), amely a nyílt forráskódú wuftpd FTP szerver többek között GridFTP protokollal bővített változata. A fenti szerver gyakorlatilag megvalósítja a draft GridFTP protocol című dokumentumban ajánlott FTP kiterjesztéseket. A szerver működésének (forráskódjának), illetve az FTP protokoll, valamint a GridFTP protokollban leírt kiterjesztések tanulmányozása után a szerver oldali adatfeldolgozás (a párhuzamos adatfeldolgozás) lehetőségeit illetően a következőket lehetett megállapítani. 1. A GridFTP protokollban definiált és a GridFTP szerverben megvalósított ESTO és ERET utasítás csak korlátozott szerver oldali feldolgozást tesz lehetővé. Az ESTO utasítás egy adott file-darab tárolására, az ERET utasítás pedig egy adott file-darab elővételére alkalmas, tehát alkalmazásuk esetén nem szükséges a teljes file átvitele. Amennyiben az adat struktúrája ilyen egyszerű módon írható le, akkor a fenti két utasítás jól használható. Meg kell jegyezni, hogy a GridFTP protokoll leírás lehetővé teszi a fenti két utasítás további lehetőségekkel való kiterjesztését is. 2. Az eredeti FTP protokoll lehetőséget ad a protokollban nem szereplő, úgynevezett szerver specifikus utasítások végrehajtására is a SITE nevű FTP utasítás segítségével. Ezek az utasítások általában akkor használhatók eredményesen, ha a kliensen futó program ismeri dg-rep-2-7-persistent.doc 2002-06-10 6/10

a szerver operációs rendszerét, ami akkor természetes, ha a kliens is azonos (hasonló) operációs rendszer alatt fut. Az egyik ilyen lehetséges utasítás az EXEC utasítás, a Unix exec megfelelője, amelynek segítségével a szerver gépen (a szerveren megtalálható) program futtatása kezdeményezhető. Ez a tulajdonság, amelyet a GridFTP szerver is megvalósít, elvileg tetszőleges szerver oldali feldolgozást tesz lehetővé. A fentiekben vázolt lehetőségek alapján kiindulásként célszerű a SITE EXEC FTP utasítást alkalmazni a párhuzamos adatfeldolgozás további kiterjesztésére. Ezt a következőkkel lehet indokolni. 1. Az ESTO és az ERET utasítás jelenlegi formájában csak igen korlátozott szerver oldali feldolgozást tesz lehetővé. Ezzel szemben egy adott feladat elvégzésére kifejlesztett program pontosan a kívánt, azaz a program specifikációjában rögzített feladatot látja el. 2. A SITE EXEC utasítás használatának előnye az is, hogy a meglévő szerver változatlan formában használható, nem kell azt módosítani. A kívánt feldolgozási feladat a megfelelő program megírásával és a szerveren való elhelyezésével megvalósítható. Az kétségtelen, hogy a programok megírása többlet erőfeszítést igényel, de egy bizonyos idő elteltével a feldolgozó programok olyan könyvtára jöhet létre, amelyből az aktuális feladatnak megfelelően válogatni lehet. 3. Az a megkötés, hogy szerver specifikus (az adott szerverre jellemző) utasításról van szó, nem komoly korlátozás. Egyrészt a Grid egyelőre gyakorlatilag csak Unix, illetve Linux operációs rendszereken van megvalósítva, tehát a szerver és a kliens operációs rendszerek nem eltérőek. Másrészt az adott feldolgozást végző program elindítása is egy szabályokkal jól leírható utasítás, amelyet mint ilyet, szervertől (és operációs rendszertől) függetlennek lehet tekinteni. 4. Amennyiben a fenti megoldás, azaz a szerveren való adatfeldogozó program futtatás jól használható, akkor ezt egy újabb GridFTP parancsként lehet általánosítani. Hasonló dolog történt akkor, amikor a GridFTP protokoll a különböző TCP puffer méret állító szerver specifikus (SITE) parancsok (RBUFSIZE, RETRBUFSIZE, RBUFSZ, SBUFSZ, BUFSIZE) általánosításaként definiálta a Set Buffer Size (SBUF) parancsot. A párhuzamos feldolgozás kiterjesztésére javasolt megoldás gyakorlati megvalósítása A gyakorlati megvalósításhoz ismerni kell az alkalmazott GridFTP server SITE EXEC parancsának sajátosságait. (Ezen sajátosságok miatt lehet később célszerű egy általánosított megoldást kidolgozni.) A wuftpd szerveren alapuló GT2GridFTP sajátosságai a következők. dg-rep-2-7-persistent.doc 2002-06-10 7/10

1. A szerver csak előre definiált könyvtár(ak)ban levő programok futtatását engedélyezi. Az EXEC parancsban kapott programnévből törli az elérési útra vonatkozó (PATH) információt és a programot az általa előre definiált könyvtár(ak)ban keresi. Ezért a feldolgozó programot mindenképpen ezen könyvtárak valamelyikében kell elhelyezni. 2. A szerver csak a futtatott program standard outputra írt üzeneteit küldi vissza mint válasz adatot a programot futtató kliensnek. Ezért az adat feldolgozás eredménye általában nem küldhető közvetlenül vissza az adatot előzetes feldolgozással olvasó kliens programnak. 3. Mivel az EXEC utasításnak csak parancs-sori paraméterek adhatók át, a feldolgozás után (illetve során) tárolandó adatok biztosan nem küldhetők el az EXEC utasítással együtt. Ezeket előbb egy korábban végrehajtott tárolási utasítással kell a szerverre eljuttani. A fentiek alapján összefoglalhatók a SITE EXEC utasítás párhuzamos (szerver oldali) adatfeldolgozásra való tényleges használatának lépései. Az adatcserét és feldolgozást egyelőre több lépésben lehet és célszerű elvégezni. Az egyik lépés a tényleges adatátvitel, amelynek során a feldolgozott adatok olvasása, vagy a feldolgozandó adatok írása történik. A másik, de nem minden esetben második lépés pedig a szükséges adatfeldolgozást végző program futtatása. (A feldolgozás szempontjából mellékes, de az adat-átvitel lezajlása után nem szabad elfeledkezni az átmenetileg keletkezett file törléséről.) A konkrét teendők tehát a következők. 1. A megfogalmazódott igények alapján specifikálni kell a szerver oldali adatfeldolgozást végző programot. 2. A programot az elkészítés után a szerver megfelelő könytárában el kell helyezni, amely ettől kezdve az adott szerveren használható lesz. 3. Adat olvasáskor először a szükséges feldolgozást (adat kinyerést) kell végrehajtatni a szerveren a SITE EXEC utasítás segítségével. Az eredményt nyilván a szerveren kell tárolni, ahonnan a következő lépésben felhasználó azt kiolvashatja. 4. A feldolgozott (kinyert) adatot RETR utasítással lehet kiolvasni. A feldolgozott adatokat tartalmazó file nevének a felhasználó számára ismertnek kell lennie. Ezen átmeneti file névnek egyedinek kell lenni, ami felhasználó általi név megadásnál nincs biztosítva. Ezért célszerű, ha az eredményt tároló file nevét a feldolgozó program állapítja meg, amelyet feldolgozás után visszaküld kliensnek. 5. Adat tárolás esetén először a feldolgozandó (tárolandó) adatokat kell elküldeni egy STOR utasítással a szervernek. Itt is lényeges az átmeneti tároló file neve, amelyet a feldolgozó programnak majd ismernie kell. Ez nem lehet előre definiált név, mert akkor a feldolgozó programot nem lehet több felhasználónak egyidejűleg meghívni (lásd 4. pont). Az átmeneti tároló file nevét a létrehozásakor kell egyedileg megállapítani, amelyet aztán a feldolgozó programnak paraméterként át kell adni. 6. A tényleges adat tárolás (szerver oldali feldolgozás) végrehajtásához a SITE EXEC segítségével le kell futtatni a megfelelő feldolgozó programot. Az átmeneti file nevét paraméterként kell megadni. dg-rep-2-7-persistent.doc 2002-06-10 8/10

7. Végül gondoskodni kell az átmenetileg keletkezett file törléséről. Ennek a nevét mindkét félnek tudnia kell, de a törlést az adatátvitel tényleges lezajlása után a felhasználónak (kliensnek) kell végrehajtania. A fentiekből látszik, hogy tulajdonképpen három lépésben hajtható végre a szerver oldali feldolgozással egybekötött adatátvitel, ami az átviteli idő növekedést sejteti. Figyelembe kell azonban venni, hogy három lépésből azonban csak egyben történik viszonylag hosszabb időt igénybe vehető tényleges adatátvitel. Ugyanakkor az átviendő adatok mennyisége is jelentősen kevesebb lehet annál, mintha a teljes adatmennyiséget kellene továbbítani. Ebből két következtetés vonható le. Egyrészt szerver oldali (párhuzamos) adatfelfolgozásnak akkor van értelme, ha az jelentősen csökkenti a ténylegesen átviendő adatok mennyiségét. Másrészt megfontolandó a fenti lépések netán egy lépésre csökkentése, azaz fenti eljárást egy lépésben végrehajtó új GridFTP utasítás, vagy opció bevezetése. A párhuzamos feldolgozás általánosítása a GridFTP protokoll kiegészítésére A párhuzamos adatfeldolgozásra a fentiekben javasolt megoldás egyik előnye az, hogy a szerver oldali feldolgozást a meglévő keretek mellett lehet bővíteni. Segítségével nagy terjedelmű adatból (adatba) kis mennyiségű adat mozgatása hatékonyan megoldható. A következők miatt azonban érdemes megfontolni GridFTP parancsként való általánosítását. 1. A SITE EXEC utasítás, amelynek segítségével a szerver oldali feldolgozás elvégezhető volt, nem minden FTP szerveren elérhető funkció. A jelenlegi Globus (GT2GridFTP) GridFTP szerveren ugyan létezik, de egy másik szerveren esetleg nem lesz alkalmazható, mert nem a GridFTP protokoll része. (Természetesen ez akkor is előfordulhat, ha a GridFTP protokoll része lesz, mert a különböző szerverek különböző részét valósít(hat)ják meg egy protokollnak, amint ez az FTP-nél is tapasztalható.) 2. A leírt algoritmus több lépésből áll, amely esetleg lelassíthatja az adatátviteli folyamatot. Bár az adatátvitel csak az egyik lépés része, de a feladat biztonságos végrehajtásához mindhárom lépés hibátlan teljesülése szükséges, amely három külön (Grid)FTP utasítást igényel. 3. Amennyiben a feladatra egy új utasítást sikerül definiálni, akkor az átmeneti tároló file kezelésével kapcsolatos is problémák megoldódnak, hiszen annak kezelése a szerver oldalon automatikusan elvégezhető. (A szerver automatikusan létrehozza a szükséges átmeneti file-t, annak nevét átadja a feldolgozó programnak, majd az utasítás sikeres befejezése után automatikusan törli azt.) Példaképpen a szerver oldali feldolgozást eddig segítő ERET és ESTO utasítás egy lehetséges bővítése a következő lehetne. Mindkét utasítás két alapvető részből áll. Az egyik (az első) az átviteli módot adja meg, a másik (a második) pedig annak a file-nak a nevét, amelyet a szerver oldalon fel kell dolgozni. Az eddig definiált egyetlen átviteli mód mellett be lehet vezetni az adatfeldolgozást végző program (nevének) megadását. 1. Az ERET utasítás egyetlen opciója a P betűvel jelölt partial (részleges) adatátvitel, amelynél egy file-beli kezdőcímet címet (offset) és egy adathosszt (size) kell megadni. Az X betűvel jelölt bővítés az execute nevet viselhetné, amelynél a (szerveren található) dg-rep-2-7-persistent.doc 2002-06-10 9/10

feldolgozó program nevét kell megadni. Tehát az ERET definíciója a bővítéssel együtt a következő. ERET <SP> <retrieve-mode> <SP> <filename> retrieve-mode ::= P <SP> <offset> <SP> <size> X <SP> <exec-filename> offset ::= 64 bit integer size ::= 64 bit integer 2. Az ESTO utasítás egyetlen opciója az A betűvel jelölt adjusted (részleges) adatátvitel, amelynél a file-beli kezdőcímet címet (offset) kell megadni. Az X betűvel jelölt bővítés az execute nevet viselhetné, amelynél a (szerveren található) feldolgozó program nevét kell megadni. Tehát az ESTO definíciója a bővítéssel együtt a következő. ESTO <SP> <store-mode> <filename> store-mode ::= A <SP> <offset> X <SP> <exec-filename> offset ::= 64 bit integer A fenti bővítések egyelőre nem teszik lehetővé, hogy a feldolgozó programnak további paramétereket lehessen megadni, ami a feldolgozó programok használhatóságát jelentősen csökkentheti. Ennek kiküszöbölésére újabb bővítésként a feldolgozandó file neve (filename) után parancs-sori paraméterek megadása következhet. dg-rep-2-7-persistent.doc 2002-06-10 10/10