ABSTRACT
Determining the trade-off between performance and costs of a distributed software system is important as it enables fulfilling performance requirements in a cost-efficient way. The large amount of design alternatives for such systems often leads software architects to select a suboptimal solution, which may either waste resources or cannot cope with future workloads. Recently, several approaches have appeared to assist software architects with this design task. In this paper, we present a case study applying one of these approaches, i.e. PerOpteryx, to explore the design space of an existing industrial distributed software system from ABB. To facilitate the design exploration, we created a highly detailed performance and cost model, which was instrumental in determining a cost-efficient architecture solution using an evolutionary algorithm. The case study demonstrates the capabilities of various modern performance modeling tools and a design space exploration tool in an industrial setting,provides lessons learned, and helps other software architects in solving similar problems.
- ArgoSPE plug-in for ArgoUML. argospe.tigris.org/.Google Scholar
- Core Scenario Model. www.sce.carleton.ca/rads/puma/.Google Scholar
- Java Modelling Tools. jmt.sourceforge.net/.Google Scholar
- KlaperSuite. klaper.sourceforge.net/.Google Scholar
- Layered Queueing Network Solver software package. www.sce.carleton.ca/rads/lqns/.Google Scholar
- Möbius tool. www.mobius.illinois.edu/.Google Scholar
- Oris Tool. www.stlab.dsi.unifi.it/oris/.Google Scholar
- Palladio Software Architecture Simulator. www.palladio-simulator.com/.Google Scholar
- PEPA Tools. www.dcs.ed.ac.uk/pepa/tools/.Google Scholar
- PRISM probabilistic model checker. www.prismmodelchecker.org/.Google Scholar
- QPME - Queueing Petri net Modeling Environment. descartes.ipd.kit.edu/projects/qpme/.Google Scholar
- SHARPE. people.ee.duke.edu/~kst/software_packages.html.Google Scholar
- SPE-ED Performance Modeling Tool. www.perfeng.com/sped.htm.Google Scholar
- TwoTowers tool. www.sti.uniurb.it/bernardo/twotowers/.Google Scholar
- GreatSPN - GRaphical Editor and Analyzer for Timed and Stochastic Petri Nets. www.di.unito.it/~greatspn, 2008.Google Scholar
- Dynatrace - Application Performance Management and Monitoring. www.dynatrace.com, 2011.Google Scholar
- Neotys Neoload Load Testing Tool. www.neotys.com/product/overview-neoload.html, 2011.Google Scholar
- Sawmill - Universal log file analysis tool. www.sawmill.net, 2011.Google Scholar
- M. L. Abbott and M. T. Fisher. The art of scalability. Addison-Wesley, 2009.Google Scholar
- A. Aleti, S. Bjornander, L. Grunske, and I. Meedeniya. Archeopterix: An extendable tool for architecture optimization of AADL models. Proc. of the ICSE Workshop on MOMPES, pages 61--71, 2009. Google ScholarDigital Library
- S. Balsamo, A. Di Marco, P. Inverardi, and M. Simeoni. Model-based performance prediction in software development: a survey. IEEE Trans. on SE, 30(5):295--310, May 2004. Google ScholarDigital Library
- C. A. Coello Coello, C. Dhaenens, and L. Jourdan. Multi-objective combinatorial optimization: Problematic and context. In Advances in Multi-Objective Nature Inspired Computing, volume 272 of Studies in Computational Intelligence, pages 1--21. Springer, 2010.Google ScholarCross Ref
- T. de Gooijer. Performance Modeling of ASP.Net Web Service Applications: an Industrial Case Study. Master's thesis, Mälardalen University, Västerå s, Sweden, 2011.Google Scholar
- K. Deb, S. Agrawal, A. Pratap, and T. Meyarivan. A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In Parallel Problem Solving from Nature PPSN VI, volume 1917/2000, pages 849--858. Springer, 2000. Google Scholar
- A. Díaz Pace, H. Kim, L. Bass, P. Bianco, and F. Bachmann. Integrating quality-attribute reasoning frameworks in the archE design assistant. In Proc. 4th Int. Conf. on the Quality of Software-Architectures (QoSA 2008), volume 5281, pages 171--188, 2008. Google ScholarDigital Library
- G. Franks, T. Omari, C. M. Woodside, O. Das, and S. Derisavi. Enhanced modeling and solution of layered queueing networks. IEEE Trans. on SE, 35(2):148--161, 2009. Google ScholarDigital Library
- N. Huber, S. Becker, C. Rathfelder, J. Schweflinghaus, and R. Reussner. Performance modeling in industry: a case study on storage virtualization. In Proc. of ICSE'10, pages 1--10. ACM, 2010. Google ScholarDigital Library
- Y. Jin, A. Tang, J. Han, and Y. Liu. Performance Evaluation and Prediction for Legacy Information Systems. In Proc. of ICSE'07, pages 540--549. Ieee, May 2007. Google ScholarDigital Library
- S. Kounev. Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets. IEEE Trans. on SE, 32(7):486--502, July 2006. Google ScholarDigital Library
- A. Koziolek, H. Koziolek, and R. Reussner. PerOpteryx: Automated Application of Tactics in Multi-Objective Software Architecture Optimization. In Proc. 7th Int. Conf. on the Quality of Software Architectures (QoSA'11), pages 33--42. ACM, 2011. Google ScholarDigital Library
- A. Koziolek and R. Reussner. Towards a generic quality optimisation framework for component-based system models. In Proc. 14th Int. ACM Sigsoft Symposium on Component-based Software Engineering (CBSE'11), pages 103--108. ACM, June 2011. Google ScholarDigital Library
- H. Koziolek. Performance evaluation of component-based software systems: A survey. Performance Evaluation, 67(8):634--658, Aug. 2010. Google ScholarDigital Library
- H. Koziolek, B. Schlich, C. Bilich, R. Weiss, S. Becker, K. Krogmann, M. Trifu, R. Mirandola, and A. Koziolek. An Industrial Case Study on Quality Impact Prediction for Evolving Service-Oriented Software. In Proc. of ICSE'11, SEIP Track. ACM, May 2011. Google ScholarDigital Library
- A. Koziolek (Martens), H. Koziolek, S. Becker, and R. Reussner. Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. Proceedings of ICPE'10, pages 105--116, January 2010. Google ScholarDigital Library
- C. Letner and R. Gimarc. A Methodology for Predicting the Scalability of Distributed Production Systems. In CMG Conference, volume 1, page 223. Computer Measurement Group; 1997, 2005.Google Scholar
- V. Liu, I. Gorton, and A. Fekete. Design-level performance prediction of component-based applications. IEEE Trans. on SE, 31(11):928--941, Nov. 2005. Google ScholarDigital Library
- D. A. Menascé, J. M. Ewing, H. Gomaa, S. Malex, and J. a. P. Sousa. A framework for utility-based service oriented design in SASSY. In Proceedings of ICPE'10, pages 27--36. ACM, 2010. Google ScholarDigital Library
- S. T. Redwine JR and W. E. Riddle. Software Technology Maturation. In Proc. of ICSE'85, pages 189--200. IEEE, 1985. Google ScholarDigital Library
- C. U. Smith and L. G. Williams. Performance Solutions. Addison-Wesley, 2002.Google Scholar
- J. Xu. Rule-based automatic software performance diagnosis and improvement. Performance Evaluation, 67(8):585--611, Aug. 2010. Google ScholarDigital Library
Index Terms
- An industrial case study of performance and cost design space exploration
Recommendations
Industrial Implementation of a Documentation Framework for Architectural Decisions
WICSA '14: Proceedings of the 2014 IEEE/IFIP Conference on Software ArchitectureArchitecture decisions are often not explicitly documented in practice but reside in the architect's mind as tacit knowledge, even though explicit capturing and documentation of architecture decisions has been associated with a multitude of benefits. As ...
Visualization of Computer Architecture Simulation Data for System-Level Design Space Exploration
SAMOS '09: Proceedings of the 9th International Workshop on Embedded Computer Systems: Architectures, Modeling, and SimulationSystem-level computer architecture simulations create large volumes of simulation data to explore alternative architectural solutions. Interpreting and drawing conclusions from this amount of simulation results can be extremely cumbersome. In other ...
A case for visualization-integrated system-level design space exploration
SAMOS'05: Proceedings of the 5th international conference on Embedded Computer Systems: architectures, Modeling, and SimulationDesign space exploration plays an essential role in the system-level design of embedded systems. It is imperative therefore to have efficient and effective exploration tools in the early stages of design, where the design space is largest. System-level ...
Comments