RVL Computing Benchmarks (Or, How to Pick a Computing Platform)

This page assumes you have first read the page describing Solaris and Linux/BSD compilers.

I ran some benchmark tests on RVL systems in an attempt to re-create the ``RVL Computing Guide'' of years ago. The goal is to suggest where certain types of software might best be run. I tested three categories of software:

Calculation type Examples
Integer Image processing, many database operations, networking servers, operating systems
Floating-point arithmetic 3-D data analysis, some raytracing, signal processing
Floating-point library calls:
sin(), cos(), sqrt(), log(), etc
Some raytracing



Results

One section per calculation type, with the RVL machines ranked by speed. I ran benchmark programs, captured the user+system CPU time, then scaled the numbers so that the time for the fastest machine in each category is one "time unit". I rounded off some low-level measurement noise so that some blocks of machines reported with identical time units really varied by 1-3%. Generally, all the SPARCstation-5's except astra (faster) and azure (slower).


Integer calculations

On UltraSPARC platforms, Sun's CC compiler has a large performance penalty when asking for 64-bit code. Typically, these three produce approximately equal times:

but this one takes up to twice as long:
Integer calculations
Hostname Time
units
Best-performance
compiler options
Platform Operating
system
64-bit
platform?
paraty 1.00 gcc -O3 3.0 GHz Intel P4 Linux 2.4.19
ariel 1.20 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
plato 1.20 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
copacabana 1.50 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
ipanema 1.50 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
threedee 1.76 gcc -O3 1.3 GHz AMD Athlon Linux 2.2.19
rvl1 2.68 CC -xO5 or gcc -O3 -mcpu=v9 Sun-Fire 280R SunOS 5.8 yes
ziuacatu 2.69 gcc -O3 860 MHz AMD Athlon Linux 2.4.19
rvl4 4.27 CC -xO5 or gcc -O3 -mcpu=v9 Sun Ultra-80 SunOS 5.8 yes
barrio 4.28 CC -xO5 -xarch=v9 Sun Ultra-5_10 SunOS 5.8 yes
sumatra 4.34 gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
perfecta 4.36 CC -xO5 Sun Ultra-5_10 SunOS 5.8 yes
fovea 5.13 gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
earthspirit 5.30 CC -xO5 or gcc -O3 -mcpu=v9 Sun Sun Ultra-5_10 SunOS 5.8 yes
artemis 5.73 CC -xO5 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
xoanon 6.08 gcc -O3 400 MHz Pentium II Linux 2.4.19
rvl2 6.45 CC -xO5 or gcc -O3 -mcpu=v9 Sun Ultra-4 SunOS 5.8 yes
aristos 7.94 gcc -O3 300 MHz Pentium II Linux 2.4.19
rvl3 10.94 CC -xO5 or gcc -O3 -mcpu=v9 Sun Ultra-2 SunOS 5.8 yes
meglos 12.69 gcc -O3 -mcpu=v9 Sun Ultra-1 SunOS 5.8 yes
astra 24.06 CC -xO5 Sun SPARCstation-5 SunOS 5.6
orpheus 30.66 CC -xO5 Sun SPARCstation-20 SunOS 5.6
calliope 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
davros 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
omega 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
rassilon 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
sclera 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
serengeti 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
wayfinder 36.14 CC -xO5 Sun SPARCstation-5 SunOS 5.6
azure 46.46 CC -xO5 Sun SPARCstation-5 SunOS 5.6

Floating-point arithmetic

Remember this is floating-point arithmetic, not floating-point math library calls. FFT, not trigonometry.

On UltraSPARC, asking for 64-bit code (gcc -O3 -mcpu=v9 versus gcc -O3) causes a slight performance penalty, typically 2-10%.

I'm uncertain why threedee appears further down the list than might be expected based on its platform. Maybe it is connected to its running a rather old kernel?

