Running benchmarks via OSSTest
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest27 patches 12 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/27 | ts-devbian-hvm-install: prune "cdrom:" from install sourcests-debian-hvm-install | +2 | 0 replies | |
| 2/27 | Osstest/Debian.pm: fix identifying a Linux baremetal grub2 entryOsstest/ | +6 | 0 replies | |
| 3/27 | Guest setup: allow the amount of RAM to be a runvarOsstest/ ts-debian-fixup | +5 | 3 replies | |
| 4/27 | Osstest/TestSupport.pm: Introduce target_getfile_[root_]stash()Osstest/ | +16 | 0 replies | |
| 5/27 | mg-unixbench-download: new script for downloading the unixbench archivemg-unixbench-download | +40 | 0 replies | |
| 6/27 | ts-unixbench-build: prep the environment for running unixbenchts-unixbench-build | +77 | 0 replies | |
| 7/27 | ts-unixbench-run: kick off the benchmark on the targetOsstest/ ts-unixbench-run | +90 | 0 replies | |
| 8/27 | ts-unixbench-reslts: for retrieving the resultsts-unixbench-reslts | +67 | 2 replies | |
| 9/27 | ts-unixbench-reslts: process and plot bench resultsOsstest/ ts-unixbench-reslts | +132 | 3 replies | |
| 10/27 | sg-run-job: recipes for the unixbench jobssg-run-job | +31 | 0 replies | |
| 11/27 | make-bench-flight: to create a benchmarking flightREADME make-bench-flight | +110 | 0 replies | |
| 12/27 | standalone-reset: introduce a new -t optioncr-daily-branch standalone standalone-reset | +13 | 0 replies | |
| 13/27 | mg-kernbench-download: new script for downloading kernbenchmg-kernbench-download | +49 | 0 replies | |
| 14/27 | ts-kernbench-build: prep the environment for running kernbenchts-kernbench-build | +86 | 0 replies | |
| 15/27 | ts-kernbench-run: kick off the benchmark on the targetts-kernbench-run | +63 | 0 replies | |
| 16/27 | ts-unixbench-reslts: retrieve and stash kernbench resultsts-kernbench-reslts | +60 | 0 replies | |
| 17/27 | ts-kernbench-reslts: process and plot bench resultsOsstest/ ts-kernbench-reslts | +99 | 1 reply | |
| 18/27 | sg-run-job: recipes for the kernbench jobssg-run-job | +29 | 0 replies | |
| 19/27 | make-bench-flight: create kernbench jobsmake-bench-flight | +42 | 0 replies | |
| 20/27 | Osstest/TestSupport.pm: read hosts' hardware characteristicsOsstest/ README mg-host-hw-specs | +126 | 0 replies | |
| 21/27 | ts-bench-hostcmp-guest-prep: new scriptts-bench-hostcmp-guest-prep | +87 | 0 replies | |
| 22/27 | ts-bench-hostcmp-host-prep: new scriptOsstest/ ts-bench-hostcmp-host-prep | +88 | 2 replies | |
| 23/27 | ts-bench-hostcmp-host-reset: new scriptOsstest/ Osstest/ ts-bench-hostcmp-post +1 more | +103 | 1 reply | |
| 24/27 | Recipes and jobs for running unixbench both on host and guestREADME make-bench-flight sg-run-job | +62 | 0 replies | |
| 25/27 | ts-bench-hostcmp-post: add plotting facilitiesOsstest/ sg-run-job ts-bench-hostcmp-post +1 more | +62 | 0 replies | |
| 26/27 | Kernbench perf comparison between host and guestmake-bench-flight sg-run-job | +24 | 0 replies | |
| 27/27 | ts-bench-hostcmp-post: add plotting facilitiesOsstest/ ts-bench-hostcmp-post ts-kernbench-reslts | +17 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/27] Running benchmarks via OSSTest
Hello everyone,
This is a highly reworked and much more mature version of this old RFC series:
http://lists.xen.org/archives/html/xen-devel/2014-06/msg03429.html
It is about integrating benchmarking capabilities into OSSTest. The series is a lot bigger, because it is now capable of doing a lot more stuff. :-) All the comments I got during review of the RFC have been addressed, of course... More comments are of course welcome!
The series is available here:
git://xenbits.xen.org/people/dariof/osstest.git benchmarking-with-osstest
http://xenbits.xen.org/gitweb/?p=people/dariof/osstest.git;a=shortlog;h=refs/heads/benchmarking-with-osstest
So, about the patches. Patches 01 to 04, as well as patch 20, are preliminary changes and fixes, necessary for the rest of the series to work properly, but they are general enough to be considered separately from the series, if interesting.
Patches 05 to 12 make it possible to run an instance of the Unixbench (XXX) benchmark via OSSTest. Management scripts, test scripts, jobs and recipes are provided to download the benchmark, prepare the guest (PV or HVM), build the benchmark in the guest, run it, and retrieve and process (include some super fancy plots! :-D) the results.
To do so, do as follows (in standalone mode):
$ ./standalone-reset -t bench $ ./mg-unixbench-download $ ./standalone run-job -h ultralisk bench-unixbench-amd64-credit-pv-4vcpus-4096ram
One thing about patch 12. I tried, but I can't tell how I should invoke ./standalone in order to test the new parameter I'm adding... Can someone help with this? IanC?
To have an idea of how the 'output' of one of this jobs looks like, have a look here:
http://xenbits.xen.org/people/dariof/osstest-bench/bench-kernbench-amd64-credit-hvm-4vcpus-4096ram.log
http://xenbits.xen.org/people/dariof/osstest-bench/bench-kernbench-amd64-credit-hvm-4vcpus-4096ram/
http://xenbits.xen.org/people/dariof/osstest-bench/bench-kernbench-amd64-credit-hvm-4vcpus-4096ram/debianhvm.guest.osstest--kernbench-n4-PLOT.png
Or here:
http://xenbits.xen.org/people/dariof/osstest-bench/bench-unixbench-amd64-credit-pv-4vcpus-4096ram.log
http://xenbits.xen.org/people/dariof/osstest-bench/bench-unixbench-amd64-credit-pv-4vcpus-4096ram/
http://xenbits.xen.org/people/dariof/osstest-bench/bench-unixbench-amd64-credit-pv-4vcpus-4096ram/debian.guest.osstest--unixbench-i1-c4-PLOT.png
Patches 13 to 19 does the very same, but for Kernbench (XXX):
$ ./mg-kernbench-download $ ./standalone run-job -h ultralisk bench-kernbench-amd64-credit-hvm-4vcpus-4096ram
Patches 21 to 27 aims at allowing running a benchmark both in a guest and on baremetal, to investigate the performances loss due to the virtualization overhead. To do that, for Unixbench and Kernbench, one just issue the following commands (in standalone mode):
$ ./standalone run-job -h ultralisk bench-hostcmp-unixbench-amd64-credit $ ./standalone run-job -h ultralisk bench-hostcmp-kernbench-amd64-credit2
To have an idea of how the 'output' of one of these jobs looks like, have a look here:
http://xenbits.xen.org/people/dariof/osstest-bench/bench-hostcmp-kernbench-amd64-credit.log
http://xenbits.xen.org/people/dariof/osstest-bench/bench-hostcmp-kernbench-amd64-credit/
http://xenbits.xen.org/people/dariof/osstest-bench/bench-hostcmp-kernbench-amd64-credit/bench-hostcmp-kernbench-amd64-credit-PLOT.png
TODOs:
* in patch 02/27, I haven't actually checked whether also grub1 and/or uboot needs fixing
* When comparing performance, I think it would be best to always use the same kernel, in host and guests. This happens by default for PV guest, while it does not for HVM guests. This of course can be solved pretty easily, and I plan to do it either in future posting of this series, or with a follow-up patch.
Regards,
Dario
---
Dario Faggioli (27):
ts-devbian-hvm-install: prune "cdrom:" from install sources Osstest/Debian.pm: fix identifying a Linux baremetal grub2 entry Guest setup: allow the amount of RAM to be a runvar Osstest/TestSupport.pm: Introduce target_getfile_[root_]stash()
mg-unixbench-download: new script for downloading the unixbench archive
ts-unixbench-build: prep the environment for running unixbench
ts-unixbench-run: kick off the benchmark on the target
ts-unixbench-reslts: for retrieving the results
ts-unixbench-reslts: process and plot bench results
sg-run-job: recipes for the unixbench jobs
make-bench-flight: to create a benchmarking flight
standalone-reset: introduce a new -t option
mg-kernbench-download: new script for downloading kernbench
ts-kernbench-build: prep the environment for running kernbench
ts-kernbench-run: kick off the benchmark on the target
ts-unixbench-reslts: retrieve and stash kernbench results
ts-kernbench-reslts: process and plot bench results
sg-run-job: recipes for the kernbench jobs
make-bench-flight: create kernbench jobs Osstest/TestSupport.pm: read hosts' hardware characteristics ts-bench-hostcmp-guest-prep: new script ts-bench-hostcmp-host-prep: new script ts-bench-hostcmp-host-reset: new script
Recipes and jobs for running unixbench both on host and guest
ts-bench-hostcmp-post: add plotting facilities
Kernbench perf comparison between host and guest
ts-bench-hostcmp-post: add plotting facilities
Osstest/Benchmarking.pm | 210 +++++++++++++++++++++++++++++++++++++++++++ Osstest/Debian.pm | 54 +++++++---- Osstest/TestSupport.pm | 166 +++++++++++++++++++++++++++++++++- README | 36 +++++++ cr-daily-branch | 3 - make-bench-flight | 153 +++++++++++++++++++++++++++++++ mg-host-hw-specs | 35 +++++++ mg-kernbench-download | 49 ++++++++++ mg-unixbench-download | 40 ++++++++ sg-run-job | 102 ++++++++++++++++++++- standalone | 7 + standalone-reset | 9 +- ts-bench-hostcmp-guest-prep | 87 ++++++++++++++++++ ts-bench-hostcmp-host-prep | 74 +++++++++++++++ ts-bench-hostcmp-post | 81 +++++++++++++++++ ts-debian-fixup | 3 + ts-debian-hvm-install | 3 - ts-kernbench-build | 86 ++++++++++++++++++ ts-kernbench-reslts | 75 +++++++++++++++ ts-kernbench-run | 63 +++++++++++++ ts-unixbench-build | 77 ++++++++++++++++ ts-unixbench-reslts | 84 +++++++++++++++++ ts-unixbench-run | 67 ++++++++++++++ ts-xen-install | 38 -------- 24 files changed, 1534 insertions(+), 68 deletions(-) create mode 100644 Osstest/Benchmarking.pm create mode 100755 make-bench-flight create mode 100755 mg-host-hw-specs create mode 100755 mg-kernbench-download create mode 100755 mg-unixbench-download create mode 100755 ts-bench-hostcmp-guest-prep create mode 100755 ts-bench-hostcmp-host-prep create mode 100755 ts-bench-hostcmp-post create mode 100755 ts-kernbench-build create mode 100755 ts-kernbench-reslts create mode 100755 ts-kernbench-run create mode 100755 ts-unixbench-build create mode 100755 ts-unixbench-reslts create mode 100755 ts-unixbench-run
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-------------------------------------------------------------------
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)