Towards a Performance Model Management Repository for Component-based Enterprise Applications



Similar documents
Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

Integrating the Palladio-Bench into the Software Development Process of a SOA Project

Towards Performance Awareness in Java EE Development Environments

Online Performance Prediction with Architecture-Level Performance Models

KPDAYS 13 Symposium on Software Performance: Joint Kieker/Palladio Days Karlsruhe, Germany, November 27 29, 2013 Proceedings

Self-Aware Software and Systems Engineering: A Vision and Research Roadmap

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems

Model-Based Performance Evaluations in Continuous Delivery Pipelines

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting

Model-based Performance Evaluation of Large-Scale Smart Metering Architectures

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Modeling Big Data Systems by Extending the Palladio Component Model

Stream Processing on Demand for Lambda Architectures

Layered Queuing networks for simulating Enterprise Resource Planning systems

Performance Modeling in Industry: A Case Study on Storage Virtualization

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

SPEC Research Group. Sam Kounev. SPEC 2015 Annual Meeting. Austin, TX, February 5, 2015

Integrating Performance Characterization with Software Development

Towards Online Performance Model Extraction in Virtualized Environments

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

Improved Feedback for Architectural Performance Prediction Using Software Cartography Visualizations

Model-based Techniques for Performance Engineering of Business Information Systems

1 Abstracts of all SOSP 2014 Contributions

SOSP 14 Symposium on Software Performance: Joint Descartes/Kieker/Palladio Days 2014

Architectural Templates: Engineering Scalable SaaS Applications Based on Architectural Styles

Statistical Inference of Software Performance Models for Parametric Performance Completions

Automated Extraction of Rich Software Models from Limited System Information

Life-Cycle Aware Modelling of Software Components

The Performance Cockpit Approach: A Framework for Systematic Performance Evaluations

Revel8or: Model Driven Capacity Planning Tool Suite

Workload-aware System Monitoring Using Performance Predictions Applied to a Large-scale System

Using Java EE ProtoCom for SAP HANA Cloud

Development of Tool Extensions with MOFLON

From Monolithic to Component-based Performance Evaluation of Software Architectures

Performance Evaluation of Component-based Software Systems: A Survey

Approaching the Cloud: Using Palladio for Scalability, Elasticity, and Efficiency Analyses

Utilizing PCM for Online Capacity Management of Component-Based Software Systems

^lxlt Scientific 2^Vl I Publishing

Coupled Model Transformations for QoS Enabled Component-Based Software Design

perspective Effective Capacity Management with Modeling and Simulation assisted Performance Testing Abstract

Predictive Modelling of Peer-to-Peer Event-driven Communication in Component-based Systems

How To Predict Performance From A Network Model In Unminer (Uml)

Performance Modeling in Industry A Case Study on Storage Virtualization

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn.

An Eclipse plug-in for Public Administration software system modelling and simulation

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications

Performance Benchmarking of Application Monitoring Frameworks

Automated Extraction of Palladio Component Models from Running Enterprise Java Applications

Hora: Online Failure Prediction Framework for Component-based Software Systems Based on Kieker and Palladio

Enterprise Architecture

Performance Evaluation for Software Migration

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

Model-Driven Online Capacity Management for Component-Based Software Systems

Introducing Performance Engineering by means of Tools and Practical Exercises

Open S-BPM: Goals and Architecture

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

From Business Services to Web Services: an MDA Approach

QPME - A Performance Modeling Tool Based on Queueing Petri Nets

How To Estimate The Size Of A Mobile Application

Data Center Network Throughput Analysis using Queueing Petri Nets

INSTITUT FÜR INFORMATIK

Introducing SAP NetWeaver in education: The impact of a SOA based platform

Performance Analysis and Characterization Tool for Distributed Software Development

INSTITUT FÜR INFORMATIK

An Overview of Challenges of Component Based Software Engineering

Enterprise Integration: operational models of business processes and workflow systems *

Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect

Applying Architectural Templates for Design-Time Scalability and Elasticity Analyses of SaaS Applications

Software Industrialization and Architecture Certification

On the Globalization of Domain-Specific Languages

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

A PERFORMANCE MODEL WEB SERVICE

PerfCenterLite: Extrapolating Load Test Results for Performance Prediction of Multi-Tier Applications

Systematic Guidance in Solving Performance and Scalability Problems

TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Generative Software Product Line Development using Variability-Aware Design Patterns

Modeling Quality Information within Business Process Models

jeti: A Tool for Remote Tool Integration

Performance Monitoring of Database Operations

A Software Development Platform for SOA

