Download presentation
Presentation is loading. Please wait.
Published byArlene Walker Modified over 9 years ago
1
Minimizing Expected Energy Consumption in Real-Time Systems through Dynamic Voltage Scaling Ruibin Xu, Daniel Mosse’, and Rami Melhem
2
Problems Theme Context: Frame-based hard real time systems Given one or more tasks with – Same period – deadline = period – Order of execution of tasks Probability distribution of execution cycles of each task One processor with DVS support Goal: Schedule tasks (time allocation, speed) to minimize expected energy consumption
3
Problems & System Models Problems Intra-Task DVSInter-Task DVSHybrid System Model IdealRealistic
4
Problems Intra-Task DVS – Only one task – Compute speed of each cycle or group of consecutive cycles. Inter-Task DVS – Multiple Tasks and their order of execution – Compute fraction of remaining time to allot to each task – At run time, speed changes only at the boundary of a task Hybrid – Combine Intra and Inter-task DVS
5
System Models Ideal Model – Unrestricted continuous speed – No time or energy overhead for changing speed – Well defined power-frequency relation. p(f) = c 0 +c 1 f α Realistic Model – Predefined set of discrete speeds – Changing speed costs time and energy overhead – No assumption on power-frequency relation
6
Intra-Task DVS + Ideal System Minimize, where Subject to Optimal solution is Algorithms: PACE, GRACE.
7
Intra-Task DVS + Realistic System First approach: patch solution obtained under ideal system GRACE: round speed up to closest discrete frequency PACE: round speed up or down to closest discrete frequency Problems? – Can miss deadline – Ignore speed change overhead PACE: scan all phases and adjust speed, subtract maximum time penalty from allotted time
8
Intra-Task DVS + Realistic System Second Approach: Design DVS considering the realistic system model (PPACE). Change speed time penalty Change speed energy penalty Given r transition points, partition the range of execution cycles [1, W] into r+1 phases: [b 0, b 1 -1], [b 1, b 2 -1],…, [b r, b r+1 -1], where b 0 =1, b r+1 =W+1 Not necessarily the optimal partitioning!
9
Intra-Task DVS + Realistic System 1 0 b 0 =1b1b1 b2b2 b3b3 brbr cdf(x) X f0f0 f1f1 f2f2 frfr …… *Graph borrowed from presentation by Ruibin Xu
10
Intra-Task DVS + Realistic System Minimize Subject to Where
11
Intra-Task DVS + Realistic System An energy-time label l is a 2-tuple (e,t), where e and t denote energy and time, respectively *Graph borrowed from presentation by Ruibin Xu
12
Intra-Task DVS + Realistic System v0v0 v1v1 v2v2 v3v3 |LABEL(0)|=1|LABEL(1)|=M |LABEL(2)|=M 2 |LABEL(3)|=M 3 Exponential growth ! *Animation borrowed from presentation by Ruibin Xu
13
Intra-Task DVS + Realistic System Use Approximation – Approximations that preserve optimality but do not guarantee polynomial running time – Approximation based on factor є so that solution is within (1+є) of optimal, and we get a polynomial running time.
14
Intra-Task DVS + Realistic System v0v0 v1v1 v2v2 v3v3 |LABEL(0)|=1|LABEL(1)|=M |LABEL(2)|=M 2 |LABEL(3)|=M 3 |LABEL(1)|<<M, Hopefully! |LABEL(2)|<<M 2 Hopefully! *Animation borrowed from presentation by Ruibin Xu
15
Intra-Task DVS + Realistic System
18
Inter-Task DVS + Ideal System Algorithm: OITDVS slack β1Dβ1D (1-β 1 )D D β1β1 *Animation borrowed from presentation by Ruibin Xu
19
Inter-Task DVS + Ideal System β 4 =100% β 3 =xx% vs. T1T1 T2T2 T3T3 T4T4 β 2 =xx% vs. β 1 =xx% *Animation borrowed from presentation by Ruibin Xu
20
Inter-Task DVS + Realistic System Use the ideal system to compute allotted fractions of system time to each task Patch the solution to work on the realistic system: – Before computing the speed of a task, subtract from remaining time the maximum possible time penalty for all remaining speed changes. – Make sure a task runs at one of the discrete speed steps Algorithms PITDVS, PITDVS2
21
Hybrid (Intra + Inter-Task DVS) + Ideal System Combine intra and inter-task DVS. Compute fractions per cycle per task, instead of just per task. Algorithm: GOPDVS
22
Hybrid (Intra + Inter-Task DVS) + Realistic System Two approaches First (PGOPDVS): – Compute time allocation fraction per phase (instead of cycle) per task. – From the above fractions, compute fraction per task. – At run time, use task fractions to allot time to each task. – Compute task speed by applying patches as in inter-task DVS
23
Hybrid (Intra + Inter-Task DVS) + Realistic System Second (PIT-PPACE): – Compute time allocation fraction per task (inter- task DVS). – At run time, use intra-task DVS to compute speed schedule of each task according to allotted time. – Because the above step is time consuming, we can compute a set of solutions of intra-task DVS for each task and apply the best one at run time.
24
Hybrid (Intra + Inter-Task DVS) + Realistic System
26
Questions?
27
Energy-Aware Scheduling for Streaming Applications on Chip Multiprocessors Ruibin Xu, Rami Melhem, Daniel Mosse’
28
Problem Streaming applications operate on streams of data and are compute intensive. Examples: video streaming, automatic target recognition A stream of data can be abstracted as a sequence of requests. Thus a streaming application can be modeled as a periodic task in real-time systems. QoS: Throughput (T), and Deadline (D)
29
Problem Streaming applications are highly parallelizable and thus we can use CMPs to run them. CMPs support: – Turning off cores to reduce leakage – DVS to reduce dynamic energy consumption Goal: Schedule tasks so as to minimize energy consumption and meet QoS requirements.
30
Models Application is modeled as a DAG where nodes represent tasks, and edges represent precedence relations and communication requirements. Communication cost of transferring B bits – Delay is – Energy is Each processor has M discrete frequency steps
31
Decompose the Problem
32
Effect of Static Power Power function of a processor core Consider Y-oriented load only Assume job consists of c cycles, and we use y cores, then each is assigned cycles, and runs with speed Energy consumption is To minimize energy consumption Similar result for X-oriented load
33
Scheduling for Y-Oriented Load Solution has recursive nature Let denote optimal scheduling of tasks i through n, with end-to-end delay = t Computes single Value of i,i+1,..,j dt-d q WCEC Running time Energy
34
Scheduling for Y-Oriented Load We need to consider all M frequencies and all possible n-i+1 mappings of consecutive tasks i through n to first stage.
35
Scheduling for X-Oriented Load Use List scheduling to map tasks to cores in the same stage. Perform speed computation for tasks of the stage. Use hill-climbing to improve solution.
36
Scheduleing2D
37
Simulation Results Comparing Schedling2D against baseline. Baseline Algorithm – Period = deadline – Try all possible number of cores to find minimum energy consumption. – Use ETF heuristic to perform task mapping. – Uses convex programming approach to obtain execution speed of each task given task mapping.
38
Simulation Results Percentage of static power in total power: – 70nm: 22% – 50nm: 44% – 35nm: 67% As static power increases, energy savings obtained by Scheduling2D decreases
39
Simulation Results
40
As period increases, energy savings decrease For a given period, increasing deadline will initially result in increased energy savings
41
Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.