���������������������������������� ��������������������������������� ������������������������������� ���� �!�"��#��$��������%�$�&������ Catia Trubiani Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica (DISIM), University of L’Aquila, Italy http://www.di.univaq.it/catia.trubiani '���������%��(%� � “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
)%�� %������ ����� � “apple” “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 +��%����(� ������� ����#���� * problem solution “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
'��������"� �������%- , … get rid of worms before contaminating the apple! ���������.�����������/� '����������� Two main �%�����(�� : 15 Identify when a software system is (performance) sick 25 Fix the issues to get (performance) improvements “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 .�����������/�'����������� 0 » Negative features of a software system » Conceptually similar to design patterns: recurring solutions to common design problems » The definition includes common mistakes (i.e. bad practices) in software development as well as their solutions » What to avoid and how to solve (performance) problems! W.J.Brown, R.C. Malveau, H.W. Mc Cornich III, and T.J. Mowbray. “Antipatterns: Refactoring Software, Architectures, and Project in Crisis”, 1998. “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
1������ �� �%�� ���� � » Problem statement » Reasoning on Performance Antipatterns » Performance Antipatterns in Modeling Languages Unified Modeling Language (UML) � Domain Specific Language (PCM) � Architecture Description Language (AEmilia) � “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 Reasoning on PA in Modeling Problem 2 Perf. Antipat. Languages �314567��+'+676!+- '!���899636!+�)':��+1�'��31';<�8+- “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
Reasoning on PA in Modeling Problem Perf. Antipat. Languages » Software performance process Modeling Modeling Analysis Analysis Refactoring Refactoring �639137'!;6� (Annotated) Software Model2Model Performance 36�=5+� Architectural Model Transformation Model ;17�56>8+: e.g. Queueing Networks, e.g. UML+Marte, Automata, Simulation Models, … Process Algebras, PCM, … 5Numbers to be interpreted Model Solution 5Different levels of granularity 5 Cross5checking of Performance software system Results characteristics Results Interpretation & Feedback Generation “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 Reasoning on PA in Modeling Problem �� Perf. Antipat. Languages Software architectural models UML Component Diagram UML Use Case Diagram Architectural UML Deployment Diagram specification “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
Reasoning on PA in Modeling Problem �� Perf. Antipat. Languages Performance results “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 Reasoning on PA in Modeling Problem �� Perf. Antipat. Languages Software architectural models vs Performance results The interpretation of performance results is not a trivial task! “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
Reasoning on PA in Modeling Problem �� Perf. Antipat. Languages Software Performance Feedback: state5of5the5art '������% .'��������/���������� ����������� 7���� 9�������� '��%��������� 7���� '����������� Williams et al. 2002 Software Execution Model System Execution SPE5ED Model #���� …… …… …… …… Parsons et al. 2008 JEE systems Reconstructed runtime PAD model Barber et al. 2002 Domain Reference Arch. Simulation Model RARE /ARCADE 3����#���� …… …… …… …… Xu 2010 UML Layered QN Perf. Booster Simple Zheng et al. 2003 UML Simulation Model 5 ����(�������� Criteria …… …… …… …… 6?��������� Ipek et al. 2008 Artificial Neural Network Simulation Model 5 Meta5 Canfora et al. 2005 Workflow Model Workflow QoS Model 5 heuristics …… …… …… …… Martens et al. 2010 PCM Simulation Model PerOpteryx “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 Reasoning on PA in Modeling Problem �* Perf. Antipat. Languages Antipattern5based approaches 5 They make use of antipatterns knowledge to cope with performance issues Williams, L.G., Smith, C.U.: PASA(SM): An Architectural Approach to Fixing Software Performance Problems. In: International Computer Measurement Group Conference, Computer Measurement Group (2002) … Parsons, T., Murphy, J.: Detecting Performance Antipatterns in Component Based Enterprise Systems. Journal of Object Technology 7 (2008) “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
Reasoning on PA in Modeling Problem �, Perf. Antipat. Languages Rule5based approaches 5 They encapsulate general knowledge on how to improve system performance into executable rules Barber, K.S., Graser, T.J., Holt, J.: Enabling Iterative Software Architecture Derivation Using Early Non5Functional Property Evaluation. In: ASE, IEEE Computer Society (2002) … Xu, J.: Rule5based automatic software performance diagnosis and improvement. Perform. Eval. 67 (2010) “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 Reasoning on PA in Modeling Problem �0 Perf. Antipat. Languages Design space exploration – simple criteria 5 They explore the design space by examining alternatives that can cope with performance flaws Zheng, T., Woodside, C.M.: Heuristic optimization of scheduling and allocation for distributed systems with soft deadlines. In Computer Performance Evaluation /TOOLS (2003) … Ipek, E., McKee, S.A., Singh, K., Caruana, R., de Supinski, B.R., Schulz, M.: Efficient architectural design space exploration via predictive modeling. ACM Trans. on Architecture and Code Optimization (2008) “SPA challenges: how to get rid of worms before contaminating the apple?”, Invited talk @ Joint Kieker/Palladio Days, Karlsruhe, Germany, 27529 November, 2013 �
Recommend
More recommend