Cloud szolgáltatás párhuzamos matlab "

Felhőalapú szolgáltatás "Parallel Matlab"

Sozykin AV ([email protected]) - Matematika és Mechanika Intézet, Orosz Tudományos Akadémia Ural Branch, Ekaterinburg, Jekatyerinburg, Oroszország, Műszaki Tudományok Doktora, ML Goldstein. ([email protected]) - Matematika és Mechanika Intézet, Orosz Tudományos Akadémia Ural Branch, Ekaterinburg, Ekaterinburg, Oroszország, Cand.Tech.Sci., Gribova V.V. ([email protected]) - Automatizálási és Ellenőrzési folyamatok Intézete, Távol-Kelet osztály, Orosz Tudományos Akadémia, Vladivostok, Oroszország, Műszaki Tudományok Doktora, F. Moskalenko ([email protected]) - Automatizálási és Ellenőrzési folyamatok Intézete, Távol-Kelet osztály, Orosz Tudományos Akadémia, Vladivostok, Oroszország, Műszaki Tudományok Doktora







A modern szuperszámítógépek (SC) fejlesztése, beleértve a több ezer processzor magot és több száz gyorsítót (NVIDIA Tesla, Intel Xeon Phi), kihívás. Hatékonyságának növelése az Egyesült Királyság lehet az oka, hogy a felhasználók egy ismerős objektumorientált szoftver csomag, amely támogatja a párhuzamos számítástechnika. Az egyik ilyen csomag a Matlab, amelyet ma széles körben használnak a tudományos és mérnöki számításokhoz. Azonban a Matlab párhuzamos verziója, hasonlóan más hasonló csomagok párhuzamos változataihoz, rendkívül összetett a telepítés és a karbantartás során, következésképpen szinte lehetetlen a felhasználók számára, hogy a csomagot egymástól függetlenül telepítsék és biztosítsák a SC párhuzamos üzemmódban való működését.

A tényleges feladat az, hogy a SaaS modell segítségével felhőkompozícióban biztosítsa a felhasználóknak az IC-vel integrált Matlab szolgáltatást. Az integráció azt jelenti, hogy képes a számítástechnikai feladatok elvégzésére az SC-ben a Matlab grafikus felületéről, és feldolgozhatja a számítások eredményeit is, például a számítások eredményeinek vizualizálásával, Matlab használatával. A csomag telepítését és karbantartását a felhő platform minősített adminisztrátora végzi, amely lehetőséget nyújt a felhasználóknak tudományos és technikai problémák megoldására, és nem tölti az időt és erőfeszítéseket a telepítésre és az adminisztrációra. A probléma megoldásához létrejön egy "párhuzamos matlab" felhőszolgáltatás.

Párhuzamos számítástechnika a Matlab-ban

A Matlab számos mechanizmust tartalmaz a párhuzamos számítások végrehajtására. A legegyszerűbb megközelítés a többszálú szövegek használatán alapszik, és közös memóriával rendelkező rendszereken dolgozik. A mátrix műveletek, a lineáris algebra funkciók, a Fourier-transzformációs számítások és néhány mások többszálú implementációval rendelkeznek a Matlab-ban, ami lehetővé teszi több processzor vagy processzor magjának használatát. A multithreading használatához nem kell módosítania a programot és további licenceket vásárolnia.

A Matlab párhuzamos számítástechnikai eszközkészlet a Matlab eszközök szabványos képességeit adja hozzá a párhuzamos hurkok és elosztott tömbök leírásához. A párhuzamos számítástechnikai eszközkészlet a megosztott memóriával és grafikus gyorsítóval rendelkező szervereken működik.

A Matlab Elosztott Számítógép Kiszolgálót arra tervezték, hogy futtassa a Matlab programokat egy elosztott memóriával rendelkező fürtön. Ugyanakkor egy vagy több Matlab folyamat indul el a klaszter minden csomópontján, amelyek az MPI-n keresztül egymás között cserélik egymást. Az elosztott számítástechnikai kiszolgáló egy dedikált Matlab-fürten és egy megosztott fürtön is működhet a feladatindítási rendszeren.

Lehetőség van arra, hogy megoszthassuk a párhuzamos számítások különböző megközelítéseit a Matlabban. Például egy fürtben több Matlab-folyamatot futtathat, amelyek mindegyike egy többszálú függvényt vagy egy GPU-t használ.

