20.01.2015 Views

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!