Personal tools

4.7. Standard CPU time

Up one level
How to adjust reported CPU time depending on the performance of the individual node on which a job is run.

What is Standard CPU time?

The GRIA Job Service receives usage reports about the current CPU utilisation of running jobs. It forwards these usage reports to the SLA service so that users can be billed according to how much CPU time they are using on compute nodes.

If the Job Service is configured to submit jobs to a heterogeneous cluster (i.e. consisting of machines with different specifications), the administrator might want users to be billed more for CPU time if their jobs are executed on faster machines. The GRIA Job Service can adjust the amount of reported CPU usage according to the measured performance of the node on which the job is running.

Benchmarking each node

The process of recording the performance of each node is not automatic - the administrator must run a benchmark on each individual machine on which a job could be run. 1 standard CPU second is defined as 1 second of full CPU utilisation on a Pentium III 1GHz processor. This gives a performance of 54.3 Mflops/s using the Linpack Java Benchmark.

From the machine you wish to benchmark, enter the URL http://www.netlib.org/benchmark/linpackjava into a browser (ensuring that Java has been enabled).

This will load an applet with a window similar to the one below:

Benchmark applet

Figure 1: Benchmark applet

Click the Press to Run Benchmark button, at the top of the applet window, to calculate your machine's performance.

Benchmark output

Figure 2: Benchmark output

To find the power of your machine, look at the Mflop/s reading (highlighted above).

This number needs to be stored in a file - either /etc/gria/benchmark or C:\gria\benchmark.txt depending on the operating system. On Linux, you can create this file using the following command (supplying your value instead of 54.721):

echo "54.721" > /etc/gria/benchmark