270 likes | 430 Views
Performance Comparison of Dynamic Voltage Scaling Algorithms for Hard Real-Time Systems. Real-Time and Embedded Technology and Applications Symposium, 2002. Proceedings. Eighth IEEE, pp.219-228. Speaker: Yeu-Shian Lin E-Mail: g946331@oz.nthu.edu.tw. Outline. Introduction
E N D
Performance Comparison of Dynamic Voltage Scaling Algorithms forHard Real-Time Systems Real-Time and Embedded Technology and Applications Symposium, 2002. Proceedings. Eighth IEEE, pp.219-228 Speaker: Yeu-Shian Lin E-Mail: g946331@oz.nthu.edu.tw
Outline • Introduction • Classification of DVS algorithms • Intra-task DVS • Inter-task DVS • Target algorithms • Simulation environment • Experimental results • Conclusions
Introduction • In recent years, many dynamic voltage scaling (DVS) have been proposed. • Evaluate quantitatively many recent DVS algorithms under a unified DVS simulation environment called SimDVS. • The performance comparison focus on a preemptive hard real-time systems in which periodic real-time tasks are scheduled.
Classification of DVS algorithms • Intra-task DVS (IntraDVS) algorithms • Adjust the voltage within an individual task boundary • The slack times are used for the current task • Inter-task DVS (InterDVS) algorithms • Determine the voltage on a task-by-task basis at each scheduling point • The slack times are used for the tasks that follow
Intra-task DVS algorithm design factors • Worst case execution time (WCET) • Worst case execution path (WCEP) • Classify into two types depending on: • How to estimate slack times • How to adjust speeds.
IntraDVS: Path-based method • The voltage and clock speed are determined based on a predicted reference execution path, such as WCEP. • When the actual execution deviates from the predicted reference execution path, the clock speed is adjusted. • Program locations for possible speed scaling are identified using static program analysis or execution time profiling.
IntraDVS: Stochastic method • Start the execution at a low speed and accelerate the execution later. • If the probability density function of execution times of a task is known a prior, the optimal speed schedule can be computed. • Unlike the path-based IntraDVS, the stochastic IntraDVS may not utilize all the potential slack times.
Inter-task DVS algorithm design factors • InterDVS algorithms exploit the “run-calculate-assign-run” strategy • Run a current task • Calculate the maximum allowable execution time for the next task • Assign the supply voltage for the next task • Run the next task • A generic InterDVS algorithms consists of two parts: • Slack estimation • Slack distribution • Slack times come from two sources • Static slack times • Dynamic slack times
InterDVS: Static slack estimation • Maximum constant speed • Worst case processor utilization (WCPU) • If the WCPU U of a given task set is lower than 1.0 under the maximum speed fmax, the task set can be scheduled with a new maximum speed f’max = U * fmax.
InterDVS: Dynamic slack estimation (I) • Stretching to NTA • NTA: the arrival time of the next task. • Assume that the current task t is scheduled at time T. • If NTA of t is later than (T+WCET(t)), task t can be executed at a lower speed so that its execution completes exactly at the NTA.
InterDVS: Dynamic slack estimation (II) • Priority-based slack stealing • When a higher-priority task completes its execution earlier than its WCET, the following lower-priority tasks can use the slack time. • Utilization updating • Recalculate the expected WCPU using the actual execution time of completed task instances. • The main merit of the method is its simple implementation.
InterDVS: Slack distribution methods • Most InterDVS algorithms have adopted a greedy approach, where all the slack times are given to the next activated task.
Simulation environment (I) • SimDVS was designed to achieve the following goals: • Support both IntraDVS and InterDVS algorithms • Integrate different DVS algorithms easily • Support different task workloads, variations in execution path taken, and different task set configurations easily • Support different variable-voltage processors easily
Experimental results (I) • Performance evaluation of InterDVS algorithms • Number of tasks in a task set • Worst case processor utilization of task set • Machine specification • Speed bound
Figure 3Impact of the number of tasks • lppsEDF, lppsRM, and ccRM that only use the stretching-to-NTA technique do not significantly improve.
Figure 4Impact of WCPU and the number of scaling levels • The energy consumption increases as a linear function of WCPU of a task set. • The energy consumption increases as the number of scaling levels decreases.
Figure 5Impact of speed bound • The aggressive InterDVS algorithms, the energy efficiency is highest when the speed bound factor was set to ACPU.
Figure 6Impact of speed bound • ACPU = 0.55 X WCPU • There is a substantial room for improvement in developing more energy-efficient RM InterDVS algorithms.
Experimental results (II) • Performance evaluation of Intra-Task DVS algorithms • Path-based Method - intraShin • Stochastic Method – intraGruian • Slack ratio is defined as the ratio of WCET to the assigned execution time • Figure 7 shows the relative energy consumption ratio of intraGruian over intraShin.
Figure 7Energy consumption ration of intraShin and intraGruian • intraShin works better than intraGruian when the distribution of actual execution times is significantly different from the assumed distribution.
Experimental results (III) • Performance evaluation of hybrid methods • H1 and H3 are close to the pure InterDVS approach • H2 is close to the pure IntraDVS approach
Figure 8Energy efficiency of HybridDVS algorithms • HybridDVS algorithms are shown to reduce the energy consumption by 5~20% over that of the pure DVS algorithms.
Conclusions • Existing EDF InterDVS algorithms such as AGR, laEDF and lpSHE are close to optimal. Their power consumption is only 9~12% worse than the theoretical lower bound. • RM InterDVS algorithms has a significant gap from the theoretical lower bound. • HybridDVS algorithm can be better than a pure IntraDVS algorithm or a pure InterDVS algorithm.