SUMMARY: smp processor utilization as reported by collect

From: Scott Mutchler <smutchler_at_gfs.com>
Date: Fri, 28 Apr 2000 13:21:29 -0400

Hello all,

I had three responses to my questions: thank you (in order of reply) to

Tom Blinn, tpb_at_doctor.zk3.dec.com
Bret Koontz, <Bret.Koontz_at_Compaq.com
and Rob Urban urbanr_at_dxca21.bn.DeTeMobil.de

whose replies follow in order. My original question is last.

Scott Mutchler
Gordon Food Service

====

What really runs on the dual-processor system? Is it a single process? I
have no personal experience with "interpreted Progess 4GL", so I can't say
why you are seeing what you are seeing, but it's easy for an application to
be written so that even multiple instances are essentially single-threaded
during execution. If you've got two processors, and you've got plenty of
user threads available for execution, and all the threads are runnable, you
will see nearly 100% of each processor being used. If you've got more than
one processor and the work load presented to the system is essentially one
single thread of execution (no matter how many processes are involved, no
matter how many logical threads exist in each process), then you're going
to see at most about 100% of one processor actually used.

Again, because I know NOTHING about the application in question, I can't
say whether it present a truly multithreaded work load, but I wouldn't be
really surprised if it does not, esp. if it's interpreted and heavily data
intensive (with a shared database, it's easy to have the implementation by
design prevent multiple threads of execution running against the shared
database).

Tom

===

Let me try and answer your question yes you have 200% CPU available on a 2
> processor system or
> 100% on each. Yes Collgui is averaging the 2 CPUs together in this case.
> If applications are using
> 20% on one CPU and 80% on another CPU then the applications are using 50%
> of the total available
> CPU resources. You could look at that as 100% of one CPU is used but
> really you have 2 CPUs sharing the work load so it is not really true.
>
>

===


Hello Scott,

the CPU summary statistics are just that: a summary for the system (over
all CPUs). Thus, a single CPU in a dual CPU system that has a 100% user
load will account for a 50% user load in the CPU summary.

Using your example, let's pretend that we're looking at one collect
sample. In this sample, let's assume the CPUs have the following loads:

CPU user system idle(+wait)
--- ---- ------ ----
0 25 25 50
1 70 25 5

because you have 2 CPUs, the maximum possible value for user, system, or
idle is 200. Thus, in the CPU summary:

user:
        user(CPU-0 + CPU-1) / Maximum * 100 = summary user %CPU

        95 / 200 * 100 = 47.5%

system:

        50 / 200 * 100 = 25%

idle:

        55 / 200 * 100 = 27.5%

The CPU use of processes is, however, based on a single CPU. That is,
if a process is monopolizing a CPU, its "%CPU" value will be 100. If
you have two CPUs and a multithreaded process, it's possible for the
process to monopolize both CPUs, which would cause its "%CPU" value
to be 200.

hope this helps,

Rob Urban


> -----Original Message-----
> From: Scott Mutchler [mailto:smutchler_at_gfs.com]
> Sent: Monday, April 24, 2000 9:50 AM
> To: tru64-unix-managers_at_ornl.gov
> Subject: smp processor utilization as reported by collect
>
>
> Hello All,
>
> Does anyone have (or know where I can find) an explanation of processor
> utilization in an SMP configuration? I am benchmarking an in-house
> application on a two processor 4100 (running 4.0F and TCR 1.6; the other
> cluster node is also a 4100 but with just one cpu). The application is
> interpreted Progess 4GL.
>
> I am using the tool "collect" v2.0 and the "collgui" tool for graphing
> results. What I see during the run of this application is that cpu 0
> ranges from 15-25% user time, 0 wait, 2-25% system time, and the
> difference is, of course, idle .
>
> cpu 1, on the other hand, shows the user space ranging from 60-80%, with
> system time similar to cpu 0, and it also has 0% wait; the difference
> again is idle (10-40% in this case).
>
> The cpu summary graph (from collgui) seems to have averaged them and shows
> about 40-45% of the time in user space, 0 wait, a range of 5-25% in system
> space, and the difference (about 55% on average) as idle.
>
> So my questions: What is a reasonable interpretation of processor use?
> Is there only 100% of cpu resources available or with two processors is
> there 100% of each processor, somehow making 200% of the resource
> available? It seems that the "collgui" tool averaged the two cpus for its
> graphing. If approximately 20% of one cpu is used and approximately 80%
> of the other cpu is used, is the application essentially getting 100% of a
> cpu resource? What is a good explanation for this?
>
> I welcome any insights or advice on this topic. I want to be sure to size
> our system appropriately for its expected load.
>
> Thank you in advance
>
> Scott Mutchler
> Gordon Food Service
Received on Fri Apr 28 2000 - 17:22:19 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:40 NZDT