The first researchers to discuss operating system techniques for DVS were Weiser et al. [21] and Chan et al. [2]. They suggested an interval-based approach, meaning that the system divides time into fixed-length intervals and schedules the speed for each interval based on the CPU utilizations of past intervals.
Interval-based strategies are used today in real systems capable of
dynamic voltage scaling, such as Transmeta's
LongRun
[7]. However, such strategies have
problems, as Pering et al. [17], and later Grunwald
et al. [5], pointed out. The CPU utilization by
itself does not provide enough information about system timing
requirements to ensure meeting a reasonable number of deadlines while
saving energy.