MMO: Meta Multi-Objectivization for Software Configuration Tuning

Software configuration tuning is essential for optimizing a given performance objective (e.g., minimizing latency). Yet, due to the software’s intrinsically complex configuration landscape and expensive measurement, there has been a rather mild success, particularly in preventing the search from being trapped in local optima. To address this issue, in this paper we take a different perspective. Instead of focusing on improving the optimizer, we work on the level of optimization model and propose a meta multi-objectivization (MMO) model that considers an auxiliary performance objective (e.g., throughput in addition to latency). What makes this model unique is that we do not optimize the auxiliary performance objective, but rather use it to make similarly-performing while different configurations less comparable (i.e. Pareto nondominated to each other), thus preventing the search from being trapped in local optima. Importantly through a new normalization method we show how to effectively use the MMO model without worrying about its weight — the only yet highly sensitive parameter that can affect its effectiveness. Experiments on 22 cases from 11 real-world software systems/environments confirm that our MMO model with the new normalization performs better than its state-of-the-art single-objective counterparts on 82% cases while achieving up to 2.09× speedup. For 67% of the cases, the new normalization also enables the MMO model to outperform the instance when using it with the normalization used in our prior FSE work under pre-tuned best weights, saving a great amount of resources which would be otherwise necessary to find a good weight. We also demonstrate that the MMO model with the new normalization can consolidate FLASH, a recent model-based tuning tool, on 68% of the cases with 1.22× speedup in general.

[1]  Yuri Malitsky,et al.  Model-Based Genetic Algorithms for Algorithm Configuration , 2015, IJCAI.

[2]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[3]  Rami Bahsoon,et al.  Self-adaptive and sensitivity-aware QoS modeling for the cloud , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[4]  Rajkumar Buyya,et al.  DATESSO: self-adapting service composition with debt-aware two levels constraint reasoning , 2020, SEAMS@ICSE.

[5]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[6]  Xin Yao,et al.  Standing on the shoulders of giants: Seeding search-based multi-objective optimization with prior knowledge for software service composition , 2019, Inf. Softw. Technol..

[7]  Zafer Bingul,et al.  Adaptive genetic algorithms applied to dynamic multiobjective problems , 2007, Appl. Soft Comput..

[8]  Tao Chen,et al.  Multi-objectivizing software configuration tuning , 2021, ESEC/SIGSOFT FSE.

[9]  Annibale Panichella,et al.  Automated repair of feature interaction failures in automated driving systems , 2020, ISSTA.

[10]  Hongyu Zhang,et al.  Efficient Compiler Autotuning via Bayesian Optimization , 2021, 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE).

[11]  Yuriy Brun,et al.  eQual: informing early design decisions , 2020, ESEC/SIGSOFT FSE.

[12]  Tao Chen,et al.  All Versus One: An Empirical Comparison on Retrained and Incremental Machine Learning for Modeling Performance of Adaptable Software , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[13]  Tim Menzies,et al.  Hyperparameter Optimization for Effort Estimation , 2018, ArXiv.

[14]  Leslie Pérez Cáceres,et al.  The irace package: Iterated racing for automatic algorithm configuration , 2016 .

[15]  Richard A. Watson,et al.  Reducing Local Optima in Single-Objective Problems by Multi-objectivization , 2001, EMO.

[16]  Joshua D. Knowles,et al.  Multiobjective Optimization on a Budget of 250 Evaluations , 2005, EMO.

[17]  Holger H. Hoos,et al.  Algorithm Configuration Landscapes: - More Benign Than Expected? , 2018, PPSN.

[18]  Gang Lu,et al.  Latency critical big data computing in finance , 2015 .

[19]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[20]  Arie van Deursen,et al.  Single-objective Versus Multi-objectivized Optimization for Evolutionary Crash Reproduction , 2018, SSBSE.

[21]  Giuliano Casale,et al.  An Uncertainty-Aware Approach to Optimal Configuration of Stream Processing Systems , 2016, 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS).

[22]  Sergio Segura,et al.  SIP: Optimal Product Selection from Feature Models Using Many-Objective Evolutionary Optimization , 2016, ACM Trans. Softw. Eng. Methodol..

[23]  Yi Liu,et al.  JellyFish: Online Performance Tuning with Adaptive Configuration and Elastic Container in Hadoop Yarn , 2015, 2015 IEEE 21st International Conference on Parallel and Distributed Systems (ICPADS).

