Sei sulla pagina 1di 3

Problem Description

Last week I was setting up some HP hardware for a client and a colleague, assuming
naivet on my part, made the following comment:
Make sure you select Maximum Performance for the System Profile of the server.
Otherwise, he will get low performance.
Though I didnt counter him then, I dont agree with my colleague our views are
poles apart on this. However, I have in general seen this tendency in a lot of system
administrators and engineers. I believe the moot point here is that, probably there is
a lack of understanding regarding what the System Profile really does.
Brief Explanation
The three System Profile modes are:
1. Balanced Power and Performance
2. Minimum Power Usage
3. Maximum Performance
Before we get into the discussion further, you may want to take a quick look at HPs
description of these profiles on page 49 of this guide.
Lets first talk about the major differences between Minimum Power Usage and
Maximum Performance:
1. In Maximum Performance mode all C-states are turned off as well as the
package C-states (we will talk of C-states in a minute).
2. In Maximum Performance mode channel interleaving is also turned off. (we
will have a couple of lines on Channel interleaving)
3. For AMD servers, the Minimum Power Usage mode uses a lower clock
frequency to operate the memory. In Intel servers there is no difference.
4. DIMM Voltage Preference is lower in Minimum Power Usage (and yes, there
will be a couple of lines on DIMM Voltage Preference).
5. In Minimum Power Usage PCIe cards are forced into using 1 st generation
protocols.
6. In Maximum Performance mode the power regulator is in static high mode,
whereas in Minimum Power Usage mode the power regulator is in static low
mode (a line on this later).
The differences between Balanced Power and Performance mode and Maximum
Performance are even lesser:
1. The C-states remain disabled in contrast to the balanced mode.
2. The package C-states are disabled in contrast to the balanced mode.
Everything else is enabled.

Justification
Lets consider that we are running an application on this server that is quite light;
mainly in terms of the number of memory accesses made and the number of jobs
running on each CPU at any time. We can obviously use the Minimum Power Usage
mode.
However, lets consider an application that is mainly listening on a certain port for
user connections. Let there be very few users infrequently requesting service from
this application like a specialized web service or a critical application for a critical
group of users. May the most important performance indicator of this application be
the temporal response. In this case, we obviously use the Maximum Performance
mode, which typically does the following:
1. Disable C-states and package C-states
2. Maintain CPU at the highest P-state (through the Power Regulator)
3. Works memory at the highest possible frequency with channel interleaving.
However, if the case is neither, then enabling Maximum Performance mode is a
waste of energy, increasing the customers operating cost. Because for all other
type of applications, which do not require to provide a fast initial response to very
infrequent requests from users, Balanced Power and Performance mode is as good
as Maximum Performance mode. And yet at every opportunity it saves as much
energy as it can.
Lets consider a highly critical database as a case in point. There are a lot of users
conducting a lot of transactions on a fairly large database. This requires fast
memory access, rapid CPU response and also fast I/O transactions. The reader may
be slightly confused at this point because such databases are typically cited as
cases to enable Maximum Performance mode.
But consider this if the application is almost never idle and Balanced Power and
Performance mode is doing nothing but enabling the C-states of the CPU, there is
practically no difference between the two modes in such cases that is during
normal operating hours. However, with Maximum Performance mode we are
negating the servers ability to save huge amounts of energy and operating costs
during off hours.
Background
If you are a little confused by some of the jargon used above, then please read this
section. I have tried to provide an explanation of the terms in as concise and lucid a
manner as I could muster.
C-states

Any CPU has 6 C-states or sleep states. The more a CPU remains unutilized the
deeper C-state it goes into; progressively turning off deeper parts of the circuitry.
This also means that a CPU in a deeper C-state requires a much longer time to
respond. The non-idle state is C0.
Package C-states
C-states only target the CPU itself. But there are components on the package that
help the cores run. Turning off these circuits are the package C-state.
Channel Interleaving
Memory is never accessed in a sequential manner. A single 8-bit (1 byte) piece of
data is written to and thus read from the same location on each chip on the module
(the 9th chip is for parity). This pattern is followed within various memory channels
as well, when interleaving is enabled. This is done to speed up memory access.
DIMM Voltage Preference
While caches are made of solid state devices, the main memory module is made
from capacitors to save on both cost and heat. In theory, capacitors store charge
infinitely; but in practice this charge is lost through the grounding. For this reason,
the main memory module needs to be recharged continuously.
Power Regulators
They control the P-states of a CPU. Higher amount of power received by the CPU
results in a higher working frequency. So there are various states of C0 and these
are known as P-states.
Please refer to this article for a better understanding of C-states, P-states and
package C-states.
Final Thoughts
I may be wrong in my assumptions or in my understanding of technology. I will be
obliged if you take the time to correct any mistakes that you find. Otherwise, I hope
this clears some misconceptions.

Potrebbero piacerti anche