cpu_util
Purpose:
Determine CPU utilization for 3 scheduler intervals
CyFlex now supports the LACC. LACC consists of 3 statistical variables, avail_cpuSLo, avail_cpuMed, and avail_cpuFas. The 3 variables reflect the available cpu, as a percentage, for the SLO, MED, and FAS intervals respectively.
For those that would like the rest of the story, LACC is determined by the CyFlex process ‘cpu_util’. The first thing that cpu_util does is to determine a baseline count by raising its priority to 25 and performing come cpu intensive calculations. As a result, this baseline count reflects the count that should be obtained if only the event administrator any process I/O drivers are running in the system. The LACCs, LACCm, LACCf are expressed as a percentage of this baseline count.
Once the baseline count is determined at the high priority, cpu_util lowers its priority to a value of 2 and determines the count as before. The count is repeatedly computed in an infinite loop consuming whatever cpu is left for a priority 2 process. Whenever one of SLO, MED, or FAS timer events is received, the count is used to compute the LACx value as follows:
LACCs = (count_for_SLO_interval*assumed_SLO_time_interval)∕(baselinecount_for_SLO_interval*actual_time_interval)
LACCm = (count_for_MED_interval*assumed_MED_time_interval)∕(baselinecount_for_MED_interval*actual_time_interval)//
LACCf = (count_for_FAS_interval*assumed_FAS_time_interval)∕(baselinecount_for_FAS_interval*actual_time_interval)
Each of the above calculations for the SLO, MED, and FAS intervals are placed in their respective CyFlex statistical variable and the statistics are computed.
Enter:
-
cpu_util &
Where:
-
N/A
Example:
Notes:
-
The LACC computation is started by entering the following on the command line or placing it in the go script:
cpu_util &
Since the baseline count is determined with some of the CyFlex processes running, it is possible to get a single LAC value greater than 100 percent. As a result of the high priority compute bound calculations, the CyFlex watchdog will go off if the command is entered on the command line. This is not a problem in the older cells since the watch dog resets itself. However, in the newer cells the watchdog must be manually reset. Spawning cpu_util in the go script after spawning the scheduler would eliminate the watchdog going off. cpu_util is available for versions 00.Jul.B and forward. LACC stands for Len’s Available CPU Calculation.