Skip to Main Content
Interactive and batch tasks typically have aperiodic random demands and arrival patterns. Generally, interactive tasks are assigned high priority for high responsiveness. Batch tasks with less timing criticality are scheduled in background. Unfortunately, most real-time DVS algorithms focus only on the real-time task workload and timing constraints in determining the operating power-optimized clock frequency. This approach can often leave insufficient cycles for servicing interactive and batch tasks and lead to unacceptable tardiness in conventional applications. We present a power-management framework which ensures that conventional applications will obtain acceptable response times and workload throughput without breaking the temporal constraints of real-time tasks that use resource reservation. We propose two solutions: Background-Preserving and Background-On-Demand algorithms. The first scheme is straightforward and increases the clock frequencies of all tasks to accommodate a future non-real-time workload. The second scheme assigns two modes of frequencies to each task, normal mode and turbo mode. The turbo mode is triggered by the presence of a pending non-real-time task in the system. We also provide the integrated versions of both schemes with our dynamic slack reclamation DVS scheme, called the Progressive algorithm. The integrated versions exploit the slack time from underused reserves for saving more power without performance degradation in all applications.