Time spent by process with SMP

Carl Kumaradas (ckumarad@oci.utoronto.ca)
30 Jan 1997 11:30:53 -0500

I recently setup an ALR Evolution Dual 6 machine (2 PPro @ 200MHz) for use as
a "compute server" (to run numerical computations). I installed
RedHat 4.0 and upgraded to the 2.0.28 kernel.

I'm doing some timings with it and comparing it against our old
compute server which is an SGI Onyx with 4 mips R4400 @ 150Mhz. While
the PPros run all my jobs faster, the results produced by the 'time'
builtin in tcsh are strange. I also compared it against a 486DX4 @
100MHz running the 2.0.27 kernel. Here are the results:

Job #1:
Dual P6: 2.090u 3.280s 0:05.99 89.6% 0+0k 0+0io 101pf+0w
quad R4400: 9.664u 0.217s 0:10.73 91.9% 0+0k 1+72io 0pf+0w
single i486: 25.550u 0.400s 0:27.28 95.1% 0+0k 0+0io 105pf+0w

Job #2:
Dual P6: 262.130u 43.380s 5:08.58 99.0% 0+0k 0+0io 134pf+0
quad R4400: 404.333u 4.110s 6:57.74 97.7% 0+0k 22+84io 15pf+0w
single i486: NA

Both these jobs are floating-point intensive. Job #1 probably spends
20-30% of its time writing out to a large file (to an NFS mounted
drive on all machines), while job #2 spends less than 1% doing IO. No
one else was logged onto the system at the time, and the systems had
very little load. The large 'system' component on the dual P6 happens
with other compute intensive jobs as well.

I have a few questions:
1) Why does the SMP system spend a much larger fraction of its time in
kernel space?
2) Are these results of 'time' meaningful? Should I not be concerned?
3) Will the 2.1.x kernel reduce the system time?

Thanks for any info,

J. Carl Kumaradas                           Ontario Cancer Institute
ckumarad@oci.utoronto.ca                    University of Toronto