5 Outline Introduction Design Flow Power State Machine ILP Formulation and OptimizationA 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.TasksProcessormodesTiming AnalysisTask timingPartitioningApplication structure/ requirementsPower modelTask-Processor-Mode assignments
7 Power State Machines STBY Power: ~0 mW IDLE Power: 0.25mW 60MHz Power: 141 mW30MHz Power: 72 mW7.5MHz Power: 20 mWnegligible1.53 mJ24.5 ms0.1 mJ1.4 ms1.47 mJ23.8 ms
8 Software Model Directed acyclic graph of tasks Single-rate periodic executionKnown release timeKnown end-to-end deadlineWorst case execution time:Pre-assignments
9 ILP: Variables and Objective Core binary variablestask-to-processor assignment;task-to-mode assignment;task transition assignment;Core integer variablestask 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: ConstraintsA 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;
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 variationsAperiodic tasksLightweight heuristics for online scheduling