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.