Zephyrus2: On the Fly Deployment Optimization Using SMT and CP Technologies

Modern cloud applications consist of software components deployed on multiple virtual machines. Deploying such applications is error prone and requires detailed system expertise. The deployment optimization problem is about how to configure and deploy applications correctly while at the same time minimizing resource cost on the cloud. This problem is addressed by tools such as Zephyrus, which take a declarative specification of the components and their configuration requirements as input and propose an optimal deployment. This paper presents Zephyrus2, a new tool which addresses deployment optimization by exploiting modern SMT and CP technologies to handle larger and more complex deployment scenarios. Compared to Zephyrus, Zephyrus2 can solve problems involving hundreds of components to be deployed on hundreds of virtual machines in a matter of seconds instead of minutes. This significant speed-up, combined with an improved specification format, enables Zephyrus2 to interactively support on the fly decision making.

[1]  Sharad Malik,et al.  Declarative Infrastructure Configuration Synthesis and Debugging , 2008, Journal of Network and Systems Management.

[2]  Gang Yin,et al.  Online Self-Reconfiguration with Performance Guarantee for Energy-Efficient Large-Scale Cloud Computing Data Centers , 2010, 2010 IEEE International Conference on Services Computing.

[3]  Mateu Villaret,et al.  Solving constraint satisfaction problems with SAT modulo theories , 2012, Constraints.

[4]  Peter J. Stuckey,et al.  MiniSearch: A Solver-Independent Meta-Search Language for MiniZinc , 2015, CP.

[5]  Mark Burgess,et al.  A Site Configuration Engine , 1995, Comput. Syst..

[6]  Jean-Charles Régin,et al.  The Package Server Location Problem , 2013, ICORES.

[7]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[8]  Roberto Di Cosmo,et al.  Automatic Application Deployment in the Cloud: from Practice to Theory and Back (Invited Paper) , 2015, CONCUR.

[9]  Barry O'Sullivan,et al.  Bin Packing with Linear Usage Costs - An Application to Energy Management in Data Centres , 2013, CP.

[10]  Maurizio Gabbrielli,et al.  A Multicore Tool for Constraint Solving , 2015, IJCAI.

[11]  Roberto Di Cosmo,et al.  Automatic Deployment of Services in the Cloud with Aeolus Blender , 2015, ICSOC.

[12]  Pascal Van Hentenryck,et al.  Load Balancing and Almost Symmetries for RAMBO Quorum Hosting , 2010, CP.

[13]  Roberto Di Cosmo,et al.  Aeolus: Mastering the Complexity of Cloud Application Deployment , 2013, ESOCC.

[14]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[15]  Pascal Van Hentenryck,et al.  Bandwidth-Limited Optimal Deployment of Eventually-Serializable Data Services , 2009, CPAIOR.

[16]  Gianluigi Zavattaro,et al.  Declarative Elasticity in ABS , 2016, ESOCC.

[17]  Wilhelm Hasselbring,et al.  Search-based genetic optimization for deployment and reconfiguration of software in the cloud , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[18]  Jakub Zwolakowski A formal approach to distributed application synthesis and deployment automation. (Une approche formelle à la synthèse des applications distribuées et leur déploiement automatique) , 2015 .

[19]  Einar Broch Johnsen,et al.  Zephyrus2: On the Fly Deployment Optimization Using SMT and CP Technologies , 2016, SETTA.

[20]  Andreas Timm-Giel,et al.  Optimal mapping of virtual networks considering reactive reconfiguration , 2012, 2012 IEEE 1st International Conference on Cloud Networking (CLOUDNET).

[21]  Maurizio Gabbrielli,et al.  SUNNY: a Lazy Portfolio Approach for Constraint Solving , 2014, Theory Pract. Log. Program..

[22]  Edward G. Coffman,et al.  Approximation algorithms for bin packing: a survey , 1996 .

[23]  Maurizio Gabbrielli,et al.  Self-Reconfiguring Microservices , 2016, Theory and Practice of Formal Methods.

[24]  Michael J. Maher,et al.  The G12 Project: Mapping Solver Independent Models to Efficient Solutions , 2005, CP.

[25]  Luiz André Barroso,et al.  The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines , 2009, The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines.

[26]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[27]  Nikolaj Bjørner,et al.  νZ - An Optimizing SMT Solver , 2015, TACAS.

[28]  Xavier Lorca,et al.  Bin Repacking Scheduling in Virtualized Datacenters , 2011, CP.

[29]  Peter J. Stuckey,et al.  MiniZinc: Towards a Standard CP Modelling Language , 2007, CP.

[30]  Rupak Majumdar,et al.  Engage: a deployment management system , 2012, PLDI '12.

[31]  Roberto Di Cosmo,et al.  Automated synthesis and deployment of cloud applications , 2014, ASE.

[32]  Gianluigi Zavattaro,et al.  On the Integration of Automatic Deployment into the ABS Modeling Language , 2015, ESOCC.

[33]  Jean-Charles Régin,et al.  Discussion about Constraint Programming Bin Packing Models , 2011, AI for Data Center Management and Cloud Computing.

[34]  Goetz Botterweck,et al.  Consistency checking for the evolution of cardinality-based feature models , 2014, SPLC.

[35]  Luke Kanies Puppet: Next-Generation Configuration Management , 2006, login Usenix Mag..

[36]  Andrew D. Gordon,et al.  A Declarative Approach to Automated Configuration , 2012, LISA.

[37]  Pascal Van Hentenryck,et al.  Optimal Deployment of Eventually-Serializable Data Services , 2008, CPAIOR.

[38]  Roberto Di Cosmo,et al.  Aeolus: A component model for the cloud , 2014, Inf. Comput..