Users know that you can
get more out of a machine by adding another
processor. Most also know that by going
from one CPU to two CPUs you don't get twice
the power, something is lost. Typically
a dual-CPU machine will have a power rating
somewhere in the region of 1.90 - 1.95 times
that of the single-CPU machine. What is
not always appreciated is that this loss
gets compounded the more CPUs you add, and
a point will come when adding another processor
will actually give WORSE performance than
before. Where this happens depends on the
magnitude of the per-processor loss, which
in turn depends on the way in which the
hardware manufacturer and the operating
system writers have implemented the multi-processor
environment. Typically the power loss per
additional CPU is in the range 2-5%, sometimes
even higher in older systems.
It's not just the extra raw CPU power that
brings performance benefits when you add
another processor. A single processor running
at say, 80% utilization, will always have
a number of requests for CPU resource queued
up, waiting their turn. Adding a second
processor will result in each CPU being
at approximately 40-45% utilization, and
as a result, the length of the queue at
each will be dramatically shortened. The
relationship between utilization and queue
length is not linear - in the case above,
the per-CPU queue length will almost certainly
be much less than half of the value when
only one processor was available.
Techniques for planning processor upgrades
for computer systems vary widely. The range
covers traditional techniques such as guesswork
and experience, through more methodical
approaches such as trending to mathematically
based methods such as analytical modeling
and simulation. All have their advantages
and disadvantages. Only the last two will
predict the non-linear effect mentioned
above. Metron believe that analytical modeling
offers the best compromise between cost/effort
and accuracy. What do you think? E-mail
your thoughts to techinfo@metron.co.uk
to participate in the debate.
Next
UNIX Tip |