Így annak érdekében, hogy a Matlab párhuzamos számításait elvégezzék az NC-n, az alábbiakra van szükség:

- SC a telepített Distributed Computing Serverrel, amely integrálva van a feladat indító rendszerrel;

- Matlab és Parallel Computing Toolbox grafikus felületű felhasználói munkaállomás, amely kiszámításra képes feladatokat küldeni az SC feladatsorba.

A felhasználó munkahelyét úgy tervezték, hogy a felhőbe kerüljön, és az SaaS-modell használatával engedélyezett.

Meglévő megközelítések a Matlab munkájának megszervezésében a felhőkonfigurációban

A Cornell Egyetem a "Matlab on the Teragrid" projektet [1] hajtotta végre, amelynek célja a Matagum és a Teragrid felhasználók szolgáltatásként történő nyújtása, beleértve a tudományos együttműködési portálok, mint a nanohub.org [2] használatát. A Cornell University (USA) projekt fejlesztésének eredményeképpen létrehozták a Cloud Cloud [3] felhőplatformot, amely az egyik szolgáltatás, amely a Matlab. A Red Cloud azt javasolja, hogy egy elosztott számítástechnikai kiszolgálóval felhőalapú klasztert használjon a párhuzamos számítástechnika számára. Matlab kliens Parallel Computing Toolbox, amely start-up problémák a felhő klaszter, telepíteni kell a felhasználó számítógépén. Ebben az esetben a felhasználónak további szoftvereket kell telepítenie és konfigurálnia ahhoz, hogy kölcsönhatásba lépjen a Cloud Cloud felhővel.







Nyilvánvaló, hogy jelenleg nincs általánosan elfogadott architektúra a Matlab felhőszolgáltatásként a párhuzamos számításhoz. A Mathworks Cloud alapvetően korlátozott képességekkel rendelkezik, a Matlab az Amazon EC2-ben csak az Egyesült Államokban és Kanadában érhető el, és munkájának részletei nem nyílnak meg. A TeraGrid [1] Matlab architektúrájáról részletes információk állnak rendelkezésre, de ez a megoldás megköveteli a Matlab kliens és további szoftver telepítését a felhasználó számítógépén.

Felhő szolgáltatás „Parallel Matlab» javasolt építészeti megoldás, amely lehetővé teszi, hogy a szolgáltatás nem csak a klaszter Distributed Computing Server, de Matlab ügyfél grafikus és Parallel Computing Toolbox. Így a felhasználónak nem kell további szoftvereket telepítenie és konfigurálnia; a párhuzamos Matlab használatához elegendő csak egy webböngésző. A "Parallel Matlab" felhőszolgáltatás fejlett architektúrájának rendszere az ábrán látható.

A felhőalapú platformon egy grafikus felületen keresztül telepített Matlab és a SaaS modell felhasználói számára biztosított. A felhasználók a webes felületen keresztül érhetők el a VNC segítségével. Integráció szuperszámítógép segítségével végzik, Parallel Computing Toolbox, amely lehetőséget biztosít arra, hogy befolyásolja a szuperszámítógép erőforrás menedzser. Parallel Computing Toolbox segítségével a GUI Matlab a feladatot, hogy a sorban a számítás az Egyesült Királyságban, végrehajtásának nyomon követése a feladat, és befejezése után a számítási terhelés eredmények további feldolgozásra a GUI. Az SC erőforrás-menedzser a feladat megkezdése előtt elindítja a szükséges számú Matlab (Matlab munkatárs) folyamatot az SC számítógépes csomópontjain, amelyek ezután elvégzik a feladat számítását.

A Matlab és a felhő helyes együttműködéséhez két kiegészítő feladatot kell megoldani.

1. A felhőben előkészített programkódot és adatokat az SC-nek rendelkezésre kell bocsátania, amikor a feladatot a számlán elindítják.

2. Szükséges koordinált mechanizmust biztosítani a felhasználók hozzáférésének ellenőrzésére a felhőplatform és az Egyesült Királyság számára egyaránt.

