Posted Décembre 22nd 20101
Part 13: Example 3 (Maximizing Idle Periods) - Batch I/O requests
Frequent I/O operations represent another pitfall in programming for energy efficiency. Frequent, small reads and writes generate a chain of interrupts that work to limit the size and number of idle periods on the system. For ...
Posted Décembre 21st 20100
Part 12: Example 2 (Maximizing Idle Periods) - Avoid polling and busy wait loops
Another undesirable program construct is the tight polling loop. “Tight” refers to iteration frequency and the desire to commence subsequent processing immediately after a particular condition has been detected. As ...
Posted Décembre 20th 20105
Writing the sample code for this post I was amazed myself to see how simple it was to reach over 20 times performance improvement with so little effort.
The motivation is a very heavy video processing algorithm created for HD TV. This means hi-resolution which means many pixels to compute and ...
Posted Décembre 20th 20101
Part 11: Example 1 (Maximizing Idle Periods) - Avoid high-resolution periodic timers
High resolution timers (less than 10 or 15 ms) generate frequent, periodic interrupts that the OS must handle to determine whether a timeout has occurred. While high-resolution timers may seem to be a desirable ...
Posted Décembre 16th 20100
Part 10: Maximizing Idle Periods
Beyond reducing computation, developers can improve power management efficiency by thinking carefully how their applications can be structured to avoid reducing system idle periods. As described previously, such idle periods give the OS opportunity to apply power- ...
Posted Décembre 14th 20100
Part 9: Example 3 (Reducing Computation) - Compile with optimizations
Optimizing compilers are available for almost every programming language in widespread use today. It is something of a curiosity, then, that many programs do not make more use of them, or at least exercise some of the more ...
Posted Décembre 13th 20101
Part 8: Example 2 (Reducing Computation) - Reduce data size
The amount of computation performed is not only a function of the algorithm used, but of the input data size to which it will be applied. Consider, for example, an image archive and browsing application. Search, comparison, and browsing ...
Posted Décembre 10th 20100
Part 7: Example 1 (Reducing Computation) - Improve algorithmic efficiency
As Computer Science graduates know, there is a difference between getting the job done and getting it done efficiently. The canonical example cited in many computational complexity textbooks is that of sorting algorithms ...
Posted Décembre 9th 20100
Part 6: Reducing Computation
As simple as it sounds, a key strategy for reducing application power requirements is to do less computation. With respect to the ACPI framework described above, such reductions have the effect of increasing system idleness and hence OS opportunities for applying ...
Posted Décembre 7th 20101
Part 5: Strategies for Application Power Optimization
Discussion up to this point has reviewed the ACPI framework, including the manner in which hardware platform features (C-states, P-states) and the operating system (OSPM) conspire to manage system power. The question now becomes, “What can ...
