Re: CPU utilization measure impacts on throughput?

Tom Pavel (pavel@slac.stanford.edu)
Mon, 17 Aug 1998 17:55:26 -0700

>>>>> On Mon, 17 Aug 1998, Danke Hirasawa <danke@scientist.com> writes:

> I have experienced that we got different throughput numbers in the
> TCP_STREAM test where we measured CPU utilization (with -c & -C options)
> as well as throughput measurements vs.. the another TCP_STREAM test
> where no CPU utilization measurement (without -c nor -C options).
> Usually throughputs of the test without CPU utilization measurements are
> higher.
>
> Does the measurement of CPU utilization (negatively) impact on
> throughput measurement?

I think the general answer to this depends on how the CPU measurement
is done. For example, there is special code to use a
pstat_getprocessor() call on HPs, which presumably gets CPU
utilization directly from the kernel without any overhead.

However, I have used netperf on Solaris, Digital Unix, AIX, and Linux.
On each of these systems, the USE_LOOPER CPU measurement technique is
used. This runs a "competing process" with the netperf process and
measures how much CPU time this (low-priority) looping process gets.
Running this CPU utilization test reduced some of my TCP bandwidths by
as much as 10%. I was quite surprised when I learned this.
Presumably, this happens because the schedulers in these OSes are not
perfect, and because things like paging and interrupts are a shared
resource despite the illusion of completely independent processes
presented to you by the OS.

Anyway, the short answer to your question is "Yes"...

Tom Pavel

Stanford Linear Accelerator Center
pavel@slac.stanford.edu http://www.slac.stanford.edu/~pavel/