05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

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.

8. Evaluation: Performance<br />

benchmarks, i. e., benchmarks that are executed on a single processor<br />

core. This removes a strong source of noise in the results and improves<br />

the quality of our measurements.<br />

• Minimize non<strong>de</strong>terminism incurred by Intel’s TurboBoost: Mo<strong>de</strong>rn processors<br />

often support dynamic frequency changes for processor cores to<br />

manage power consumption and heat dissipation. To avoid an influence<br />

of such techniques on measurements, they need to be disabled. 16<br />

• Minimize non<strong>de</strong>terminism incurred by garbage collection: To avoid measurement<br />

noise coming from different GC strategies in the different<br />

VMs, the heap size are adjusted to a large enough value of 1024MB,<br />

and thus, GC operations are avoi<strong>de</strong>d.<br />

• Problem sizes: The problem size of all benchmarks is adjusted to yield<br />

runtimes in the or<strong>de</strong>r of hundreds of milliseconds, i<strong>de</strong>ally between<br />

300ms to 1000ms. In some experiments, the runtimes go well beyond<br />

this range, because of the different performance characteristics of the<br />

VMs used. However, fixing the lower bound to an appropriate value<br />

avoids influence of potentially imprecise timer resolutions provi<strong>de</strong>d by<br />

the different VMs.<br />

Execution With these precautions in place, systematic bias in the experiments<br />

is reduced. However, t<strong>here</strong> remain other non<strong>de</strong>terministic influences.<br />

For instance, operating system features such as virtual memory and scheduling<br />

of other processes cannot completely be disabled. Adjusting process priority<br />

helps partially, but other techniques such as caching in the processors<br />

remain. The remaining influences are handled by executing each benchmark<br />

100 times to obtain statistically significant results.<br />

Hardware And Software Setup The machine used for these experiments is<br />

a MacPro (version 4,1) with two quad-core Intel Xeon E5520 processors at<br />

2.26 GHz with 8 GB of memory. Note that since the benchmarks are purely<br />

sequential, the number of cores is not relevant. The operating system is OS<br />

X 10.6.7 (10K549). The benchmarks are implemented using the SMark benchnot<br />

provi<strong>de</strong> mechanisms that interfere with parallel execution: it facilitates concurrent programming<br />

in contrast to parallel programming (cf. Sec. 2.3.2).<br />

16 On Mac OS X this is possible by using a kernel module:<br />

https://github.com/nanoant/DisableTurboBoost.kext<br />

208

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

Saved successfully!

Ooh no, something went wrong!