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.

44 CHAPTER 4. PERFORMANCE ENGINEERING OF EVENT-BASED SYSTEMS<br />

Name<br />

Pattern 1: St<strong>and</strong>ard<br />

Queue<br />

Pattern 2: St<strong>and</strong>ard<br />

Pub / Sub - Fixed<br />

Number <strong>of</strong> Subscribers<br />

Pattern 3: St<strong>and</strong>ard<br />

Pub / Sub - Configurable<br />

Number <strong>of</strong> Subscribers<br />

Pattern 4: Time controlled<br />

Pull I<br />

Pattern 5: Time controlled<br />

Pull II<br />

Pattern 6: Resource<br />

controlled Pull I<br />

Pattern 7: Resource<br />

controlled Pull II<br />

Pattern 8: Time Window<br />

Pattern 9: R<strong>and</strong>om<br />

Load Balancer<br />

Pattern 10: Round-<br />

Robin Load Balancer<br />

Pattern 11: Queuing<br />

Load Balancer<br />

Description<br />

Models a queue, which pushes notifications to the consumer.<br />

Models a st<strong>and</strong>ard publish / subscribe scenario, in which incoming<br />

notifications are pushed to a constant number <strong>of</strong> subscribers.<br />

A st<strong>and</strong>ard publish / subscribe scenario, in which incoming notifications<br />

are pushed to a variable number <strong>of</strong> subscribers.<br />

Implementation <strong>of</strong> simple time-controlled pull communication.<br />

An event consumer connects frequently to pull one event.<br />

An event consumer connects frequently to the broker to pull all<br />

waiting event notifications.<br />

An event consumer pulls an event <strong>and</strong> processes it. When the<br />

event is processed, the consumer pulls the next event.<br />

Similar to Pattern 6, but a different implementation for parallel<br />

event processing.<br />

A consumer connects frequently to a broker <strong>and</strong> stays online for<br />

a specified time interval before disconnecting.<br />

A load balancer which distributes incoming event notifications<br />

r<strong>and</strong>omly among the consumers.<br />

A load balancer which distributes incoming event notifications<br />

round-robin among the consumers.<br />

A load balancer stores incoming event notifications <strong>and</strong> consumers<br />

pull events for processing them.<br />

Table 4.1: <strong>Performance</strong> <strong>Modeling</strong> Patterns<br />

4. QPN Definition: The definition <strong>of</strong> the QPN is presented in four tables:<br />

(a) Places: A list <strong>of</strong> all places including the name, type (Q=queueing place, O=ordinary<br />

place, S=subnet place) <strong>and</strong> a short description.<br />

(b) Colors: A list <strong>of</strong> all colors.<br />

(c) Initial Number <strong>of</strong> Colors: Specifies, how many tokens <strong>of</strong> which color in which place<br />

are generated in the initial phase <strong>of</strong> a QPN.<br />

(d) Transitions: A description <strong>of</strong> all transitions including colors, places <strong>and</strong> firing weight<br />

(FW, mostly 1 or ∞ ).<br />

Additionally, a graphical illustration <strong>of</strong> the underlying QPN is provided for each pattern. If<br />

no cardinality for a transition is specified in the illustration, the cardinality is 1.

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

Saved successfully!

Ooh no, something went wrong!