Affordable Access

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

Authors
  • forst, lukáš
Publication Date
Jun 05, 2019
Source
Digital Library of the Czech Technical University in Prague
Keywords
License
Unknown

Abstract

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.

Report this publication

Statistics

Seen <100 times