Hardware Reference
In-Depth Information
control manager daemon supports the “Idle Reduction” framework which coordi-
nates both the CPUfreq and the CPU Hot-plug frameworks. The purpose of the
second application program is to control the power consumption using the “Idle
Reduction” framework, to protect the system from heat or battery life shortages, and
to visualize the status of the system.
6.3.2.2
Design and Implementation
DVFS and Power-Gating Controls by Idle Reduction Framework
The CPUfreq framework of Linux uses the ratio of idle time per sampling time to
increase or decrease the frequency of a CPU. The Idle Reduction framework takes
advantage of this process and samples the idle time every 2,000 ms. The kernel runs
the idle loop when a CPU has no workload. If the idle time ratio is less than 20%
in the sampling period, the workload is dense. If the idle time ratio is more than
80%, the workload is sparse. The Idle Reduction framework increases or decreases
the frequency of a CPU when the workload is dense or sparse, respectively. If the
workload of a CPU at the lowest frequency is sparse in two consecutive sampling
periods, the CPU will be turned off using the CPU Hot Remove of the CPU Hot-plug
framework. Because the voltage is the dominant factor in the power consumption on
the RP-2 board, and because the voltage is determined by the highest frequency of
the four CPUs, the Idle Reduction framework tries to level the frequencies of the
four CPUs. If one CPU has been turned off and another CPU has a dense workload,
the Idle Reduction framework will turn on a CPU using the CPU Hot Add of the
CPU Hot-plug framework rather than increasing the frequency of the CPU with the
dense workload.
The software decoder of MPEG-2 was selected to evaluate the Idle Reduction
framework because it can be multi-threaded and because the workload can be
specified by the frame rate in frames per second (fps). The original software of the
MPEG-2 decoder was downloaded from the web site of the ALPBench [ 12 ] bench-
mark program suite. The program of the MPEG-2 decoder has already been multi-
threaded, and the number of threads can be specified by the user when initiating the
decoder. The screen image of MPEG-2 is divided horizontally into nearly equal
areas, and the number of areas is equal to the number of threads. The load balancer
of SMP Linux balances the loads among the CPU cores. In the four-CPU SMP Linux,
the performance or fps nearly scales the number of threads up to four threads.
The DVFS and power-gating controls have been evaluated by changing the
workload. The workload of the MPEG-2 decode application was changed by speci-
fying the fps. The number of threads of the MPEG-2 decode application was four
for the four-CPU SMP in this evaluation. The workload was decreased from the
highest to the lowest workload, and then increased from the lowest to the highest
workload. The power consumption and the status of each CPU core changed as
shown in Table 6.5 .
Search WWH ::




Custom Search