AIX > Administrator > Performance

CPU Threading Efficiency: New Performance Tuning Perspectives

 CPU threading

From a tactical monitoring perspective, this realization is phenomenally valuable.

For instance, if I observe the sustained percentage value of AIX:vmstat -IWw 1:cpu:id is always greater than, say, 50 percent, I know that the active virtual CPUs are executing generally only one thread each in dynamic ST/SMT-1 mode and that all other virtual CPUs are folded down (assuming the default virtual CPU folding policy remains enabled). I would call this a wastefully under-threaded configuration.

For contrast, if I observe the sustained percentage value of AIX:vmstat -IWw 1:cpu:id is always at 0 percent, I know that all virtual CPUs are executing in dynamic SMT-4 mode and no virtual CPUs are ever folded down. In this case, I would fear running over-threaded. (See Part 1 for more about under-threading and over-threading.)

In figure 1, we observe the sustained percentage value of AIX:vmstat -IWw 1:cpu:id is between 3-10 percent inclusive. From this, we know all virtual CPUs are executing in dynamic SMT-4 mode and no virtual CPUs are ever folded down. So long as this value remains greater than 0 percent, I would have no fear of over-threading.

Ideally, for an OLTP workload (a workload with demanding thread response-time requirements), I would aim for a sustained percentage value of AIX:vmstat -IWw 1:cpu:id that is 20-40 percent inclusive. This would ensure all virtual CPUs are generally executing in dynamic ST/SMT-1 or dynamic SMT-2 mode, and a few virtual CPUs will occasionally fold down. So long as this value remains 20-40 percent inclusive, I would have no fear of any CPU performance or CPU threading issues.

Ideally, for a batch workload (a workload with no concern for thread response time), I would aim for a sustained percentage value of AIX:vmstat -IWw 1:cpu:id that is 5-15 percent inclusive. This would ensure all virtual CPUs are generally executing in dynamic SMT-2 or dynamic SMT-4 mode with no virtual CPUs ever folding down. So long as this value remains greater than 0 percent, I would have no fear of any CPU over-threading issues.

Calculating CPU wait% of a Virtual CPU

The calculation of CPU wait% is identical to CPU idle%, with one additional factor: a notable presence of ongoing I/Os underway.

When calculating intervals of CPU idle% that are greater than 0 percent and a threshold presence of ongoing I/Os underway is noted, these idle intervals are attributed to CPU wait% and not to CPU idle%. By a threshold presence, I mean that there must be some notable amount of ongoing I/Os underway that are enough to matter.

Over the past decade, I've only infrequently witnessed a sustained CPU wait% of 15 percent or higher. CPU wait% sits at 0 percent most of the time, with only occasional haphazard spikes that almost never advance beyond the single digits on a 1-second sampling interval. When witnessed in this fashion, simply add CPU wait% to CPU idle%, and call it total CPU id+wa%.

(Warning: If you do observe a sustained CPU wait% that is 15 percent and higher, open a Sev3 PMR with IBM Support and reach out to me for attention. By sustained, I mean a persistent duration of hours and days. This means something is terribly wrong―and, if I'm being honest―terribly interesting.)

In the next installment in this series, I'll discuss the CPU processor consumed value (AIX:vmstat:cpu:pc) and the CPU entitled capacity percentage (AIX:vmstat:cpu:ec), and show you how to monitor these values.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



Advertisement

Advertisement

2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Achieving a Resilient Data Center

Implement these techniques to improve data-center resiliency.

AIX > ADMINISTRATOR > PERFORMANCE

AIO: The Fast Path to Great Performance

AIX Enhancements -- Workload Partitioning

The most exciting POWER6 enhancement, live partition mobility, allows one to migrate a running LPAR to another physical box and is designed to move running partitions from one POWER6 processor-based server to another without any application downtime whatsoever.

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
AIX News Sign Up Today! Past News Letters