Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
Performance Modeling and Benchmarking of Event-Based ... - DVS
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 4<br />
<strong>Performance</strong> Engineering <strong>of</strong><br />
<strong>Event</strong>-<strong>Based</strong> Systems<br />
As already discussed in Section 2.1, event-based systems differ from traditional s<strong>of</strong>tware in<br />
several aspects. Since they are used in business critical environments, there is a need for performance<br />
models [101] which allow the user to predict system behavior or analyze certain performance<br />
aspects <strong>and</strong> to identify possible bottlenecks.<br />
The fact that event consumer <strong>and</strong> producer are completely decoupled from each other <strong>and</strong><br />
communicate using asynchronous patterns, influences the modeling approach for the performance<br />
aspects <strong>of</strong> event-based systems. Further, dynamic changes <strong>and</strong> implementations <strong>of</strong> EBS<br />
in very large scale <strong>and</strong> distributed environments make it even harder to find the right model<br />
representation for a given scenario.<br />
As a consequence, we have to investigate whether <strong>and</strong> how traditional performance modeling<br />
approaches can be applied on EBS. Our first step is to redefine the performance metrics to reflect<br />
particular properties <strong>of</strong> EBS.<br />
For example, when a request is sent in a traditional request/reply-based distributed system,<br />
it is sent directly to a given destination which makes it easy to identify the system components<br />
<strong>and</strong> resources involved in its processing. The response time in such an environment can be<br />
defined as time needed by the client to trigger the request <strong>and</strong> by the server to reply to the<br />
request (see Figure 4.1(a)). The client is blocked while waiting for the answer <strong>of</strong> the server. This<br />
underst<strong>and</strong>ing <strong>of</strong> response time is not applicable to EBS systems. When an event is published<br />
in an EBS, it is not addressed to a particular destination, but rather routed along all paths<br />
that lead to subscribers with matching subscriptions. Since event producer <strong>and</strong> consumers are<br />
decoupled, the event producer does not wait for an acknowledgement by the event consumer.<br />
As illustrated in Figure 4.1(b), from the perspective <strong>of</strong> the event producer the response time<br />
does include the execution time <strong>of</strong> the event consumer nor the time needed to forward the event<br />
notifications to the n consumers by the transport layer. Therefore, it is questionable whether<br />
metrics such as response time are still appropriate in a decoupled <strong>and</strong> asynchronous environment<br />
<strong>and</strong> we see a need for new metrics.<br />
The high concurrency in EBS, their flexibility <strong>and</strong> the large number <strong>of</strong> events pose high<br />
requirements to the efficiency <strong>and</strong> features <strong>of</strong> modeling technologies. Challenges are, e.g., the<br />
correct representation <strong>of</strong> event forking, changing or durable subscriptions as well as mobile consumers<br />
<strong>and</strong>, especially in real world scenarios with thous<strong>and</strong>s or millions <strong>of</strong> events, a reasonable<br />
solving time for the models is m<strong>and</strong>atory.<br />
In this chapter, we present our contributions to the area <strong>of</strong> performance engineering <strong>of</strong> eventbased<br />
system.<br />
Formal Definition <strong>of</strong> EBS:<br />
33