Information Technology Reference
In-Depth Information
Flautner et al. consider an entirely different class of machines. In general-purpose ma-
chines running an operating system such as Linux, program deadlines have to do more with
user perception than with some strict formulation. Thus, the goal in their work is to discover
“deadlines” in irregular and multiprogrammed workloads that ensure the quality of interactive
performance.
The approach to derive deadlines is by examining communication patterns from within
the OS kernel. Application interaction with the OS kernel reveals the, so-called, execution
episodes corresponding to different communication patterns. This allows the classification of
tasks into interactive, periodic producer, and periodic consumer. Depending on the classification
of each task, deadlines are established for their execution episodes. In particular, the execu-
tion episodes of interactive tasks are assigned deadlines corresponding to the user-perception
threshold, which is in the range of 50-100 ms. Periodic producer and consumer tasks are as-
signed deadlines corresponding to their periodicity. All this happens within the kernel without
requiring modification of the applications.
Having a set of deadlines for the interactive and the periodic tasks, frequency and voltage
settings are then derived so that the execution episodes finish within their assigned deadlines.
The approach can result in energy savings of 75% without altering the user experience [ 78 ].
3.3 PROGRAM-LEVEL DVFS
Dropping deeper, the program and program-phase level includes all DVFS techniques that
apply to whole programs or program phases. These include both offline techniques with analysis
performed by compilers, as well as online and phase-based techniques.
3.3.1 Offline Compiler Analysis
DVFS control is exposed to the software level through instructions that can set particular values
of ( V , f ). These mode-set instructions are provided in nearly all contemporary microprocessors,
including Intel XScale [ 112 ] and AMD Mobile K6 Plus [ 2 ]. However, the use of these
instructions has been largely at the process/task level under operating system control. More
recent work has studied program-aware DVFS in which adjustment code is inserted into the
application executable itself.
Because DVFS adjustments incur some time and energy cost each time they are applied,
it is tempting to use offline analysis techniques to carefully plan and optimize their invocation.
The goal is to identify regions for which ( V , f ) adjustments can be helpful, and, where possible,
to coarsen these granularities in order to amortize the overheads of DVFS adjustment.
Much work has been done on scheduling DVFS adjustments. We focus here on several
of the more “applied” works.
Search WWH ::




Custom Search