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.
5.1. SPECJMS2007 - A STANDARD BENCHMARK 99<br />
Audit Test Scope Description<br />
Input rate is within +-5%<br />
<strong>of</strong> configured value<br />
Interaction For each Interaction, the observed input rate is calculated<br />
as count/time for the measurement period.<br />
This must be within 5% <strong>of</strong> the value prescribed by<br />
Total message count is<br />
within +-5% <strong>of</strong> configured<br />
value<br />
Input rate distribution deviations<br />
do not exceed<br />
20%<br />
90th percentile <strong>of</strong> Delivery<br />
Times under 5000ms<br />
All messages sent were received<br />
Interaction<br />
Interaction<br />
Message<br />
Destination<br />
Message<br />
Destination<br />
the topology.<br />
Using a model <strong>of</strong> the scenario, the benchmark knows<br />
how many messages should be processed as part <strong>of</strong><br />
each Interaction. The observed number <strong>of</strong> messages<br />
sent <strong>and</strong> received by all parties must be within 5% <strong>of</strong><br />
this value.<br />
The percentage <strong>of</strong> pacing misses (in driver threads)<br />
the benchmark will allow. A miss is when the timing<br />
code found itself behind where it thought it should<br />
be.<br />
Messages are timestamped when sent <strong>and</strong> received.<br />
The consequent delivery time is recorded as a histogram<br />
(for the measurement period only) in each<br />
event h<strong>and</strong>ler <strong>and</strong> the 90th percentile <strong>of</strong> this histogram<br />
must be on or under 5000ms.<br />
Fails if the final results (taken after the Drain Period)<br />
show that not all sent messages were received. For<br />
publish-subscribe topics this means received by all<br />
subscribers.<br />
Table 5.8: Audit Tests<br />
Auditor<br />
To validate the correctness <strong>of</strong> a benchmark run, SPECjms2007 comes with two auditor components:<br />
• Pre-Auditor (executed in Phase I): The pre-auditor checks the availability <strong>of</strong> JMS<br />
message destinations (queues / topcis) <strong>and</strong> whether messages exist before starting a benchmark<br />
run which would invalidate a run (but might otherwise only be detected when the<br />
test is completed). If the pre-audit fails for any reason the benchmark is not started.<br />
• Auditor (executed in Phase III): The auditor component is responsible for making<br />
sure that the run has been executed properly <strong>and</strong> that the results are valid. The Auditor<br />
is automatically launched at the end <strong>of</strong> the run to validate the results. It performs an<br />
explicit audit <strong>of</strong> the results against the specified requirements marking each audit test as<br />
P ASS or F AIL in the summary reports. A list <strong>of</strong> all audit tests in provided in Table 5.8.<br />
Minimizing the Impact <strong>of</strong> Non-MOM-Related Components<br />
As discussed in Section 5.1.1, the SPECjms2007 workload should be focused on measuring<br />
the performance <strong>and</strong> scalability <strong>of</strong> a MOM server’s s<strong>of</strong>tware <strong>and</strong> hardware components <strong>and</strong><br />
minimize the impact <strong>of</strong> other components that are not directly related to the MOM services.<br />
While developing SPECjms2007 two concerns had to be addressed in order to achieve this goal.<br />
The first one is how to avoid using a database <strong>and</strong> the second one is how to minimize the<br />
message processing overhead on the client. Given the fact that MOM servers, in their role as<br />
mediators in interactions, are typically less loaded than database servers or application servers,