Published April 9, 2018 | Version v1

Using the Raspberry Pi and Docker for Replicable Performance Experiments

  • 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