PerOpteryx/Hybrid Optimization Case Study 2012
This pages gives more detail on the BRS case study for the hybrid optimisation approach with analytic optimisation and PerOpteryx. Check out the PerOpteryx page for details on the tool. Version 3.3 of the PCM and version 1.0 of PerOpteryx were used to conduct the case study.
BRS model details
The example system is the so-called business reporting system (BRS), which lets users retrieve reports and statistical data about running business processes from a data base. It is loosely based on a real system by Wu et al.. The Figure below shows some parts of the PCM model of the BRS visualised using annotated UML diagrams. It is a 4-tier system consisting of several software components. The components are allocated on four different servers. In an open workload usage scenario, requests arrive according to a Poisson process with an arrival rate of 0.1 req/sec. For each request, users first use the ``graphicalReport service and then the ``graphicalView service of the system.
See the PCM model for details.
Server configuration
For the evolutionary optimization, the processing rates can be freely varied between 1GHz and 4GHz. The costs of each server are based on Intel's CPU price list \cite{intel2010a}. We fitted a power function to this data, so that the resulting costs of one server is
cost = 0.7665 * processingRate^(6.2539) + 145
with a coefficient of determination R^2 = 0.965.
For the analytical optimization, the server configurations are shown in the table below.
Configuration | Processor Speed PR | Availability HA | Cost HCost |
---|---|---|---|
C_1 | 1 GHz | 0.99986 | 145 |
C_2 | 2 GHz | 0.99993 | 155 |
C_3 | 3 GHz | 0.99995 | 267 |
C_4 | 4 GHz | 0.99997 | 884 |
Component Allocation
For the evolutionary optimization, all used components except the Webserver and the Database can be freely allocated to the four servers. The Webserver cannot be reallocated (e.g. for security reasons), the Database can only be allocated to servers S_1 or S_3. For the analytic optimization, we consider three allocation degrees of freedom: (1) The GraphicalReporting component can be allocated to servers S_1 to S_4, (2) the Cache component can be allocated to servers S_1 to S_4, and (3) the Database component can be allocated to servers S_1 or S_3.
The figure below shows the modelling of the allocation degree of freedom for the GraphicalReporting component.
Component Selection
The Webserver can be realised using third party components. The software architect can choose among three functional equivalent implementations: Webserver2 with cost 4 and Webserver3 with cost 6. Both have less resource demand than the initial Webserver. Webserver2 has better availability for the requests of type "view", while Webserver3 has better availability for the requests of type "report".
Check the section on the PCM model below for resource demands and availability values.
PCM models
You can download the Datei:BRS PCM model Hybrid Optimisation 2012 rev 15854.zip and open it with the 3.3 version of the PCM tools and PerOpteryx. See PCM 3.3 for details how to install and use the PCM. You find a Run Configuration entry named PCM Design Space Exploration for PerOpteryx. You can also inspect the model files with an XML editor, if you like. See PerOpteryx for more information on the evolutionary optimisation tool.
The SVN is located at https://svnserver.informatik.kit.edu/i43/svn/code/CaseStudies/PalladioModels/PCM3.3_BRS_Optimisation_Heuristics at revision 15854.
Mapping to the Analytical Optimization
Directed Acyclic Graph
The figures below show the directed acyclic graph of the BRS behaviour for this usage.
Decision Variables
The first 36 decision variables are shown below.
x | description |
---|---|
1 | CPU server S1 downgraded from 10.0 to 5.0 Ghz |
2 | CPU server S1 upgraded from 10.0 to 15.0 Ghz |
3 | CPU server S1 upgraded from 10.0 to 20.0 Ghz |
4 | CPU server S2 downgraded from 10.0 to 5.0 Ghz |
5 | CPU server S2 upgraded from 10.0 to 15.0 Ghz |
6 | CPU server S2 upgraded from 10.0 to 20.0 Ghz |
7 | CPU server S3 downgraded from 10.0 to 5.0 Ghz |
8 | CPU server S3 upgraded from 10.0 to 15.0 Ghz |
9 | CPU server S3 upgraded from 10.0 to 20.0 Ghz |
10 | CPU server S4 downgraded from 10.0 to 5.0 Ghz |
11 | CPU server S4 upgraded from 10.0 to 15.0 Ghz |
12 | CPU server S4 upgraded from 10.0 to 20.0 Ghz |
13 | Component webserver on server S1 replaced by component webserver2 |
14 | action#13 + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
15 | action#13 + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
16 | action#13 + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
17 | Component webserver on server S1 replaced by component webserver3 |
18 | action#17 + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
19 | action#17 + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
20 | action#17 + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
21 | Components moved from server: S2 Component GraphicalReporting moved to server S1 |
22 | action#21 + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
23 | action#21 + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
24 | action#21 + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
25 | action#21 + CPU server S2 downgraded from 10.0 to 5.0 Ghz |
26 | action#21 + CPU server S2 downgraded from 10.0 to 5.0 Ghz + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
27 | action#21 + CPU server S2 downgraded from 10.0 to 5.0 Ghz + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
28 | action#21 + CPU server S2 downgraded from 10.0 to 5.0 Ghz + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
29 | action#21 + CPU server S2 upgraded from 10.0 to 15.0 Ghz |
30 | action#21 + CPU server S2 upgraded from 10.0 to 15.0 Ghz + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
31 | action#21 + CPU server S2 upgraded from 10.0 to 15.0 Ghz + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
32 | action#21 + CPU server S2 upgraded from 10.0 to 15.0 Ghz + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
33 | action#21 + CPU server S2 upgraded from 10.0 to 20.0 Ghz |
34 | action#21 + CPU server S2 upgraded from 10.0 to 20.0 Ghz + CPU server S1 downgraded from 10.0 to 5.0 Ghz |
35 | action#21 + CPU server S2 upgraded from 10.0 to 20.0 Ghz + CPU server S1 upgraded from 10.0 to 15.0 Ghz |
36 | action#21 + CPU server S2 upgraded from 10.0 to 20.0 Ghz + CPU server S1 upgraded from 10.0 to 20.0 Ghz |
The exclusive sets among these variables are:
- Changes of server S_1: es_1 = 1 + 2 + 3 + 13 + ... + 36
- Changes of server S_2: es_2 = 4 + 5 + 6 + 21 + ... + 36
- Changed of server S_3: es_3 = 7 + 8 + 9
- Changed of server S_3: es_4 = 10 + 11 + 12
The Datei:PerOpteryx Hybrid 2012 Complete Alternatives and Exclusive Sets.txt sets can be downloaded as a text file.
References
- Intel Corporation, 2010. Intel R processor price list, effective feb 8th, 2010. http://www.intc.com/priceList.cfm, last visit March 10th, 2010.