Table of Contents
Contents
Re-aim7
Re-aim7 is a rework of the AIM benchmark suite for the Linux community. The original AIM benchmark was developed to measure operating systems that feature multi-user environments.
Configuration
- This benchmark will run from user space.
Compiling
You'll need automake, autoconfig and libaio-dev installed.
./bootstrap ./configure make
- Do not install the benchmark it can be run from with in the re-aim7 directory.
Running
./src/reaim -c data/reaim.config -f data/workfile.alltests -g -i 10 -r 10
There are several different possible workload files. A link will be provided for the workfile that was used to produce the results.
new_dbase workload simulates the type of system activity typical of a database. The workload is a mix of IO intensive and CPU intensive tasks.
compute workload is very CPU-intensive.
new_fserver workload does a great deal of file IO.
alltests produces a load that is spread across CPU, disk IO using all available tests.
Assumptions
- None really.
Benefits
With the -g flag, Re-aim7 will continually run the benchmark, increasing the number of users until the maximum Job/Minute(JPM) has been reached.
Problems
The reaim.config file is hard coded into driver.c. A small change at the call to read_config_file(), replacing CONFIGFILE with cfname will rectify this problem. If my submitted patch is accepted then you can forget this problem.
Reaim7 produces a lot of redundant information in the files that is produces, it created two set of files, which are ss and csv files. These files contain the same information with exception to the next point.
The csv file generated by the -l option is clobbered on every iteration if the -r option is used, apply this patch to rectify the problem.
results
- These results where produced with the following command:
./src/reaim -g -l results/reaim-`uname -r` -c reaim.config -f src/workfile.alltests
The raw data, vmstats and gnuplot scripts can be found here.
Interpretation
The horizontal axis is essentially the number of simultaneous jobs, the vertical axis the overall rate at which the jobs complete. For a perfectly scalable system, the curve should look like this:
Note that throughput is proportional to workload until a resource runs out; increasing that resource increases both the workload that can be handled and the peak throughput. On a badly behaved system, throughput can drop with increasing workload; on a well-behaved system it is approximately constant.
rx2600
HP rx2600 Dual 1500Mhz Itanium II |
|
Kernel 2.6.8 |
Kernel 2.4.21 |
Altix 16way 2.4.21 sgi kernel
SGI Altix 16way 1300Mhz Itanium II |
|
I/O to local SCSI disk, one spindle |
I/O to ram disk |
I/O to SGI TP9100 8 disk scsi array |
SGI Altix 16way 1300Mhz Itanium II |
|
I/O to local SCSI disk, one spindle |
|
CPU bound |
Disk IO |
I/O to ram disk |
|
CPU bound |
Disk IO |
I/O to SGI TP9100 8 disk scsi array |
|
CPU bound |
Disk IO |