Virtual Labs in the Engineering Education : a Standardization Approach for Tele-Control O.J. Roesch 1, H. Roth 1 et H. Yahoui 2

Versioning and Evolution Control of Models in Software Configuration Management System

Evaluating the Performance. of Software Architectures

Course 4 27 October Adrian Iftene adiftene@info.uaic.ro

DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring

Model-Driven Performance Evaluation for Service Engineering

Performance Prediction for Software Architectures

Using Model-Driven Development Tools for Object-Oriented Modeling Education

Decision Support via Automated Metric Comparison for the Palladio-based Performance Blame Analysis

Automatic vs. Manual Code Analysis

Model-Driven Performance Evaluation for Service Engineering

QoS-Aware Storage Virtualization for Cloud File Systems. Christoph Kleineweber (Speaker) Alexander Reinefeld Thorsten Schütt. Zuse Institute Berlin

User-Driven Adaptation of Model Differencing Results

Transcription:

Austin, TX, USA, 2015-02-04 Towards a Performance Model Management Repository for Component-based Enterprise Applications Work-in-Progress Paper (WiP) International Conference on Performance Engineering (ICPE) 2015 Andreas Brunnert 1, Alexandru Danciu 1, Helmut Krcmar 2 1 fortiss GmbH, 2 Technische Universität München

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 2

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 3

Motivation & Vision Performance models are still not in widespread industry use (Koziolek 2010, Mayer et al. 2011): Creation effort often outweighs their benefits (Brunnert et al. 2013, Kounev 2005) Several approaches for automatic generation (Balsamo et al. 2004, Brunnert et al. 2013, Smith 2007) Challenge for applying performance models in industrial practice is the organizational complexity (Brunnert et al. 2014, Schmietendorf et al. 2002): Components of enterprise applications are often under the control of different teams within one or more organizations Teams adhere to different release cycles for their components Challenge to keep a performance model consistent and in sync 4

Motivation & Vision To introduce an integration server for performance models to support the collaboration of distributed teams within an organization. Require - ments Analysis & Design Performance Model Management Repository C 1 C C 2 C 3 C N Team 1 Require - ments Analysis & Design Evaluation Testing Implem - entation Require - ments Analysis & Design Evaluation Require - ments Team Testing Analysis & Design Implem - entation Evaluation Team 2 Testing Implem - entation Evaluation Team 3 Testing Implem - entation Evaluation Require - ments Team N Analysis & Design Implem - entation Testing 5

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 6

Palladio Component Model (PCM) Basic Technologies PCM as Meta-Model Usage Model Workload Repository Model Components, Interfaces, Relationships, Control Flows, Resource Demands System Model System composed of components within the repository model Allocation Model Mapping of system components to hardware servers Resource Environment Specifies available servers, networks, 7

Basic Technologies Required Enhancements PCM repository models are represented by single files that are hard to maintain by different teams concurrently Multiple PCM repository models with outdated component specifications exist, as multiple component versions need to be maintained at the same time by different teams We propose to use EMFStore 1 as PMMR server: The PCM meta-model is based on the Eclipse Modeling Framework (EMF) EMFStore implements the required versioning features for models based on the Ecore meta-model 1 http://eclipse.org/emfstore/ 8

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 9

Component (Version) Dependencies Extension of the PCM Meta-Model Callee Version N Caller Interface v1 Interface v2 Interface vn Callee Version 2 Callee Version 1 We propose to extend the PCM meta-model to specify require references across component versions The Palladio-Bench also needs to be extended to support the user while interacting with different component versions 10

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 11

Handling Resource Demands Hardware-specific Resource Demands PCM repository model components can contain hardware-specific resource demands Resource demands stored in a PMMR are specified relative to a common baseline Measured RD Check-in Hardware Type A Converted RD Check-out Hardware Type B 12

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 13

Related Work Several approaches for versioning model artifacts exist in literature (Altmanninger et al. 2009) These approaches do not address the specific requirements which arise from the versioning of performance models of individual components Woodside et al. (2007) proposed the Performance Knowledge Base (PKB) as a central performance repository The PKB is intended to store measurement and model prediction results in a PKB instead of the models itself PKB should allow to build performance models on demand PMMR is designed so that performance models can be stored in it directly Koziolek (2010) argues that central performance model repositories (called model libraries) "... could allow rapid performance predictions.... 14

Agenda Motivation & Vision Basic Technologies Component (Version) Dependencies Handling Resource Demands Related Work Outlook 15

Outlook Abstraction Level: Choose abstraction level to reduce the amount of components that need to be represented Level of detail for storing white-box and high-level black-box models Evaluation: Experimental setup to validate the feasibility of the approaches Representative software development project to validate the intended improvements Integration: Danciu et al. (2014) propose an approach to support developers with insights on the response times of the component they are currently developing PMMR Eclipse 16

