Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
74 CHAPTER 4. PERFORMANCE ENGINEERING OF EVENT-BASED SYSTEMS<br />
!"#$%&'&<br />
('&<br />
!"#$%&1&<br />
(')*+&(-.%/&0&%23454!<br />
!"#$%&'&<br />
!"#$%&'& )&<br />
!"#$%&*&<br />
)&<br />
)&<br />
!"#$%&1&<br />
!"#$%&(&<br />
!"#$%&+&<br />
(')**+&,-&(-.%/&0!<br />
!"#$%&'&<br />
!"#$%&'&<br />
!"#$%&*&<br />
)&<br />
)&<br />
!"#$%&1&<br />
!"#$%&(&<br />
!"#$%&+&<br />
Figure 4.22: Example for Priority <strong>of</strong> Transitions<br />
network links. The respective physical system resources are modeled using the queues inside the<br />
queueing places. After completing our logical model we can use it to generate different physical<br />
representations by defining mappings <strong>of</strong> logical resources to physical resources.<br />
In Figure 4.21, an example application composed <strong>of</strong> two different components is illustrated.<br />
In the logical model, we define how they interact with each other. Multiple queueing places<br />
can be mapped to the same physical queue. For example, if all entities are deployed on a<br />
single server, their corresponding queueing places should be mapped to a set <strong>of</strong> central queues<br />
representing the physical resources <strong>of</strong> the server.<br />
The hierarchical structure <strong>of</strong> the model not only makes it easy to underst<strong>and</strong> <strong>and</strong> visualize,<br />
but most importantly, it provides flexibility in mapping logical resources to physical resources<br />
<strong>and</strong> thus makes it easy to customize the model to a specific deployment <strong>and</strong> to reuse the<br />
logical model by mapping into different physical scenarios. Further, it is possible to map several<br />
logic models in one physical model, e.g., to verify if a server has enough resources to run two<br />
applications.<br />
4.3.2 Non-Constant Cardinalities <strong>of</strong> Transitions<br />
In st<strong>and</strong>ard QPNs, the cardinalities <strong>of</strong> transitions are specified by a constant value. This has<br />
several limitations. In our approach it is possible to specify the cardinality <strong>of</strong> a transition by<br />
using a distribution function. This increases the flexibility <strong>and</strong> at the same time minimizes the<br />
number <strong>of</strong> transition modes. Furthermore, models are easier to maintain.<br />
For example, in Pattern 2 (1:n communication) we define the number <strong>of</strong> subscribers directly<br />
by setting a constant integer value for the cardinality <strong>of</strong> the transition. For each different sized<br />
subscriber set we have to define an extra transition mode (e.g. one for 10 subscribers, one for 15,<br />
etc.). By allowing distribution functions, such scenarios are easier to model with less complexity.<br />
The modeler can concentrate on the logical relations instead <strong>of</strong> creating <strong>and</strong> maintaining a high<br />
number for transition modes.<br />
4.3.3 Priority <strong>of</strong> Transitions<br />
St<strong>and</strong>ard QPNs do not support priorities <strong>of</strong> transitions. This approach provides only limited<br />
control <strong>of</strong> transition firing order. To illustrate this limitation we have a look at the example in<br />
Figure 4.22. We have two modes defined for transition T1 <strong>and</strong> would like to model the following<br />
behavior:<br />
• If Token A <strong>and</strong> Token B exist, the first mode T1-I should be fired.<br />
• If only Token A <strong>and</strong> no Token B exist, T1-II should be fired.