All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/27] Running benchmarks via OSSTest
@ 2014-12-10 18:08 Dario Faggioli
  2014-12-10 18:09 ` [PATCH 01/27] ts-devbian-hvm-install: prune "cdrom:" from install sources Dario Faggioli
                   ` (26 more replies)
  0 siblings, 27 replies; 40+ messages in thread
From: Dario Faggioli @ 2014-12-10 18:08 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson, Wei Liu, Ian Campbell

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)

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2014-12-11 13:23 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-10 18:08 [PATCH 00/27] Running benchmarks via OSSTest Dario Faggioli
2014-12-10 18:09 ` [PATCH 01/27] ts-devbian-hvm-install: prune "cdrom:" from install sources Dario Faggioli
2014-12-10 18:09 ` [PATCH 02/27] Osstest/Debian.pm: fix identifying a Linux baremetal grub2 entry Dario Faggioli
2014-12-10 18:09 ` [PATCH 03/27] Guest setup: allow the amount of RAM to be a runvar Dario Faggioli
2014-12-11 12:05   ` Wei Liu
2014-12-11 12:57     ` Dario Faggioli
2014-12-11 13:06       ` Wei Liu
2014-12-10 18:09 ` [PATCH 04/27] Osstest/TestSupport.pm: Introduce target_getfile_[root_]stash() Dario Faggioli
2014-12-10 18:09 ` [PATCH 05/27] mg-unixbench-download: new script for downloading the unixbench archive Dario Faggioli
2014-12-10 18:09 ` [PATCH 06/27] ts-unixbench-build: prep the environment for running unixbench Dario Faggioli
2014-12-10 18:09 ` [PATCH 07/27] ts-unixbench-run: kick off the benchmark on the target Dario Faggioli
2014-12-10 18:09 ` [PATCH 08/27] ts-unixbench-reslts: for retrieving the results Dario Faggioli
2014-12-11 12:09   ` Wei Liu
2014-12-11 12:59     ` Dario Faggioli
2014-12-10 18:10 ` [PATCH 09/27] ts-unixbench-reslts: process and plot bench results Dario Faggioli
2014-12-11 12:15   ` Wei Liu
2014-12-11 13:11     ` Dario Faggioli
2014-12-11 13:16       ` Wei Liu
2014-12-10 18:10 ` [PATCH 10/27] sg-run-job: recipes for the unixbench jobs Dario Faggioli
2014-12-10 18:10 ` [PATCH 11/27] make-bench-flight: to create a benchmarking flight Dario Faggioli
2014-12-10 18:10 ` [PATCH 12/27] standalone-reset: introduce a new -t option Dario Faggioli
2014-12-10 18:10 ` [PATCH 13/27] mg-kernbench-download: new script for downloading kernbench Dario Faggioli
2014-12-10 18:10 ` [PATCH 14/27] ts-kernbench-build: prep the environment for running kernbench Dario Faggioli
2014-12-10 18:10 ` [PATCH 15/27] ts-kernbench-run: kick off the benchmark on the target Dario Faggioli
2014-12-10 18:11 ` [PATCH 16/27] ts-unixbench-reslts: retrieve and stash kernbench results Dario Faggioli
2014-12-10 18:11 ` [PATCH 17/27] ts-kernbench-reslts: process and plot bench results Dario Faggioli
2014-12-11 13:19   ` Dario Faggioli
2014-12-10 18:11 ` [PATCH 18/27] sg-run-job: recipes for the kernbench jobs Dario Faggioli
2014-12-10 18:11 ` [PATCH 19/27] make-bench-flight: create " Dario Faggioli
2014-12-10 18:11 ` [PATCH 20/27] Osstest/TestSupport.pm: read hosts' hardware characteristics Dario Faggioli
2014-12-10 18:11 ` [PATCH 21/27] ts-bench-hostcmp-guest-prep: new script Dario Faggioli
2014-12-10 18:11 ` [PATCH 22/27] ts-bench-hostcmp-host-prep: " Dario Faggioli
2014-12-11 12:32   ` Wei Liu
2014-12-11 13:23     ` Dario Faggioli
2014-12-10 18:12 ` [PATCH 23/27] ts-bench-hostcmp-host-reset: " Dario Faggioli
2014-12-11 13:20   ` Dario Faggioli
2014-12-10 18:12 ` [PATCH 24/27] Recipes and jobs for running unixbench both on host and guest Dario Faggioli
2014-12-10 18:12 ` [PATCH 25/27] ts-bench-hostcmp-post: add plotting facilities Dario Faggioli
2014-12-10 18:12 ` [PATCH 26/27] Kernbench perf comparison between host and guest Dario Faggioli
2014-12-10 18:12 ` [PATCH 27/27] ts-bench-hostcmp-post: add plotting facilities Dario Faggioli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.