Presentation is loading. Please wait.

Presentation is loading. Please wait.

Energy-Optimal Software Partitioning in Heterogeneous

Similar presentations


Presentation on theme: "Energy-Optimal Software Partitioning in Heterogeneous"— Presentation transcript:

1 Energy-Optimal Software Partitioning in Heterogeneous
Multiprocessor Embedded Systems Michel Goraczko, Jie Liu (Microsoft Research, Redmond) Dimitrios Lymberopoulos (Yale University) Slobodan Matic (UC Berkeley) Bodhi Priyantha Feng Zhao (Microsoft Research, Redmond) Presentation at DAC 2008, Anaheim, CA June 10th, 2008

2 Energy Usage in Embedded Applications
Patient monitoring Smart environments Mobile devices Low duty cycle monitoring for long battery life High throughput for realtime critical events processing.

3 Energy Performance Diversity
A single processor with DVFS may not be flexible enough. Energy efficiency in embedded processors Non-trivial wake-up latency and energy costs

4 Heterogeneous Multi-Processor Platforms
UCLA LEAP Platform MSR mPlatform

5 Outline Introduction Design Flow Power State Machine
ILP Formulation and Optimization A Sound Source Localization Case Study

6 Software Partitioning Problem
Given a time sensitive application, allocate software components to different processors to minimize energy consumption without violating timing constraints. Tasks Processor modes Timing Analysis Task timing Partitioning Application structure/ requirements Power model Task-Processor-Mode assignments

7 Power State Machines STBY Power: ~0 mW IDLE Power: 0.25mW
60MHz Power: 141 mW 30MHz Power: 72 mW 7.5MHz Power: 20 mW negligible 1.53 mJ 24.5 ms 0.1 mJ 1.4 ms 1.47 mJ 23.8 ms

8 Software Model Directed acyclic graph of tasks
Single-rate periodic execution Known release time Known end-to-end deadline Worst case execution time: Pre-assignments

9 ILP: Variables and Objective
Core binary variables task-to-processor assignment; task-to-mode assignment; task transition assignment; Core integer variables task start time instances; Derived variables: In order to convert the problem into ILP formulations, need to further introduce auxiliary variables. Objective: minimize total energy per iteration

10 ILP: Constraints A task can only be allocated to one processor and one mode; A processor can only execute one task at any time; Waking up from sleep modes takes time; Processor total utilization should be less than 1; Tasks have dependencies with in an iteration; Tasks have dependencies across iteration boundaries; No task can start before its release time; All tasks should finish by the deadline;

11 Case Study Sound Source Localization FFT SC FFT SC HT FFT SC FFT SC
VOTE HT FFT SC FFT SC S – Audio Sampling FFT – Fast Fourier Transform SC – Noise Estimation & Signal classification HT – Hypothesis Testing VOTE – Sound detection voting

12 Hardware Model Power Mode ARM7 @ 2.5V 60MHz full speed MSP430 @ 3V
141 10.8 1/2 speed 72 2.7 1/8 speed 20 1.4 Idle 0.25 ~0 Standby Wake up Energy (mJ) Time (ms) To full speed 1.5 24.5 ~0 0.006 To 1/8 speed 0.1 1.4

13 Task Profiling Proc Mode FFT (ms) SC(ms) HT (ms) ARM7 60MHz 7.8 4.4
111 30MHz 15.6 9.0 222 7.5MHz 39.6 23.3 567 MSP430 6MHz 99.2 37.2 3MHz 196 76 1.5MHz 394 152 0.75MHz 792 300

14 Partitioning Results (1)
ARM7 60MHz HT 50 100 150 Deadline: 128ms Need 4 MSP430 60MHz Total energy/iteration: 21.7mJ Average power: 166.7mW MSP-4 6MHz FFT SC 50 100 150 MSP-3 6MHz FFT SC 50 100 150 MSP-2 6MHz FFT SC 50 100 150 MSP-1 6MHz FFT SC 50 100 150

15 Scheduling Results (2) Deadline: 256ms Need 2 MSP430 ARM7 @ 30MHz
Total energy/iteration: 22.1mJ Average power: 86.4mW HT 50 100 150 200 256 MSP4 6MHz FFT SC FFT SC 50 100 150 200 256 MSP3 6MHz FFT SC FFT SC 50 100 150 200 256 MSP2 6MHz 50 100 150 200 256 MSP1 6MHz 50 100 150 200 256

16 Scheduling Results (3) Deadline: 1000ms Need 2 MSP430 ARM7 @ 7.5MHz
4xFFT HT Deadline: 1000ms Need 2 MSP430 7.5MHz Total energy/iteration: 16.2mJ Average power: 16.2mW 200 400 600 800 1000 MSP4 6MHz SC SC 200 400 600 800 1000 MSP3 6MHz SC SC 200 400 600 800 1000 MSP2 6MHz 200 400 600 800 1000 MSP1 6MHz 200 400 600 800 1000

17 Conclusion Processor diversities can help energy saving.
Wakeup time and energy must be considered in software partitioning. Optimal software partitioning is NP–hard, but can be formulated as an ILP problem.

18 Limitations & Future Work
Execution time variations Aperiodic tasks Lightweight heuristics for online scheduling


Download ppt "Energy-Optimal Software Partitioning in Heterogeneous"

Similar presentations


Ads by Google