Distributed job execution in IVIS Framework
Distribuované vykonávání jobu v IVIS Framework
bachelor thesis (DEFENDED)
![Document thumbnail](/bitstream/handle/20.500.11956/184267/thumbnail.png?sequence=8&isAllowed=y)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/184267Identifiers
Study Information System: 250787
Collections
- Kvalifikační práce [11264]
Author
Advisor
Referee
Horký, Vojtěch
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Programming and Software Development
Department
Department of Distributed and Dependable Systems
Date of defense
7. 9. 2023
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
distribuovaný výpočet|cloud|zpracování dat|javascriptKeywords (English)
distributed computing|cloud|data processing|javascriptTato práce se zabývá distribucí výpočtu v datově zpracovatelském a vi- zualizačním frameworku IVIS. V současné implementaci jsou takzvané Joby spouštěny pouze na hostujícím stroji IVISu, což může vyvolat obavy ze šká- lovatelnosti. Práce se pokouší umožnit vykonávání Jobů na předkonfiguro- vaných strojích, komerčních cloudových platformách a HPC clusteru. Toho je dosaženo pomocí nové entity "executora" při zajištění kompatibility s pů- vodní architekturou Jobů a, protože komuinkace se vzdálenými stroji je usku- tečňována přes Internet, bezpečnosti. Součástí práce jsou také 2 pomocné aplikace, které zajišťují vzdálenou kontrolu nad stroji a správu skupin strojů (tzv. poolů). Dosáhli jsme paralelizace běhů Jobů. Na práci lze také dále navázat například podporou pro specializovaný hardware nebo zvýšením dy- namičnosti alokace vzdálených strojů.
This thesis tackles computation distribution in the IVIS data processing and visualization framework. In the existing versions, so-called Jobs are be- ing executed only on the IVIS host machine, raising scalability concerns. The thesis attempts to allow the distributed execution on manually-provisioned machines, commercial cloud platforms, and an HPC cluster. It does so by introducing the "executor" entity, ensuring adherence to the present Job ar- chitecture and, because the communication is done over the Internet, security. We introduce two auxiliary applications which manage the remote control of a machine and the management of a set of machines (a pool). We achieve parallelization of running Jobs. We also see the possibility of further exten- sion to enable the usage of specialized hardware or more dynamic machine allocation.