Floating-point arithmetic
Hostname Time
units
Best-performance
compiler options
Platform Operating
system
64-bit
platform?
paraty 1.00 gcc -O3 3.0 GHz Intel P4 Linux 2.4.19
rvl1 1.02 gcc -O3 Sun-Fire 280R SunOS 5.8 yes
rvl4 1.12 gcc -O3 Sun Ultra-80 SunOS 5.8 yes
sumatra 1.19 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
barrio 1.20 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
earthspirit 1.48 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
fovea 1.48 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
ariel 1.64 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
plato 1.64 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
copacabana 1.74 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
ipanema 1.74 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
rvl2 1.76 gcc -O3 Sun Ultra-4 SunOS 5.8 yes
perfecta 2.57 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
artemis 2.49 gcc -O3 Sun Ultra-5_10 SunOS 5.8 yes
xoanon 2.68 gcc -O3 400 MHz Pentium II Linux 2.4.19
ziuacatu 3.18 gcc -O3 860 MHz AMD Athlon Linux 2.4.19
threedee 3.27 gcc -O3 1.3 GHz AMD Athlon Linux 2.2.19
aristos 5.31 gcc -O3 300 MHz Pentium II Linux 2.4.19
rvl3 5.86 gcc -O3 Sun Ultra-2 SunOS 5.8 yes
meglos 6.36 gcc -O3 Sun Ultra-1 SunOS 5.8 yes
astra 11.53 CC -O5 Sun SPARCstation-5 SunOS 5.6
orpheus 12.19 CC -O5 Sun SPARCstation-5 SunOS 5.6
calliope 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
davros 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
omega 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
rassilon 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
sclera 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
serengeti 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
wayfinder 14.86 CC -O5 Sun SPARCstation-5 SunOS 5.6
azure 17.46 CC -O5 Sun SPARCstation-5 SunOS 5.6

Math library calls

Lots of calls to cos(), sin(), tan(), log(), pow(), sqrt(), etc.

Compiler optimization has minimal effect on processing speed here.

For the most part, the Linux machines are significantly faster.

Not sure what paraty is so much slower than expected, Is AMD is that much better at math library calls?

Math library calls
Hostname Time
units
Best-performance
compiler options
Platform Operating
system
64-bit
platform?
ariel 1.00 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
plato 1.00 gcc -O3 2.0 GHz AMD Athlon Linux 2.4.19
paraty 1.21 gcc -O3 3.0 GHz Intel P4 Linux 2.4.19
copacabana 1.29 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
ipanema 1.29 gcc -O3 1.5 GHz AMD Athlon Linux 2.4.19
threedee 1.60 gcc -O3 1.3 GHz AMD Athlon Linux 2.2.19
ziuacatu 2.38 gcc -O3 860 MHz AMD Athlon Linux 2.4.19
xoanon 5.31 gcc -O3 400 MHz Pentium II Linux 2.4.19
rvl1 5.54 CC -O5 -xarch=v9 Sun-Fire 280R SunOS 5.8 yes
rvl4 5.98 gcc -O3 -mcpu=v9 Sun Ultra-80 SunOS 5.8 yes
barrio 6.15 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
sumatra 6.15 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
perfecta 6.15 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
earthspirit 7.51 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
fovea 7.51 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
artemis 8.16 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-5_10 SunOS 5.8 yes
rvl2 9.13 gcc -O3 -mcpu=v9 Sun Ultra-4 SunOS 5.8 yes
rvl3 16.33 gcc -O3 Sun Ultra-2 SunOS 5.8 yes
meglos 18.96 gcc -O3 or gcc -O3 -mcpu=v9 Sun Ultra-1 SunOS 5.8 yes
orpheus 36.36 CC or CC -O5 Sun SPARCstation-20 SunOS 5.6
astra 47.13 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
calliope 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
davros 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
omega 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
rassilon 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
sclera 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
serengeti 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
wayfinder 65.66 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6
azure 72.99 CC or CC -O5 Sun SPARCstation-5 SunOS 5.6