|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 0/9] Running benchmarks via OSSTest
Hello Everyone,
This is something I've been working in the latest few days, and it's about
making it possible to run benchmarks via OSSTest. I've (of course) tested it in
standalone mode, but nothing forbids to integrate it in our push gate, as we
were saying at the hackathon. Of course, there are a lot of things to be
decided. Where to run benchmarks, which benchmarks, how frequently, what to do
with the results, etc, but it's a start! :-P
So, in standalone mode, after applying the patches, you can do the following,
and you'll have a PV guest running unixbench for a while, and the results
fetched for you on the OSSTest standalone controller stash area:
# Retrieve the benchmark archive
./mg-unixbench-download
# Reset, create the benchmarking flight, install the host and build Xen and
Linux
./standalone-reset -t bench
./standalone run-job -R -h ghoul3 build-amd64 # consider --lvextendmax=XXGB,
if necessary
./standalone run-job -h ghoul3 build-amd64-pvops
# Or set-paths --if build happened already-- like this:
#./standalone set-paths build-amd64
#./standalone set-paths build-amd64-pvops
# Install Xen on the host
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-xen-install
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-host-reboot
# Install (and start) the guest
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-debian-install
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-debian-fixup debian
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-guest-start debian
# Prepare the benchmarking environment in the guest
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-unixbench-prep debian
# Run the benchmark in the guest
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-unixbench-run debian
# Retrieve the benchmark results:
./standalone run-test -h ghoul3 bench-unixbench-amd64-amd64-xl-credit
ts-unixbench-reslts debian
A few jobs are being created. In case you want to use one, instead of invoking
all the ts-s, run the following:
# Retrieve the benchmark archive
./mg-unixbench-download
# Reset, create the benchmarking flight, install the host and build Xen and
Linux
./standalone-reset -t bench
./standalone run-job -R -h ghoul3 build-amd64 # consider --lvextendmax=XXGB,
if necessary
./standalone run-job -h ghoul3 build-amd64-pvops
# Run the benchmarking job:
./standalone run-job -h ghoul3 bench-unixbench-amd64-amd64-xl-credit2
Almost all the loginc to use an HVM guest are there, a just need a few fixups
in ts-debian-hvm-install that I'll submit as a separate patch.
I tested both the ways in standalone mode, and it seems to be working here.
And that's it... So, what do you think about it? IanC? IanJ?
I now it's still a sort of a prototype, but I'd love to hear your thoughts
before proceeding any further.
One thing about the last two patches. They are there to show how the code will
look like if we take a slightly different path than what's outlined in the
first part of the series. The idea is, in fact, to have the mg-xxx-download and
the ts-xxx-{prep,run,reslts} scripts to be more generic, accept one (or more)
benchmark name(s) as parameter and prepare the target (host or guest) for them.
That would make the single scripts slightly more complex, but will avoid having
to have 4 scripts (downloading, preparing, running and fetching results) for
each new benchmark we want to introduce support for.
Personally, I think I prefer them to be generic, i.e., something similar to
what they look like after all the series is applied, as compared to how they
look only until patch 7. This is exacly an example of something I'd like to
hear your thoughts about before going forward. :-)
The series is also available here:
git://xenbits.xen.org/people/dariof/osstest.git benchmarking-with-osstest-RFC
Regards,
Dario
---
Dario Faggioli (9):
mg-unixbench-download: new script for downloading the unixbench archive
ts-unixbench-prep: prep the environment for running unixbench
ts-unixbench-run: kick off the benchmark on the target
ts-unixbench-reslts: for retrieving the results
sg-run-job: new recipe for a unixbench job
make-bench-flight: to create a benchmarking flight
make-flight: introduce a new -t option
mg-unixbench-download: make it generic
ts-unixbench-prep: make it generic
ap-common | 8 ++++
make-bench-flight | 92 ++++++++++++++++++++++++++++++++++++++++++++++
mg-unixbench-download | 49 ++++++++++++++++++++++++
sg-run-job | 28 ++++++++++++++
standalone-reset | 9 +++-
ts-unixbench-prep | 99 +++++++++++++++++++++++++++++++++++++++++++++++++
ts-unixbench-reslts | 56 ++++++++++++++++++++++++++++
ts-unixbench-run | 45 ++++++++++++++++++++++
8 files changed, 383 insertions(+), 3 deletions(-)
create mode 100755 make-bench-flight
create mode 100755 mg-unixbench-download
create mode 100755 ts-unixbench-prep
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)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |