Návrh a vývoj škálovatelného serveru pro paralelizaci běhů optimalizačních algoritmů
Design and implementation of a scalable server for parallelization of optimization algorithms execution
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Lukáš Forst
Vedoucí práce
Vaněk Ondřej
Oponent práce
Bureš Miroslav
Studijní obor
SoftwareStudijní program
Otevřená informatikaInstituce přidělující hodnost
katedra počítačůPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Velké optimalizační úlohy nejsou jednoduché a pro nalezení řešení vyžadují velké množství výpočetního výkonu, stejně jako výpočetního času. Proto je výzvou je vyřešit paralelně a v co nejkratším možném čase. Optimalizační problémy nejsou homogenní skupina, ale popisují často kompletně odlišnou doménu a tedy mohou být velice různorodé. Problém exekuce optimalizačních programů a jejich výkonové náročnosti, lze řešit za použití inteligentního plánovače, který umožňuje naplánovat samotné spuštění úlohy v distribuovaném výpočetním prostředí. Tato práce se zabývá návrhem vyvažovače zátěže vyvinutého přímo pro optimalizační algoritmy, který minimalizuje plýtvání zdroji a zvyšuje výkon pomocí správného rozdělení využití mezi více instancí těchto algoritmů. Práce analyzuje nejmodernější řešení a technologie, které se používají k řešení takových problémů ve velkých infrastrukturách. Následně je navrženo nové řešení pro vyrovnávání zátěže specifické pro danou doménu. Práce obsahuje matematickou formalizaci problému optimalizace vyvažování zátěže a zároveň popisuje a řeší další nalezené problémy, jako je například predikce hyperbolických časových řad. Následně je v práci navržena architektura na bázi mikroslužeb pro systém vyvažování zátěže a také je daný systém kompletně realizován. Zároveň jsme navrhli a implementovali simulace a experimenty, které testují implementovaný vyvažovač zátěže. Závěrečná kapitole práce se zabývá vymezením nezbytných kroků pro úplnou produkcionalizaci navrženého systému vyvažování zátěže a také nastiňuje budoucí vývoj nástrojů a knihoven, které byly vyvinuty vedle primárního systému. Large-scale optimization problems are non-trivial to solve and require a significant amount of computational resources as well as computational time to find a solution. The challenge is to solve not only a single task but a multitude of them in a parallel manner. Additionally, the tasks are non-homogeneous, often describing a different problem. This problem can be solved by designing and intelligent scheduler able to schedule such tasks on a distributed computational platform. This work introduced the load balancer developed explicitly for the optimization algorithms, which should minimize resources wasting and increase the performance using correct utilization distribution across the multiple instances of such algorithms. The thesis analyzes the state-of-the-art solutions and technologies, that are being used to solve load balancing problems in the large infrastructures. Subsequently, the new domain-specific load balancing solution is proposed. The thesis proposes the mathematical formalization of the load balancing optimization problem and the related challenge, such as hyperbola time series prediction. Subsequently, the thesis designs the microservices architecture for the load balancer and also delivers the complete implementation of the proposed system. This thesis also proposed and implemented the simulations and experiments, which evaluates the implemented load balancer. The final chapter of the thesis addresses out of scope steps for complete productionalization of the proposed load balancing system and also outlines the future development of the tools and libraries, that was developed alongside the primary system.
Kolekce
- Bakalářské práce - 13136 [1124]