Heiko Koziolek, DECRC/I1 Ladenburg, Germany, 2014-11-13 6 Years of Performance Modeling at ABB Corporate Research © ABB Group December 3, 2014 | Slide 1 My Story Today © ABB Group December 3, 2014 | Slide 2 2008: Performance Modeling with Palladio Overview 1) Measure System instrumentation & performance tests using load drivers (custom tooling) 2) Model Component-based model with annotated flow charts entered into Eclipse-based tooling 3) Predict Running analytic solvers / simulators, varying model parameters to test different situations © ABB Group December 3, 2014 | Slide 3 Model derivation Prediction (manually) (automatically) 2010: Q-ImPrESS & Industrial Control System © ABB Group December 3, 2014 | Slide 4 2010: Q-ImPrESS Models & Tools SoMoX Q-ImPress Workbench SoMoX / Sissy for Reverse Engineering Component Models from C++ Windows Performance Monitor for Performance Measurement Self-implemented C#-Client as load driver Q-ImPreSS Workbench for Modelling (meta model similar to Palladio) LQN solver / Palladio SimuCom for Performance Prediction PerOpteryx for Design Space Exploration © ABB Group December 3, 2014 | Slide 5 2010: Q-ImPrESS Results Koziolek, Schlich et al. An industrial case study on quality impact prediction for evolving service-oriented software. In Proc. ICSE 2011 SEIP, pp. 776-785. ACM, May 2011. © ABB Group December 3, 2014 | Slide 6 2010: Q-ImPrESS Lessons Learned © ABB Group December 3, 2014 | Slide 7 Successes Large performance model build with Q-ImPreSS tooling Models validated through measurements (<30% error) First experiments with design space exploration Challenges Not enough inputs on new ABB system available, had to fallback to model older version predictions for older system are not really actionable as the older version will not be changed Modeling tools disconnected from the tools currently used during development (e.g., Enterprise Architect) creating models with the tools from scratch required high effort Static code analysis challenged by Microsoft C++ code 2012: Performance Modeling for ABB Robotics © ABB Group December 3, 2014 | Slide 8 2012: Performance Modeling for ABB Robotics Models & Tools Palladio Workbench LQN Solver Dynatrace for distributed performance profiling Neoload as load driver Palladio Workbench for modelling ‚ (all manual no static code analysis) LQN/SimuCom for performance prediction PerOpteryx for design space exploration © ABB Group December 3, 2014 | Slide 9 2012: Performance Modeling for ABB Robotics Results © ABB Group December 3, 2014 | Slide 10 Thijmen de Gooijer, Anton Jansen, Heiko Koziolek, and Anne Koziolek. An industrial case study of performance and cost design space exploration. In Proc. 3rd Int. Conf. on Performance Engineering (ICPE'12), pp 205-216. ACM, April 2012. 2012: Performance Modeling for ABB Robotics Lessons Learned © ABB Group December 3, 2014 | Slide 11 Successes Due to performance fixes based on the measurements the performance could be improved by 50% Roadmap for extending the system cost-effectively was devised based on the models Large-scale industrial case study on design space exploration of a distributed, component-based system ABB Robotics integrated Dynatrace into their development environment Challenges Information extraction for the models took a long time, lots of calibration needed, several assumptions required for models Expensive measurement & testing tools (>30K€) 2014: Automation Cloud © ABB Group December 3, 2014 | Slide 12 2014: Automation Cloud Models & Tools © ABB Group December 3, 2014 | Slide 13 Amazon Web Services / Own Cloud Server as test environment (up to 36 AWS m1.large instances) KairosDB, OpenTSDB, Databus as time-series databases Apache Cassandra and Hbase as distributed DBMS Netflix Priam / Apache Whirr for quick deployment Visual Studio Ultimate Web Load Test as load driver [No modeling, only benchmarks!] 2014: Automation Cloud Results ABB Phasor Measurement Unit used in Power Grids ABB Smart Meter Avg. Roundtrip Time: 193ms for 15 customers Linear scalability for KairosDB Limited overload WITH AWS Autoscaling © ABB Group December 3, 2014 | Slide 14 Thomas Goldschmidt, Anton Jansen, Heiko Koziolek, Jens Doppelhamer, and Hongyu Pei-Breivold. Scalability and Robustness of Time-Series Databases for Cloud-Native Monitoring of Industrial Processes. In Proceedings 7th IEEE Int. Conf. on Cloud Computing (IEEE CLOUD 2014) Industry Track. IEEE, July 2014. 2014: Automation Cloud Lessons Learned © ABB Group December 3, 2014 | Slide 15 Successes Showed technical feasibility for several scenarios from industrial automation in a cloud computing environment Created benchmarks for time-series databases based on realistic workloads from ABB products Created elasticity metrics and benchmark Challenges Better testing needed to improve robustness Component-based model did not well fit with databases / cloud platform (e.g., auto-scaling?) Limited insights expected from modeling due to focus on initial technical feasibility 2015 Outlook: Collaboration with Uni Würzburg Automatic Construction of Architectural Perf. Models Kieker + C# adapter / JNBridge for distributed profiling LibReDe for resource demand estimation .NET Bookstore / Pet Shop (C#) for testing, later ABB system Palladio / Descartes / PerOpteryx for modeling / prediction © ABB Group December 3, 2014 | Slide 16 6 Years of Performance Modeling at ABB Conclusions Performance modeling has matured over the last 6 years But: to get wider adoption lower costs and higher benefits are required. © ABB Group December 3, 2014 | Slide 17 6 Years of Performance Modeling at ABB Future Work © ABB Group December 3, 2014 | Slide 18 Future work for lower costs Better integration between measurement and modeling tools Faster modeling via more convenient software tools Faster modeling via reusable model libraries Future work for higher benefits More performance questions to be answered Decision support and incorporation of heuristics Better integration into existing development processes & tools