5Outline Introduction Design Flow Power State Machine ILP Formulation and OptimizationA Sound Source Localization Case Study
6Software 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
8Software Model Directed acyclic graph of tasks Single-rate periodic executionKnown release timeKnown end-to-end deadlineWorst case execution time:Pre-assignments
9ILP: 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
10ILP: 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;
17Conclusion 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.
18Limitations & Future Work Execution time variationsAperiodic tasksLightweight heuristics for online scheduling