Scalable optimal deployment in the cloud of component-based applications using optimization modulo theory, mathematical programming and symmetry breaking

Mădălina Eraşcu,Flavia Micota,Daniela Zaharie
DOI: https://doi.org/10.1016/j.jlamp.2021.100664
IF: 1.088
2021-06-01
Journal of Logical and Algebraic Methods in Programming
Abstract:<p><em>Automated deployment</em> of <em>component-based applications</em> in the Cloud consists in the allocation of virtual machines (VMs) offers from various Cloud Providers such that the constraints induced by the interactions between components and by the components hardware/software requirements are satisfied and the performance objectives are optimized (e.g. costs are minimized). It can be formulated as a constraint optimization problem, hence, in principle, the optimization can be carried out automatically. In the case the set of VM offers is large (several hundreds), the computational requirement is huge, making the automatic optimization practically impossible with the current general optimization modulo theory (OMT) and mathematical programming (MP) tools. We overcame the difficulty by methodologically analyzing the particularities of the problem with the aim of identifying search space reduction methods. These are methods exploiting: <em>(i)</em> the <em>symmetries</em> of the general Cloud deployment problem, <em>(ii)</em> the <em>graph representation</em> associated to the structural constraints specific to each particular application, and <em>(iii)</em> their combination. An extensive experimental analysis has been conducted on four classes of real-world problems, using six symmetry breaking strategies and two types of optimization solvers.</p><p>As a result, the combination of a variable reduction strategy with a column-wise symmetry breaker leads to a scalable deployment solution, when OMT is used to solve the resulting optimization problem.</p>
computer science, theory & methods,logic
What problem does this paper attempt to address?