Power Consumption in Real-Time Threaded Application

Submit New Article

March 8, 2009 9:00 PM PDT



Challenge

Decrease the total power consumed in a threaded multimedia application. Power consumption is an important performance consideration for battery-run mobile systems.

In various situations, Hyper-Threading Technology consumes additional power while improving performance. The following chart shows the relative power consumption of a watermark detector within a video-editing application on a processor with Hyper-Threading Technology and a system without Hyper-Threading Technology at the same frequency and voltage:


Solution

Schedule thread execution so that the busy cycles of both logical processors overlap as much as possible. The video-editing application in our example carries out video decoding in addition to watermark-detection functionality.

In the figure below, scheduling model (a) shows a common, but less than optimal, multithreading method of the watermark detection application: the watermark detector is active immediately after the video frame is decoded. Due to a large cycle period, there may be no overlapping between two threads. While scheduling model (b) has the same cycle period as model (a), by delaying the starting time of the second thread, we increase the overlapping period of two threads. That is, we queue the tasks and dispatch them together to maximize the overlap. In this case, the halted period in the CPU is increased.



Because powering up additional execution units for two simultaneous threads is more economical, and the physical processor consumes less power when it is halted (or when both logical processors are halted), scheduling model (b) consumes less energy.


Source

Media Applications on Hyper-Threading Technology