References K. Altmanninger, M. Seidl, and M. Wimmer. A survey on model versioning approaches. International Journal of Web Information Systems, 5(3):271-304, 2009. S. Balsamo, A. Di Marco, P. Inverardi, and M. Simeoni. Model-based performance prediction in software development: A survey. IEEE Transactions on Software Engineering, 30(5):295-310, 2004. S. Becker, H. Koziolek, and R. Reussner. The palladio component model for model-driven performance prediction. Journal of Systems and Software, 82(1):3-22, 2009. A. Brunnert and H. Krcmar. Detecting performance change in enterprise application versions using resource profiles. In Proceedings of the 8th International Conference on Performance Evaluation Methodologies and Tools, VALUETOOLS '14, New York, NY, USA, 2014. ACM. A. Brunnert, C. Vögele, A. Danciu, M. Pfaff, M. Mayer, and H. Krcmar. Performance management work. Business & Information Systems Engineering, 6(3):177-179, 2014. A. Brunnert, C. Vögele, and H. Krcmar. Automatic performance model generation for java enterprise edition (ee) applications. In M. S. Balsamo, W. J. Knottenbelt, and A. Marin, editors, Computer Performance Engineering, volume 8168 of Lecture Notes in Computer Science, pages 74-88. Springer Berlin Heidelberg, 2013. A. Danciu, A. Brunnert, and H. Krcmar. Towards performance awareness in java ee development environments. In S. Becker, W. Hasselbring, A. van Hoorn, S. Kounev, and R. Reussner, editors, Proceedings of the Symposium on Software Performance: Descartes/Kieker/Palladio Days 2014, pages 152-159, November 2014. S. Kounev. Performance Engineering of Distributed Component-Based Systems - Benchmarking, Modeling and Performance Prediction. Shaker Verlag, Ph.D. Thesis, Technische Universit at Darmstadt, Germany, Aachen, Germany, 2005. H. Koziolek. Performance evaluation of component-based software systems: A survey. Performance Evaluation, 67(8):634-658, 2010. M. Mayer, S. Gradl, V. Schreiber, H. Wittges, and H. Krcmar. A survey on performance modelling and simulation of sap enterprise resource planning systems. In The 10th International Conference on Modeling and Applied Simulation, pages 347-352. Diptem Universià di Genoa, 2011. A. Schmietendorf, E. Dimitrov, and R. R. Dumke. Process models for the software development and performance engineering tasks. In Proceedings of the 3rd International Workshop on Software and Performance, WOSP '02, pages 211-218, New York, NY, USA, 2002. ACM. C. Smith. Introduction to software performance engineering: Origins and outstanding problems. In M. Bernardo and J. Hillston, editors, Formal Methods for Performance Evaluation, volume 4486 of Lecture Notes in Computer Science, pages 395-428. Springer Berlin Heidelberg, 2007. M. Woodside, G. Franks, and D. C. Petriu. The future of software performance engineering. In Future of Software Engineering (FOSE), pages 171-187, Minneapolis, MN, USA, 2007. 17

Q&A Alexandru Danciu, Andreas Brunnert performancegroup@fortiss.org pmw.fortiss.org 18

Basic Technologies Performance (Meta-)Models LQN, QNs, QPNs depict workload, hardware environment and performance-relevant aspects of an application in one monolitic model Hard to change a single aspect without modifying the whole model Architecture-level performance models (e.g. the Palladio Component Model (PCM)) allow to specify these aspects independently from each other Used to represent resource profiles Several existing ways to create such models based on static, dynamic or hybrid analysis We propose the use of the Palladio Component Model (PCM) as metamodel for the component performance models managed in a PMMR (Becker et al. 2009) 19

Palladio Component Model (PCM) Implementation of the PMMR PCM as Meta-Model Usage Model Repository models are created by component developers Repository Model System Model Allocation Model Resource Environment 20

Palladio Component Model (PCM) Implementation of the PMMR PCM as Meta-Model Usage Model System models are created by system architects Repository Model System Model Allocation Model Resource Environment 21

Handling Resource Demands Using Benchmark Scores Scores are specified for all relevant hardware resources. r baseline denotes baseline resource demand b baseline denotes baseline hardware resource benchmark score During check-in: r checkinvalue denotes resource demand measured by the user b checkinbenchmarkvalue denotes benchmark score of the hardware resource During check-out: r checkoutvalue denotes resource demand calculated relative to benchmark score b checkoutbenchmarkvalue denotes benchmark score of the target hardware resource 22