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-Preservingand 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.
Resource reservation has been recently supported by many real-time operating systems to provide applications with guaranteed and timely access to system resources. Typically, reservations are based on the worst-case requirements, and therefore can inflate resource demands unnecessarily. Many multimedia applications such as MPEG video streams (1) have high worst-case to average-case demand ratio and (2) can tolerate some deadline misses. To support such applications, we propose a "multi-granularity" reservation model. Instead of the classical {C, T, D} model of resource reservation, the multi-granular reserve specification is given by {{C,T,D},...,{Cx, epsixTi},...,{Cy, epsiyT i}} which represents a guarantee of the highest-granularity reserve for C units of resource during every successive periodic interval of T only as long as the resource usage by each of its low-granularity reserves (e.g., Cx units of resource in every recurring time of epsixTi, epsix isin Z+) is maintained. This multi-granular reservation approach delivers higher system utilization than the pessimistic strategy of worst-case reservation and better temporal isolation than other stochastic and heuristic guarantees in the literature. We perform a detailed schedulability analysis of this model using deadline-monotonic scheduling and derive an appropriate admission control test. We also present detailed analyses and simulation results comparing our reservation scheme for MPEG-4 streams with average-case resource reservation, constant bandwidth server (CBS), and (m, k)-firm guarantee
In CMOS circuits, power consumption is proportional tothe product of the frequency and the square of the supplyvoltage. Hence, any reductions in the operating frequencyof the processor and its supply voltage can lead to significantsavings in energy consumption (and heat dissipation)but cause longer execution times. The application of dynamicvoltage scaling (DVS) techniques to real-time systemsmust therefore attempt to minimize energy while guaranteeingthe schedulability of the real-time tasks. In thispaper, we study the effect of limited number of operating frequencieson the performance of voltage-scaling algorithms.The optimal frequency grid which minimizes the effect ofdiscrete operating frequencies is also derived. We then proposefour alternative voltage-scaling schemes, Sys-Clock,PM-Clock, Opt-Clock and DPM-Clock. Each scheme issuitable for different hardware configuration which mayhave high or low voltage-scaling overhead and differenttaskset characteristics. We have implemented our voltage-scalingschemes on CMU's real-time OS, Linux/RK, on the3700 series Compaq iPAQ and a 733MHz XScale BRHboard modified to support voltage-scaling.
Reservation-based operating systems provide applications with guaranteed and timely access to system resources. One of their chief benefits is temporal isolation, which prevents the timing mis-behavior of one task from interfering with other tasks. Such a benefit is appealing enough that many systems [2, 8] desire to recursively apply this reservation model to each of their components. This recursive application provides flexible load isolation among applications, users and other high-level resource management entities such as aggregated flows for network bandwidth. The hierarchical reservation stud), can be applied to hierarchical schedulers [5, 6], that support heterogenous scheduling algorithms. We propose and analyze a hierarchical reservation model in the context of fixed-priority scheduling, rate-monotonic and deadline-monotonic, as used in systems such as the Resource Kernel [11]. Detailed schedulability analyses under both deferrable-server and sporadic-server replenishment schemes, including exact completion time tests under hierarchical deadline-monotonic schedulers, are presented. We also derive the least upper scheduling bound for hierarchical rate-monotonic schedulers. Finally, we describe how to apply multi-reserve PCP [4], an extension of the Priority Ceiling Protocol for reservation-based systems, to allow tasks to share nonpreemptable resources across the hierarchy.
The resource-sharing problem in priority-driven realtime systems has been studied at length, with the result that some effective and practical solutions are available for both fixed-priority and dynamic-priority systems. In recent years, real-time operating systems have begun to support the resource reservation paradigm, providing a "temporal isolation" abstraction. However the problem of sharing logical resources across reserved applications has not been extensively studied. In this paper we consider both the theoretical and practical implications of such resource-sharing in reservation-based systems. Moreover we provide some experimental results from the implementation of our proposed schemes in Linux/RK, a "resource kernel" that supports reservations.
Reservation-based operating systems provide applications with guaranteed and timely access to system resources. One of the chief benefits of the approach is temporal isolation, which prevents the timing mis-behavior of one task from hurting other tasks. Such a benefit is appealing enough that applications desire to recursively apply this reservation model to each of their components [2, 8]. In this paper, we study such a hierarchical reservation model in the context of fixed-priority scheduling ...