Issue40

Title Automatic benchmarks
Type wish Status in-progress
Importance 90.0
Superseder Nosy List mg, mk, stm, tpj
Assigned To mg Keywords

Created on 2008-05-14.11:55:04 by mg, last changed 2009-02-03.18:56:42 by tpj.

Files
File name Uploaded Type Edit Remove
hosts.txt mg, 2008-10-09.10:19:21 text/plain
launch.py mg, 2008-10-09.10:18:46 text/x-python
run.bash stm, 2008-10-09.10:44:33 text/plain
Messages
msg307 (view) Author: tpj Date: 2009-02-03.18:56:42
As mentioned on viff-devel, I've uploaded my benchmarking code on
bitbucket.org as a stand-alone application using VIFF as a library:

http://bitbucket.org/tpj/viffbench

My code only contains a few sample benchmarks. We still need to write
some good benchmarks .... but it should be easier now.
msg304 (view) Author: tpj Date: 2008-12-10.13:29:45
I have some benchmarking code ready that I will set up when we get
access to the new test servers. They should be available within a few
days.

I don't think my code is ready to be included in VIFF, but I plan to
set it up on the servers anyway when I get the time.

We should somehow coordinate the scripts running on the servers: One
of the reasons for using them is to ensure that only one thing is
running at the servers at a time.
msg303 (view) Author: mg Date: 2008-12-10.11:17:16
Guys with scripts (Mikkel and Sigurd, I think): could you please add
your scripts to a /contrib directory in VIFF?

Just add some comments on how they should be used and put them there.
I guess a line in the README file would be okay to point people to them.
msg295 (view) Author: tpj Date: 2008-11-05.19:16:27
Marked as in-progress, as Martin and I work on this issue.
msg274 (view) Author: mg Date: 2008-10-09.10:50:04
I think it's interesting even though it's only for 3 players. Combined
with Mikkels script

  http://tracker.viff.dk/file6/testmillionaires.bat

we could have scripts for both main platforms.
msg273 (view) Author: stm Date: 2008-10-09.10:44:33
My scripts is only running 3 processes, and only locally, so it might 
not be interesting for benchmarking purposes, but it is really 
convenient for the edit/debug/run-cycle.

It runs each process in its own xterm, and they can all conveniently 
be shut down by Ctrl-c'ing the mother process.

run like:

./run.bash sort.py -n 15
msg272 (view) Author: mg Date: 2008-10-09.10:20:50
Adding Sigurd to the nosy list -- I think you have a script as well?
msg271 (view) Author: mg Date: 2008-10-09.10:19:21
The launcher needs a file with hostnames. I'm attaching the file I've
been using at DAIMI.
msg270 (view) Author: mg Date: 2008-10-09.10:18:46
My latest attempt at an automatic launcher. It requires that all
machines have the same filesystem layout.
msg269 (view) Author: mg Date: 2008-10-09.10:17:18
Renamed since this is more about the automatic benchmarks. Graphs
would be extra bells and whistles.
msg221 (view) Author: mg Date: 2008-09-23.18:01:18
We really want this...
msg158 (view) Author: mg Date: 2008-08-12.20:29:11
To get the most correct benchmark results we should run the tests on
different machines. The Fabric tool might be good for that:

  http://www.nongnu.org/fab/

It is meant for deploying (web)applications on (web)servers.
msg125 (view) Author: mg Date: 2008-07-24.23:03:23
With the latest changes it is possible to reliably start and stop
programs which use VIFF -- that is a first step towards making this
kind of automation a reality.
msg105 (view) Author: mg Date: 2008-05-14.13:20:04
To add some more info: the Matplotlib library would probably be a nice
tool for generating the graphs:

  http://matplotlib.sourceforge.net/

I have used it before -- with great success -- to automatically
generate nice-looking graphs.
msg104 (view) Author: mg Date: 2008-05-14.11:55:04
I think we should build a system that will benchmark the code and
publish nice graphs with the results.

The tricky part is to do this in a reliable and meaningful way. The
easiest (most reliable) way would be to run three players on a single
machine. But that will probably not produce meaningful results since
the network delays are eliminated and the players will fight with each
other for the CPU (unless there are a core for each).

But maybe we should start with such a simple setup anyway -- I hope
that any performance loses or gains there will translate (somehow) to
loses or gains in a more realistic setting.
History
Date User Action Args
2009-02-03 18:56:42tpjsetmessages: + msg307
2008-12-10 13:29:45tpjsetmessages: + msg304
2008-12-10 11:17:17mgsetmessages: + msg303
2008-11-05 19:16:27tpjsetstatus: chatting -> in-progress
messages: + msg295
2008-10-09 10:50:04mgsetmessages: + msg274
2008-10-09 10:44:33stmsetfiles: + run.bash
messages: + msg273
2008-10-09 10:20:50mgsetnosy: + stm
messages: + msg272
2008-10-09 10:19:21mgsetfiles: + hosts.txt
messages: + msg271
2008-10-09 10:18:46mgsetfiles: + launch.py
messages: + msg270
2008-10-09 10:17:18mgsetnosy: + mk
messages: + msg269
title: Automatic benchmark graphs -> Automatic benchmarks
2008-10-01 23:04:31mgsetassignedto: mg
2008-09-23 18:01:18mgsetimportance: 90.0
messages: + msg221
2008-09-23 16:27:24tpjsetnosy: + tpj
type: wish
2008-08-12 20:29:11mgsetmessages: + msg158
2008-07-24 23:03:23mgsetmessages: + msg125
2008-05-14 13:20:04mgsetstatus: unread -> chatting
messages: + msg105
2008-05-14 11:55:04mgcreate