A program és az adatkód elérhetőségének problémája két módon megoldható. Az adatok és a kód lehet másolni a felhő platform az Egyesült Királyságban jelent Parallel Computing Toolbox a készítmény a probléma a helyén. Ez a megközelítés könnyen megvalósítható, de nem működik nagy mennyiségű adattal. Egy alternatív megoldás egy megosztott tárolórendszer létrehozása, amely mind a felhőalapú platformhoz, mind az SC-hez kapcsolódik. Ebben az esetben a felhőplatformon készített programok és adatok azonnal elérhetők lesznek a Felügyelő Bizottságnak a közbenső másolás nélkül. Mivel a Felügyelőség elsősorban a nagy mennyiségű adatfeldolgozással foglalkozó feladatokat kezeli, párhuzamos tárolási megközelítést választottak ki a Parallel Matlab felhőszolgáltatás számára, ezzel elkerülve a bemeneti adatok és számítási eredmények ideiglenes másolását. Ennek a megközelítésnek a hátránya, hogy a felhőplatform és a kiszolgáló kiszolgálói csomópontjai kiszolgálóin ugyanazt az operációs rendszert és ugyanazt a hozzáférési technológiát kell használni a tárolórendszerhez, ami nem mindig megfelelő.

A javasolt architektúra az UM RAS [4] és IC "URAN" számítógépes felhőplatformja alapján valósul meg az IMM UrB RAS-ban. A felhőplatformban virtuális gépek sorozatát hozza létre, ahol a Matlab egy grafikus interfésszel és egy párhuzamos számítástechnikai eszköztárral van telepítve. A virtuális gépek a Scientific Linux operációs rendszert futtatják. A felhasználók hozzáférése a VNC [5] és a web-client noVNC alapján történik. A felhasználók hozzáférhetnek a szolgáltatáshoz egy webböngésző (noVNC) és egy VNC ügyfél segítségével.

Az URAN szuperszámítógéppel való integráció a forrásmenedzser SLURM [6] -én alapul. A párhuzamos számítástechnikai eszközkészlet nem tartalmaz beépített támogatást a SLURM használatához, így a Generic Scheduler Interface-t használták, amelyhez a Client Submit és Decode funkciók SLURM támogatással támogatottak. Amikor a feladat elindul, a virtuális gép a felhőalapú Matlab segítségével létrehozza az URAN felügyeleti számítógépen keresztül az SSH-n keresztüli kapcsolatot, és a SLURM parancsokat használja a feladat várakoztatásához. A feladat állapotát és számítási eredményeit a Felhőplatformon a Matlab grafikus felületén figyelemmel kísérheti a Parallel Computing Toolbox parancsainak használatával.

Összefoglalásként megjegyezzük, hogy a "Parallel Matlab" felhőszolgáltatás szervezésének megközelítését ismertetjük. Az architektúra felhő szolgáltatás, megkülönböztető jellemzője az, hogy a felhasználók vannak ellátva nemcsak a számítási klaszter Distributed Computing Server, hanem grafikus Matlab felületet képes futtatni számítási feladatok egy egész fürt segítségével Parallel Computing Toolbox. A javasolt architektúra végre a IMM UB RAS-alapú számítástechnika felhő platform UB RAS és SC „Uránusz”. A gyakorlati megvalósítás megerősítette a javasolt architektúra munkaképességét.

Jelenleg a Parallel Matlab szolgáltatás használatának jelentıs korlátozásait a Mathworks engedélyezési politikája szabja meg, amely nem biztosít engedélyt a felhõben való használatra. Csak az engedélyező szervezet képes együttműködni a Matlab programmal. Így az engedélyezési korlátozások miatt a Parallel Matlab szolgáltatás jelenlegi megvalósítása csak az IMM UrB RAS személyzete számára áll rendelkezésre, ami jelentős hátrány, mivel az URAN szuperszámítógépet az UB RAS bármely intézményére szánják.

A további munka iránya egy virtuális webes laboratórium létrehozása a "Párhuzamos programozás a Matlabban", amely a "Parallel Matlab" felhőszolgáltatás mellett egy képzést és párhuzamos számítási módszereket is tartalmaz Matlabban. A tervek szerint lehetővé kell tenni a virtuális gépek Matlab OS Windows rendszerű grafikus interfész használatát, amelyet a felhasználók igényelnek. Ehhez meg kell oldanod a problémát a Windows rendszerben előállított kód és adatok átvitelére Linux-ra.




Kapcsolódó cikkek