[24]  Sven Apel,et al.  Finding Faster Configurations Using FLASH , 2018, IEEE Transactions on Software Engineering.

[25]  David Garlan,et al.  TrimTuner: Efficient Optimization of Machine Learning Jobs in the Cloud via Sub-Sampling , 2020, 2020 28th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[26]  Sven Apel,et al.  VEER: Disagreement-Free Multi-objective Configuration , 2021, ArXiv.

[27]  Ankur Teredesai,et al.  Interpretable Machine Learning in Healthcare , 2018, 2018 IEEE International Conference on Healthcare Informatics (ICHI).

[28]  Xin Yao,et al.  Online QoS Modeling in the Cloud: A Hybrid and Adaptive Multi-learners Approach , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[29]  Mark Chen,et al.  Language Models are Few-Shot Learners , 2020, NeurIPS.

[30]  Rami Bahsoon,et al.  Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services , 2017, IEEE Transactions on Software Engineering.

[31]  Laetitia Vermeulen-Jourdan,et al.  Automatic Configuration of Multi-Objective Local Search Algorithms for Permutation Problems , 2019, Evolutionary Computation.

[32]  Satish Kumar,et al.  Multi-Tenant Cloud Service Composition Using Evolutionary Optimization , 2018, 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS).

[33]  Xin Yao,et al.  To Adapt or Not to Adapt?: Technical Debt and Learning Driven Self-Adaptation for Managing Runtime Performance , 2018, ICPE.

[34]  Christian Kästner,et al.  Learning to sample: exploiting similarities across environments to learn performance models for configurable systems , 2018, ESEC/SIGSOFT FSE.

[35]  Yoshua Bengio,et al.  Random Search for Hyper-Parameter Optimization , 2012, J. Mach. Learn. Res..

[36]  Thomas Stützle,et al.  Automatic Configuration of Multi-objective Optimizers and Multi-objective Configuration , 2020, High-Performance Simulation-Based Optimization.

[37]  Apan Qasem,et al.  Evaluating the Role of Optimization-Specific Search Heuristics in Effective Autotuning ? , 2010 .

[38]  Myra B. Cohen,et al.  An Improved Meta-heuristic Search for Constrained Interaction Testing , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[39]  R. M. Hierons,et al.  Many-Objective Test Suite Generation for Software Product Lines , 2020, ACM Trans. Softw. Eng. Methodol..

[40]  Rami Bahsoon,et al.  Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services , 2016, IEEE Transactions on Services Computing.

[41]  Wolfgang Banzhaf,et al.  ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming , 2017, IEEE Transactions on Software Engineering.

[42]  Heike Trautmann,et al.  Multiobjectivization of Local Search: Single-Objective Optimization Benefits From Multi-Objective Gradient Descent , 2020, 2020 IEEE Symposium Series on Computational Intelligence (SSCI).

[43]  Tao Ye,et al.  A recursive random search algorithm for large-scale network parameter configuration , 2003, SIGMETRICS '03.

[44]  Long Jin,et al.  Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software , 2015, ESEC/SIGSOFT FSE.

[45]  Peter Dolog,et al.  A Scalable Approach for QoS-Based Web Service Selection , 2008, ICSOC Workshops.

[46]  Mohamed Wiem Mkaouer,et al.  A robust multi-objective approach to balance severity and importance of refactoring opportunities , 2017, Empirical Software Engineering.

[47]  Hisao Ishibuchi,et al.  Optimization of Scalarizing Functions Through Evolutionary Multiobjective Optimization , 2007, EMO.

[48]  Kay Chen Tan,et al.  BiLO-CPDP: Bi-Level Programming for Automated Model Discovery in Cross-Project Defect Prediction , 2020, 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[49]  Don S. Batory,et al.  Finding near-optimal configurations in product lines by random sampling , 2017, ESEC/SIGSOFT FSE.

[50]  Xin Yao,et al.  A Critical Review of "A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering": Essay on Quality Indicator Selection for SBSE , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: New Ideas and Emerging Technologies Results (ICSE-NIER).

[51]  Yong Wang,et al.  Locating Multiple Optimal Solutions of Nonlinear Equation Systems Based on Multiobjective Optimization , 2015, IEEE Transactions on Evolutionary Computation.

[52]  Kevin Leyton-Brown,et al.  Sequential Model-Based Optimization for General Algorithm Configuration , 2011, LION.

