Clusterpunch: a distributed mini-benchmark system for clusters


clusterpunchserver - central, UDP-enabled capacity and resource monitoring server


clusterpunchserver - central, UDP-enabled capacity and resource monitoring server


The clusterpunchserver server is meant to run on any node that you are interested in polling for capacity and resources. The server listens on a UDP port (default 8095) and understands basic benchmarking and system polling commands. Clusterpunch is a forking application.

The clusterpunchserver expects to receive messages (more details below) such as load(5):benchcpu(). It returns data encapsulated by Data::Dumper.

Starting the server

You should start the server in background mode using the daemon flag (-d).

 > clusterpunchserver -d

but you can also start it in the foreground to watch any messages

 > ./clusterpunchserver -v
 xhost01 | - [2002-10-17 11:52:18] logdir /tmp
 xhost01 | - [2002-10-17 11:52:18] port 8095
 xhost01 | - [2002-10-17 11:52:18] verbose 1
 xhost01 | - [2002-10-17 11:52:18] logging 0
 xhost01 | - [2002-10-17 11:52:18] debug 0
 xhost01 | - [2002-10-17 11:52:18] Running in foreground
 xhost01 | - [2002-10-17 11:52:18] Servicing incoming requests - parent PID 7130

You cannot start multiple instances of the server. This is not required since the application forks to service client requests.

You can modify the port (-p port) to which the server listens. By default, the server lives on 8095.


This is the main service daemon that runs on each node you wish to monitor. It is part of the clusterpunch system. Once the daemon is running, you can poll it and send commands using the API documented in, or through various other utilities. Identification of clusterpunch participators is done with a UDP broadcast.



clusterpunchserver, clusterpunch.start, clusterpunch.shutdown



benchdriver, clusterbench, clusterlogin, clusternodecount, clustersnapshot



Martin Krzywinski (, January 2003

$Id: clusterpunchserver,v 1.10 2003/02/04 00:18:34 martink Exp $