Using the Raspberry Pi and Docker for Replicable Performance Experiments
Authors/Creators
- 1. University of Kiel
- 2. University of Hildesheim
Description
Replicating software performance experiments is difficult. A common obstacle to replication is that recreating the hardware and software environments is often impractical. As researchers usually run their experiments on the hardware and software that happens to be available to them, recreating the experiments would require obtaining identical hardware, which can lead to high costs. Recreating the software environment is also difficult, as software components such as particular library versions might no longer be available.
Cheap, standardized hardware components like the Raspberry Pi and portable software containers like the ones provided by Docker are a potential solution to meet the challenge of replicability. In this paper, we report on experiences from replicating performance experiments on Raspberry Pi devices with and without Docker and show that good replication results can be achieved for microbenchmarks such as JMH. Replication of macrobenchmarks like SPECjEnterprise 2010 proves to be much more difficult, as they are strongly affected by (non-standardized) peripherals. Inspired by previous microbenchmarking experiments on the Pi platform, we furthermore report on a systematic analysis of response time fluctuations, and present lessons learned on dos and don’ts for replicable performance experiments.
Result files:
- results-jmh.zip: Chapter 4.1/Experiment 1
- results-*-stretch-*-*-*.zip: Chapter 4.2/Experiment 2, mapping in summary.xls/raw-2nd
- results-jpa.zip: Chapter 4.3/Experiment 3
- results-specjenterprise.zip: Chapter 4.3/Experiment 4
- test-spassmeter-*.zip: Chapter 5, mapping/summary in interrupts.xls
Archives/Images
- raspbian-stretch-docker.img.gz: the operating system with docker, please scale to the size of your SD-card
- docker.zip: docker containers or scripts to build them in case that licenses permit sharing the original container (may be made available by the authors on request)
- sources.zip: sources for experiments/benchmarks created by the authors.
- rScripts.zip: contains the R-scripts for analyzing the Moobench log files. timeseries-average.r is the main script to call, the other one is reused by other scripts that are not relevant here. Before running the analysis scripts, you may need to edit lines 7 and 8 of "timeseries-average.r". Line 7 needs to point to the directory where the raw results are stored. Depending on whether the results are from Kieker or from SPASSmeter, you will have to set the flag in line 8 accordingly, i.e., set isSPASS<-TRUE for SPASS-meter logs, isSPASS<-FALSE for Kieker<-logs. The R scripts are necessary for analyzing the moobench results containing the logs our analyses. The results from the paper can be found in different locations in the logs depending on the underlying monitoring solution. For SPASSmeter, the results can be found in the lines marked as "raw all-t (SPASSmeter Javassist)". For Kieker, the results are in the lines marked as "raw all-t (FS logging)". summary.xslx shows which parts we utilized and how we obtained the summary results shown in the paper.
Files
docker.zip
Files
(3.0 GB)
| Name | Size | |
|---|---|---|
|
md5:e22a848fd0651d6161bdc85cab2cef7a
|
166.6 MB | Preview Download |
|
md5:afc1bd8d290e74681497a5bb2742926b
|
40.4 kB | Download |
|
md5:33b5c80f06261d6acdf950f27515008c
|
837.3 MB | Download |
|
md5:77a30edc489b6bda27f6b0f22484b1c5
|
865.1 kB | Preview Download |
|
md5:f9b0235f00dec5320a6c0ebda0aa81a1
|
5.2 MB | Preview Download |
|
md5:0ac7c57700c11f5e0f58febf68712955
|
56.5 MB | Preview Download |
|
md5:2e6358cf5e37796414b3dade4cd506d8
|
56.6 MB | Preview Download |
|
md5:455621adaf66a2b7b395909ae01a50fe
|
56.4 MB | Preview Download |
|
md5:1345050387f6c80cee2b805a0bcc7ca2
|
58.0 MB | Preview Download |
|
md5:03aebdb60c3dea76fb076999b11e51d1
|
57.8 MB | Preview Download |
|
md5:d79074296c5cfc938430714d57f91afc
|
57.5 MB | Preview Download |
|
md5:6fac7173cd9ced2bc2feb43221045b54
|
97.5 MB | Preview Download |
|
md5:34cc6a3ff9f69ef5806b7e2d68e1ef31
|
97.8 MB | Preview Download |
|
md5:6d773e73fa07c3fba1dba509e71d0e1e
|
94.3 MB | Preview Download |
|
md5:9bb1a7c58603f1346fa91c04bde10236
|
96.0 MB | Preview Download |
|
md5:cf273231fd88d590209bd9a7d40daf95
|
96.4 MB | Preview Download |
|
md5:f6aa80b728a9aa8522b24c6ec6500587
|
92.4 MB | Preview Download |
|
md5:db0dc1a687bf85efa59fd6d9e62db181
|
72.2 kB | Preview Download |
|
md5:43f1dd4fa1068634fc8b933ac2bf1494
|
3.2 kB | Preview Download |
|
md5:6196a0d7580616170f5790408c5913a1
|
68.4 kB | Preview Download |
|
md5:0a06c8d834ec223b43489efaf29bdba4
|
205.4 kB | Download |
|
md5:edccf5ebb016275ad5feb3aa11b82e66
|
97.2 MB | Preview Download |
|
md5:a2c57ff934e5819df93e2e54bb265d50
|
100.7 MB | Preview Download |
|
md5:4a5ad5910e8e0ee8b5c183907123f888
|
97.8 MB | Preview Download |
|
md5:695f7bccc0b330c0aa6fdb95b85ecdc9
|
97.4 MB | Preview Download |
|
md5:93b3fb21d9bea7c01ce4f4a626fce245
|
39.6 MB | Preview Download |
|
md5:7f0dee946ba4a19040036c45ff18b6ab
|
55.8 MB | Preview Download |
|
md5:c3c27f062db2f97dccf1a4a0cab8f89f
|
55.7 MB | Preview Download |
|
md5:6d04cc58bf8c0f71c3069a3a581d836c
|
56.5 MB | Preview Download |
|
md5:3068f609e5b77a0d7b6564f9d368ac4e
|
55.9 MB | Preview Download |
|
md5:48812af520b9485d3648031493caa1b8
|
56.0 MB | Preview Download |
|
md5:9f3b32c84ff61463160a0b69a4f6724a
|
55.5 MB | Preview Download |
|
md5:81113e6587a5b0933f9584f5a37f594a
|
55.7 MB | Preview Download |
|
md5:90d7ee05258c39cc2de55a9fe440f08b
|
57.5 MB | Preview Download |
|
md5:000f0ba0acd157bf7d487dd3ab9a0211
|
55.8 MB | Preview Download |
|
md5:045a29b540b3ce054f165769555246e2
|
61.7 MB | Preview Download |
|
md5:8a27458ecb56c89218a072f052ae7d82
|
56.0 MB | Preview Download |
|
md5:065419e670af7ad51e0852c2b7ae7947
|
56.0 MB | Preview Download |