[53]  Günter Rudolph,et al.  Tuning optimization algorithms for real-world problems by means of surrogate modeling , 2010, GECCO '10.

[54]  Nando de Freitas,et al.  Taking the Human Out of the Loop: A Review of Bayesian Optimization , 2016, Proceedings of the IEEE.

[55]  Heike Trautmann,et al.  MO-ParamILS: A Multi-objective Automatic Algorithm Configuration Framework , 2016, LION.

[56]  Kay Chen Tan,et al.  Understanding the Automated Parameter Optimization on Transfer Learning for Cross-Project Defect Prediction: An Empirical Study , 2020, 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE).

[57]  Paolo Tonella,et al.  Reformulating Branch Coverage as a Many-Objective Optimization Problem , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[58]  Li Zhang,et al.  MRONLINE: MapReduce online performance tuning , 2014, HPDC '14.

[59]  Rami Bahsoon,et al.  Synergizing Domain Expertise With Self-Awareness in Software Systems: A Patternized Architecture Guideline , 2020, Proceedings of the IEEE.

[60]  David B. Knoester,et al.  Applying genetic algorithms to decision making in autonomic computing systems , 2009, ICAC '09.

[61]  Krzysztof Czarnecki,et al.  Transferring Performance Prediction Models Across Different Hardware Platforms , 2017, ICPE.

[62]  Yuqing Zhu,et al.  BestConfig: tapping the performance potential of systems via automatic configuration tuning , 2017, SoCC.

[63]  F. Wilcoxon Individual Comparisons by Ranking Methods , 1945 .

[64]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[65]  Cor-Paul Bezemer,et al.  Optimizing the Performance-Related Configurations of Object-Relational Mapping Frameworks Using a Multi-Objective Genetic Algorithm , 2016, ICPE.

[66]  Mohamed Wiem Mkaouer,et al.  A Robust Multi-objective Approach for Software Refactoring under Uncertainty , 2014, SSBSE.

[67]  Mao Yang,et al.  Resource-Guided Configuration Space Reduction for Deep Learning Models , 2021, 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE).

[68]  Yong Wang,et al.  A Multiobjective Optimization-Based Evolutionary Algorithm for Constrained Optimization , 2006, IEEE Transactions on Evolutionary Computation.

[69]  Tingting Yu,et al.  An Empirical Study on Performance Bugs for Highly Configurable Software Systems , 2016, ESEM.

[70]  Georgios C. Anagnostopoulos,et al.  SPRINT Multi-Objective Model Racing , 2015, GECCO.

[71]  Anja Strunk QoS-Aware Service Composition: A Survey , 2010, 2010 Eighth IEEE European Conference on Web Services.

[72]  A. Scott,et al.  A Cluster Analysis Method for Grouping Means in the Analysis of Variance , 1974 .

[73]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[74]  Bowei Xi,et al.  A smart hill-climbing algorithm for application server configuration , 2004, WWW '04.

[75]  Surendra Byna,et al.  Taming parallel I/O complexity with auto-tuning , 2013, 2013 SC - International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[76]  Myra B. Cohen,et al.  Using a Genetic Algorithm to Optimize Configurations in a Data-Driven Application , 2020, SSBSE.

[77]  Xin Yao,et al.  A Survey of Automatic Parameter Tuning Methods for Metaheuristics , 2020, IEEE Transactions on Evolutionary Computation.

[78]  Gunter Saake,et al.  Predicting performance via automated feature-interaction detection , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[79]  Arie van Deursen,et al.  Good Things Come In Threes: Improving Search-based Crash Reproduction With Helper Objectives , 2020, 2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[80]  Tao Chen,et al.  Run-time evaluation of architectures: A case study of diversification in IoT , 2020, J. Syst. Softw..

[81]  Mihai Alexandru Suciu,et al.  Comparative analysis of multi-objective evolutionary algorithms for QoS-aware web service composition , 2016, Appl. Soft Comput..

[82]  Arina Buzdalova,et al.  Generation of Tests for Programming Challenge Tasks Using Helper-Objectives , 2013, SSBSE.

[83]  Xin Yao,et al.  On the effects of seeding strategies: a case for search-based multi-objective service composition , 2018, GECCO.

[84]  YaoXin,et al.  A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems , 2018 .

[85]  Tao Chen,et al.  How to Evaluate Solutions in Pareto-based Search-Based Software Engineering? A Critical Review and Methodological Guidance , 2020, ArXiv.