Controlling the Palladio Bench using the Descartes Query Language
Upcoming SlideShare
Loading in...5
×
 

Controlling the Palladio Bench using the Descartes Query Language

on

  • 53 views

The Palladio Bench is a tool to model, simulate and analyze Palladio Component Model (PCM) instances. However, for the Palladio Bench, no single interface to automate experiments or Application ...

The Palladio Bench is a tool to model, simulate and analyze Palladio Component Model (PCM) instances. However, for the Palladio Bench, no single interface to automate experiments or Application Programming Interface (API) to trigger the simulation of PCM instances and to extract performance prediction results is available. The Descartes Query Language (DQL) is a novel approach of a declarative query language to integrate different performance modeling and prediction techniques behind a unifying interface. Users benefit from the abstraction of specific tools to prepare and trigger performance predictions, less effort to obtain performance metrics of interest, and means to automate performance predictions. In this paper, we describe the realization of a DQL Connector for PCM and demonstrate the applicability of our approach in a case study.

Statistics

Views

Total Views
53
Views on SlideShare
53
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Controlling the Palladio Bench using the Descartes Query Language Controlling the Palladio Bench using the Descartes Query Language Presentation Transcript

  • Controlling the Palladio Bench using the Descartes Query Language Kieker/Palladio Days 2013 Fabian Gorsler, Fabian Brosig, Samuel Kounev | 2013-11-27 DESCARTES RESEARCH GROUP KIT – University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz Association www.kit.edu
  • Our Motivation Service X Service Y Service Z Resource A Resource B ?ms ?ms ?ms ??% ??% Figure 1 : The Performance Prediction Process Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 2/15
  • Our Motivation Z Service X Service Y Service Z Resource A Resource B ?ms ?ms ?ms ??% ??% X A.1 Y A.2 B Architecture-Level Performance Model Figure 1 : The Performance Prediction Process Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 2/15
  • Our Motivation Z Service X Service Y Service Z Resource A Resource B ?ms ?ms ?ms ??% ??% X A.1 Y A.2 B Architecture-Level Performance Model Analysis Model Figure 1 : The Performance Prediction Process Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 2/15
  • Our Motivation Z Service X Service Y Service Z Resource A Resource B 3ms 4ms 6ms 33% 78% X A.1 Y A.2 B Architecture-Level Performance Model Analysis Model Figure 1 : The Performance Prediction Process Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 2/15
  • Our Motivation Z Service X Service Y Service Z Resource A Resource B 3ms 4ms 6ms 33% 78% X A.1 Y A.2 B Architecture-Level Performance Model Analysis Model Figure 1 : The Performance Prediction Process Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 2/15
  • Our Approach What is the Descartes Query Language (DQL)? A declarative query language [Gorsler, 2013] Independent of a specific modeling or prediction formalism An approach to integrate existing tools and techniques An interface to unify other approaches’ interfaces Built on top of an extensible architecture ...and what it is not? Neither an approach for performance predictions, ... ...nor a model transformation approach Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 3/15
  • Architecture of DQL DQL Language & Editor DQL Query Execution Engine Model-specific External Toolchain <<submit query>> DQL Connector Registry DQL Connector <<register>> Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 4/15
  • MediaStore and Outline MediaStore MediaStore is an example of a three-tier web application Demonstrates capabilities of Palladio Component Model (PCM) Contains an AppServer and a DBServer with CPUs and HDDs each ⇒ Is DQL usable in such a scenario? Outline 1 Determine performance-relevant entities and metrics 2 Trigger a simulation and extract performance metrics 3 Trigger an experiment series through Degrees of Freedom (DoFs) Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 5/15
  • Finding Entities Obtain information about all performance-relevant entities Interpret the model instance Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 6/15
  • Finding Entities Obtain information about all performance-relevant entities Interpret the model instance LIST ENTITIES USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 6/15
  • Finding Entities Obtain information about all performance-relevant entities Interpret the model instance LIST ENTITIES USING pcm@’mediastore.properties’; Exemplary Result: Introduction of DQL Type Resource Id Alias id1 AppServer_CPU Metric ./. Value ./. Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 6/15
  • Backgrounds: Type Mapping pcm::resourceenvironment mapping ProcessingResourceSpecification Resource Entity LinkingResourceSpecification Service -identifier: String pcm::usagemodel pcm::repository EntryLevelSystemCall UsageScenario <<identifies>> ExternalCallAction Figure 2 : PCM ← DQL based on [Reussner et al., 2011] Direct EMF/Ecore accesses Loosely-coupled using identifier values Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 7/15
  • Determining available Metrics Obtain information about available performance metrics Interpret the referenced entities Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 8/15
  • Determining available Metrics Obtain information about available performance metrics Interpret the referenced entities LIST METRICS (RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU RESOURCE ’id3’ AS DBServer_HDD) USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 8/15
  • Determining available Metrics Obtain information about available performance metrics Interpret the referenced entities LIST METRICS (RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU RESOURCE ’id3’ AS DBServer_HDD) USING pcm@’mediastore.properties’; Exemplary Result: Introduction of DQL Type Resource Id Alias id1 AppServer_CPU Metric Utilization Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Value ./. Conclusion 2013-11-27 8/15
  • Triggering a Simulation Request performance metrics for model entities Trigger a simulation run and extract results Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 9/15
  • Triggering a Simulation Request performance metrics for model entities Trigger a simulation run and extract results SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 9/15
  • Triggering a Simulation Request performance metrics for model entities Trigger a simulation run and extract results SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Exemplary Result: Introduction of DQL Type Resource Id Alias id1 AppServer_CPU Metric Utilization Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Value 0.3671 Conclusion 2013-11-27 9/15
  • Bonus: Aggregates in DQL Computation of aggregated performance metrics Functionality independent of a DQL Connector Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 10/15
  • Bonus: Aggregates in DQL Computation of aggregated performance metrics Functionality independent of a DQL Connector SELECT MEAN(AppServer1_CPU.utilization, AppServer2_CPU.utilization) FOR RESOURCE ’idA1’ AS AppServer1_CPU, RESOURCE ’idA2’ AS AppServer2_CPU, USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 10/15
  • Backgrounds: Trigger and Extraction Palladio Component Model (PCM) Experiment Automation to trigger simulations [Merkle, 2011] Part of the PCM Incubator, not yet stable Static mapping of available performance metrics Resource: demanded time and utilization Service: response time Direct access to performance metrics through SensorFramework Workaround for unique identification of Resource instances Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 11/15
  • More Automation? More Automation! Evaluate DoFs, i.e. variability, in model instances Automate experiment series with a single query Alter the model instance and trigger i × j × . . . simulations SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization EVALUATE DOF VARYING ’id4’ AS ClosedWorkloadPopulation <100, 200> ’id5’ AS ActionReplication <2, 8> FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 12/15
  • More Automation? More Automation! Evaluate DoFs, i.e. variability, in model instances Automate experiment series with a single query Alter the model instance and trigger i × j × . . . simulations SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization EVALUATE DOF VARYING ’id4’ AS ClosedWorkloadPopulation <100, 200> ’id5’ AS ActionReplication <2, 8> FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 12/15
  • More Automation? More Automation! Evaluate DoFs, i.e. variability, in model instances Automate experiment series with a single query Alter the model instance and trigger i × j × . . . simulations SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization EVALUATE DOF VARYING ’id4’ AS ClosedWorkloadPopulation <100, 200> ’id5’ AS ActionReplication <2, 8> FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 12/15
  • More Automation? More Automation! Evaluate DoFs, i.e. variability, in model instances Automate experiment series with a single query Alter the model instance and trigger i × j × . . . simulations SELECT AppServer_CPU.utilization, DBServer_CPU.utilization, DBServer_HDD.utilization EVALUATE DOF VARYING ’id4’ AS ClosedWorkloadPopulation <100, 200> ’id5’ AS ActionReplication <2, 8> FOR RESOURCE ’id1’ AS AppServer_CPU, RESOURCE ’id2’ AS DBServer_CPU, RESOURCE ’id3’ AS DBServer_HDD USING pcm@’mediastore.properties’; Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 12/15
  • Results Query DQL Editor and Result Visualization Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 13/15
  • Conclusion DQL Connector ready to use with PCM Approach to unify the interfaces to PCM, instead of: EMF + PCM EA + SensorFramework Further automation with DoFs Relies on PCM EA Use Case: API for PCM Can be embedded or exposed as a centralized instance Future work on goal-oriented queries Introduction of DQL Case Study MediaStore Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Conclusion 2013-11-27 14/15
  • References I Gorsler, F. (2013). Online Performance Queries for Architecture-Level Performance Models. Master’s thesis, Karlsruhe Institute of Technology (KIT). Merkle, P. (2011). Comparing Process- and Event-oriented Software Performance Simulation. Master thesis, Karlsruhe Institute of Technology (KIT). Reussner, R., Becker, S., Burger, E., Happe, J., Hauck, M., Koziolek, A., Koziolek, H., Krogmann, K., and Kuperberg, M. (2011). The Palladio Component Model. Technical report, Karlsruhe Institute of Technology (KIT), Karlsruhe. Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL 2013-11-27 15/15
  • Backup: Mapping Meta-Model I To interchange data, requests and results need a representation Support of different modeling approaches requires abstraction Encapsulation of structural model information simplifies interfaces Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL 2013-11-27 16/15
  • Backup: Mapping Meta-Model II 0..* Top-Level Aggregates DoF Generic Representation of Probes (i.e. a measurable metric) and Results 0..* Aggregate Mapping modelLocation: EString Probe ExtendedEntity doF 0..* properties: Properties metricName: EString aggregates probes Result EntityMapping Entity valid: EBooleanObject identifier: EString alias: EString DecimalResult 0..* services value: EBigDecimal accuracy: EBigDecimal Service 0..* resources Resource Generic Representation of Model Entities request: EntityMapping response: EntityMapping Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL 2013-11-27 17/15
  • Backup: Component Interaction I DQL QEE: Implementation of External Interface DQL QEE: Model Structure Query Interpreter DQL Connector: Model Structure Query Connector DQL Connector: Model Solver Component Create Instance Execute Query Create Instance Interpret & Verify Query Create Request Execute Request Process Request Execute External Solver Return Result Values Return Result Values Return Result Values Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Compute Create Response 2013-11-27 18/15
  • Backup: Component Interaction II DQL QEE: Implementation of External Interface DQL QEE: Perf. Metrics Query Interpreter DQL Connector: Perf. Metrics Query Connector DQL Connector: Model Solver Component Create Instance Execute Query Create Instance Interpret & Verify Query Set Constraint Set Temporal Dimension Create Request Pre-Process Aggregates Execute Request Process Request Execute External Solver Return Result Values Return Result Values Create Response Post-Process Aggregates Return Result Values DQL Query Compute DQL Connector DQL Connector Fabian Gorsler, Fabian Brosig, Samuel Kounev – Controlling the Palladio Bench using DQL Execution Engine Registry OSGi Service Component 2013-11-27 19/15