Document ID: 0011
Topic: Monitoring, System Performance
Created: 2009-01-23
Last Updated: 2009-03-27
Author(s): Stefan Parvu, Gabriel Pirvan
References: Neil J. Gunther
OS: Linux, MacOSX, Solaris
Problem solving is a very important skill for any System Administrator, Performance Analyst or even for a System Manager. Sometimes, you try to solve a problem building a visual model of that problem and trying to see it. But can geometry in general help in understanding how some workload is executed on a 72CPU server ? It seems it can !
Welcome Problem solving and Computer Graphics, a land where geometry meets performance analysis, troubleshooting, problem solving or even capacity planning. Using the power of geometric figures we can build a model of our original problem, we can simulate the conditions and we can see the results letting the computer to do all the work for us in a graphical representation - easy to be digested by us ! cpuplayer is such tool, which combines problem solving, geometry, performance analysis in one thing ! Using Barycentric coordinates, the player displays the CPU transition states from IDLE to USER or SYSTEM time.
|
Design Sources Bug Tracking Package |
cpuplayer design source code change requests management package distribution |
|
FAQ |
most common questions about cpuplayer |
This animation shows CPU utilization for a 72-way E15K multiprocessor as it ramps up to steady state and executes a network-based transaction workload on ORACLE 10g. The 3-triangular axes are defined as follows:
This triangle is affectionately known as "Barry3" because it corresponds to a BARYCENTRIC coordinate system---not usually seen in performance analysis, and it displays 3 barycentric coordinates: %user, %sys, and %idle times.
Each of the 72 CPUs is represented by a colored dot inside the triangular area. The animation shows the time development of processor utilization. The actual wall-clock time is shown as an odometer display in the lower third of the triangle. The frame rate of 1 second in this animation corresponds to 10 seconds of real time, as shown in the clock display. Data was supplied with permission by Time Cook of Sun Microsystems.
At 12:36:46, all CPUS are essentially idle and therefore are located in the southwest corner at the IDL vertex; corresponding to maximum idleness. As time progresses, the CPUs begin to make their way (northeast) along the blue idle axis. Since their motion is opposite to the direction of the blue arrow, this indicates DECREASING idleness. Most CPUs eventually cluster around the region bounded by the blue 25% IDL line, the yellow 25% SYS line and the red 50% USR line. However, you'll soon notice that 3 CPUs peel off at around 10% USR time and rapidly migrate (eastward) to the 80-90% SYS location; near the tip of the yellow arrow. Why? It turns out that these CPUs are dedicated to handling network traffic, physical I/O, etc., in support of the Oracle transactions. At 12:53:41, the benchmark completes and all the CPUs rapidly return to the IDL corner. Some clean-up work continues as some CPUs are seen to run back and forth along the base of the Barry3 triangle between IDL and SYS time, i.e., zero USR time.
Source code:
| Item | Description | Based On |
| cpuplayer.c | main module | |
| csv.c | CSV routine | Brian W. Kernighan and Rob Pike |
| csv.h | CSV routine | Brian W. Kernighan and Rob Pike |
| barry3.c | barry3 implementation | |
| barry3.h | barry3 implementation | |
| Makefile | Makefile | |
| Darwin.config | MacOSX config file | |
| Linux.config | Linux config file | |
| Solaris.config | Solaris config file |
Bugzilla is used for bug tracking and defect management. Please login on cpuplayer Bugzilla to access all current CRs for cpuplayer !
The cpuplayer package comes in source code, C. To compile this for your system please execute the followings:
| Item | Description | Released |
| cpuplayer-051.tar.gz | cpuplayer package | 2009-04-14 |
Back to main homepage
This document is Copyright (c) 2009 Stefan Parvu
Document License:
PDL