- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Embedded Systems Power/Energy Aware Embedded Systems Dynamic Voltage Scheduling.

Slides:



Advertisements
Similar presentations
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Advertisements

Reducing Network Energy Consumption via Sleeping and Rate- Adaption Sergiu Nedevschi, Lucian Popa, Gianluca Iannaccone, Sylvia Ratnasamy, David Wetherall.
Real- time Dynamic Voltage Scaling for Low- Power Embedded Operating Systems Written by P. Pillai and K.G. Shin Presented by Gaurav Saxena CSE 666 – Real.
Mehdi Amirijoo1 Dynamic power management n Introduction n Implementation, levels of operation n Modeling n Power and performance issues regarding.
Energy in sensor nets. Where does the power go Components: –Battery -> DC-DC converter –CPU + Memory + Flash –Sensors + ADC –DAC + Audio speakers –Display.
L27:Lower Power Algorithm for Multimedia Systems 성균관대학교 조 준 동
Aleksandra Tešanović Low Power/Energy Scheduling for Real-Time Systems Aleksandra Tešanović Real-Time Systems Laboratory Department of Computer and Information.
Dynamic Power Management for Systems with Multiple Power Saving States Sandy Irani, Sandeep Shukla, Rajesh Gupta.
Performance and Energy Bounds for Multimedia Applications on Dual-processor Power-aware SoC Platforms Weng-Fai WONG 黄荣辉 Dept. of Computer Science National.
Energy in sensor nets. Where does the power go Components: –Battery -> DC-DC converter –Sensors->ADC->MCU+Memory  Radio.
Chapter 13 Embedded Systems
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation Xiliang Zhong and Cheng-Zhong Xu Dept. of Electrical & Computer Engg.
Processor Frequency Setting for Energy Minimization of Streaming Multimedia Application by A. Acquaviva, L. Benini, and B. Riccò, in Proc. 9th Internation.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
Power-aware Computing n Dramatic increases in computer power consumption: » Some processors now draw more than 100 watts » Memory power consumption is.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Minimizing Response Time Implication in DVS Scheduling for Low Power Embedded Systems Sharvari Joshi Veronica Eyo.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Lecture 03: Fundamentals of Computer Design - Trends and Performance Kai Bu
Low-Power Wireless Sensor Networks
Computer Science Department University of Pittsburgh 1 Evaluating a DVS Scheme for Real-Time Embedded Systems Ruibin Xu, Daniel Mossé and Rami Melhem.
1 Overview 1.Motivation (Kevin) 1.5 hrs 2.Thermal issues (Kevin) 3.Power modeling (David) Thermal management (David) hrs 5.Optimal DTM (Lev).5 hrs.
Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems Wanghong Yuan, Klara Nahrstedt Department of Computer Science University of.
Low Power Design for Real-Time Systems Low power (energy) consumption is a key design for embedded systems Battery’s life during operation Reliability.
1 EE5900 Advanced Embedded System For Smart Infrastructure Energy Efficient Scheduling.
1 Tuning Garbage Collection in an Embedded Java Environment G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin Microsystems Design Lab The.
Company name KUAS HPDS A Realistic Variable Voltage Scheduling Model for Real-Time Applications ICCAD Proceedings of the 2002 IEEE/ACM international conference.
Optimal Selection of Power Saving Classes in IEEE e Lei Kong, Danny H.K. Tsang Department of Electronic and Computer Engineering Hong Kong University.
Hard Real-Time Scheduling for Low- Energy Using Stochastic Data and DVS Processors Flavius Gruian Department of Computer Science, Lund University Box 118.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Operating System Requirements for Embedded Systems Rabi Mahapatra.
Operating System Principles And Multitasking
Dynamic Voltage Frequency Scaling for Multi-tasking Systems Using Online Learning Gaurav DhimanTajana Simunic Rosing Department of Computer Science and.
Power and Control in Networked Sensors E. Jason Riedy and Robert Szewczyk Presenter: Fayun Luo.
CUHK Learning-Based Power Management for Multi-Core Processors YE Rong Nov 15, 2011.
Lev Finkelstein ISCA/Thermal Workshop 6/ Overview 1.Motivation (Kevin) 2.Thermal issues (Kevin) 3.Power modeling (David) 4.Thermal management (David)
Full and Para Virtualization
Adaptive Sleep Scheduling for Energy-efficient Movement-predicted Wireless Communication David K. Y. Yau Purdue University Department of Computer Science.
Static Process Scheduling
Hardware Architectures for Power and Energy Adaptation Phillip Stanley-Marbell.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
CprE 458/558: Real-Time Systems (G. Manimaran)1 Energy Aware Real Time Systems - Scheduling algorithms Acknowledgement: G. Sudha Anil Kumar Real Time Computing.
Workload Clustering for Increasing Energy Savings on Embedded MPSoCs S. H. K. Narayanan, O. Ozturk, M. Kandemir, M. Karakoy.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Energy-aware QoS packet scheduling.
VADA Lab.SungKyunKwan Univ. 1 L5:Lower Power Architecture Design 성균관대학교 조 준 동 교수
Hardware/Software Codesign of Embedded Systems Power/Voltage Management Voicu Groza School of Information Technology and Engineering
Determining Optimal Processor Speeds for Periodic Real-Time Tasks with Different Power Characteristics H. Aydın, R. Melhem, D. Mossé, P.M. Alvarez University.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
CS203 – Advanced Computer Architecture
Evaluation of Advanced Power Management for ClassCloud based on DRBL Rider Grid Technology Division National Center for High-Performance Computing Research.
Overview Motivation (Kevin) Thermal issues (Kevin)
CPU Scheduling CSSE 332 Operating Systems
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Chapter 5a: CPU Scheduling
SECTIONS 1-7 By Astha Chawla
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Flavius Gruian < >
Operating Systems CPU Scheduling.
Ultra-Low Duty Cycle MAC with Scheduled Channel Polling
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Dynamic Voltage Scaling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
COMP755 Advanced Operating Systems
Presentation transcript:

- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Embedded Systems Power/Energy Aware Embedded Systems Dynamic Voltage Scheduling Dynamic Power Management Power/Energy Aware Embedded Systems Dynamic Voltage Scheduling Dynamic Power Management

- 2 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Power Consumption of a Gate

- 3 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Recap from chapter 3: Fundamentals of dynamic voltage scaling (DVS) Power consumption of CMOS circuits (ignoring leakage): Delay for CMOS circuits:  Decreasing V dd reduces P quadratically, while the run-time of algorithms is only linearly increased (ignoring the effects of the memory system).

- 4 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Potential for Energy Optimization Saving Energy under given Time Constraints: – Reduce the supply voltage V dd – Reduce switching activity α – Reduce the load capacitance C L – Reduce the number of cycles #Cycles Saving Energy under given Time Constraints: – Reduce the supply voltage V dd – Reduce switching activity α – Reduce the load capacitance C L – Reduce the number of cycles #Cycles

- 5 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Voltage Scaling and Power Management Dynamic Voltage Scaling V dd Energy / Cycle [nJ]

- 6 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Slow Module 1.3V 50MHz Standard Modules 1.8V 100MHz Busy Module 3.3V 200MHz Spatial vs. Dynamic Supply Voltage Management Normal Mode 1.3 V 50MHz Busy Mode 3.3 V 200MHz Not all components require same performance. Not all components require same performance. Required performance may change over time Analogy of biological blood systems: Different supply to different regions High pressure: High pulse count and High activity Low pressure: Low pulse count and Low activity Analogy of biological blood systems: Different supply to different regions High pressure: High pulse count and High activity Low pressure: Low pulse count and Low activity

- 7 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund

- 8 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Example: Processor with 3 voltages Case a): Complete task ASAP Task that needs to execute 10 9 cycles within 25 seconds. E a = 10 9 x 40 x = 40 [J]

- 9 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Case b): Two voltages E b = x 40 x x 10 x = 32.5 [J] E b = x 40 x x 10 x = 32.5 [J]

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Case c): Optimal voltage E c = 10 9 x 25 x = 25 [J]

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Observations  A minimum energy consumption is achieved for the ideal supply voltage of 4 Volts. In the following: variable voltage processor = processor that allows any supply voltage up to a certain maximum. It is expensive to support truly variable voltages, and therefore, actual processors support only a few fixed voltages.  A minimum energy consumption is achieved for the ideal supply voltage of 4 Volts. In the following: variable voltage processor = processor that allows any supply voltage up to a certain maximum. It is expensive to support truly variable voltages, and therefore, actual processors support only a few fixed voltages. Ishihara, Yasuura: “Voltage scheduling problem for dynamically variable voltage processors”, Proc. of the 1998 International Symposium on Low Power Electronics and Design (ISLPED’98)

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Generalization Lemma [Ishihara, Yasuura]: If a variable voltage processor completes a task before the deadline, then the energy consumption can be reduced. If a processor uses a single supply voltage V and completes a task T just at its deadline, then V is the unique supply voltage which minimizes the energy consumption of T. If a processor can only use a number of discrete voltage levels, then a voltage schedule with at most two voltages minimizes the energy consumption under any time constraint. If a processor can only use a number of discrete voltage levels, then the two voltages which minimize the energy consumption are the two immediate neighbors of the ideal voltage V ideal possible for a variable voltage processor. Lemma [Ishihara, Yasuura]: If a variable voltage processor completes a task before the deadline, then the energy consumption can be reduced. If a processor uses a single supply voltage V and completes a task T just at its deadline, then V is the unique supply voltage which minimizes the energy consumption of T. If a processor can only use a number of discrete voltage levels, then a voltage schedule with at most two voltages minimizes the energy consumption under any time constraint. If a processor can only use a number of discrete voltage levels, then the two voltages which minimize the energy consumption are the two immediate neighbors of the ideal voltage V ideal possible for a variable voltage processor.

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund The case of multiple tasks: Assigning optimum voltages to a set of tasks N : the number of tasks EC j : the number of execution cycles of task j L : the number of voltages of the target processor V i : the i th voltage, with 1  i  L F i : the clock frequency for supply voltage V i T : the global deadline at which all tasks must have been completed SC j : the average switching capacitance during the execution of task j (SC i comprises the actual capacitance CL and the switching activity  ) X i, j : the number of clock cycles task j is executed at voltage V i N : the number of tasks EC j : the number of execution cycles of task j L : the number of voltages of the target processor V i : the i th voltage, with 1  i  L F i : the clock frequency for supply voltage V i T : the global deadline at which all tasks must have been completed SC j : the average switching capacitance during the execution of task j (SC i comprises the actual capacitance CL and the switching activity  ) X i, j : the number of clock cycles task j is executed at voltage V i

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Designing an IP model Simplifying assumptions of the IP-model include the following: There is one target processor that can be operated at a limited number of discrete voltages. The time for voltage and frequency switches is negligible. The worst case number of cycles for each task are known. Simplifying assumptions of the IP-model include the following: There is one target processor that can be operated at a limited number of discrete voltages. The time for voltage and frequency switches is negligible. The worst case number of cycles for each task are known. Minimize Subject to and

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Experimental Results

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Voltage Scheduling Techniques Static Voltage Scheduling Extension: Deadline for each task Formulation as IP problem (SS) Decisions taken at compile time Dynamic Voltage Scheduling Decisions taken at run time 2 Variants: arrival times of tasks is known (SD) arrival times of tasks is unknown (DD) Static Voltage Scheduling Extension: Deadline for each task Formulation as IP problem (SS) Decisions taken at compile time Dynamic Voltage Scheduling Decisions taken at run time 2 Variants: arrival times of tasks is known (SD) arrival times of tasks is unknown (DD)

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Dynamic Voltage Control by Operating Systems Voltage Control and Task Scheduling by Operating System to minimize energy consumption Okuma, Ishihara, and Yasuura: “Real-Time Task Scheduling for a Variable Voltage Processor”, Proc. of the 1999 International Symposium on System Synthesis (ISSS'99) Voltage Control and Task Scheduling by Operating System to minimize energy consumption Okuma, Ishihara, and Yasuura: “Real-Time Task Scheduling for a Variable Voltage Processor”, Proc. of the 1999 International Symposium on System Synthesis (ISSS'99) Target: single processor system Only OS can issue voltage control instructions Voltage can be changed anytime only one supply voltage is used at any time overhead for switching is negligible static determination of worst case execution cycles Target: single processor system Only OS can issue voltage control instructions Voltage can be changed anytime only one supply voltage is used at any time overhead for switching is negligible static determination of worst case execution cycles

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Task2 Task3 Task1 2.5V 5.0V 4.0V deadline arrival time What is the optimum supply voltage assignment for each task in order to obtain minimum energy consumption? Problem for Operating Systems

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund The proposed Policy task Time slot: T task Consider a time slot the task can use without violating real-time constraints of other tasks executed in the future Once time slot is determined: The task is executed at a frequency of WCEC / T Hz The scheduler assigns start and end times of time slot Once time slot is determined: The task is executed at a frequency of WCEC / T Hz The scheduler assigns start and end times of time slot

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Two Algorithms Two possible situations: The arrival time of tasks is known: SD Algorithm Static ordering and Dynamic voltage assignment The arrival time of tasks is unknown DD Algorithm Dynamic ordering and Dynamic voltage assignment Two possible situations: The arrival time of tasks is known: SD Algorithm Static ordering and Dynamic voltage assignment The arrival time of tasks is unknown DD Algorithm Dynamic ordering and Dynamic voltage assignment SD DD CPU Time Allocation Start Time Assignment End Time Prediction SD DD CPU Time Allocation Start Time Assignment End Time Prediction off-line on-line off-line on-line

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Task1 Task2 Arrival time of all tasks is known Deadline of all tasks is known WCEC of all tasks is known  CPU time can be allocated statically CPU time is assigned to each task: assuming maximum supply voltage assuming WCEC Arrival time of all tasks is known Deadline of all tasks is known WCEC of all tasks is known  CPU time can be allocated statically CPU time is assigned to each task: assuming maximum supply voltage assuming WCEC SD Algorithm (CPU Time Allocation)

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Task1 Task2 Free time Current time SD Algorithm (Start Time Assignment) Task2 Task1 Task2 Vmax Current time In SD, it is possible to assign lower supply voltage to Task2 using the free time In SS, the scheduler can’t use the free time because it has statically assigned voltage In SD, it is possible to assign lower supply voltage to Task2 using the free time In SS, the scheduler can’t use the free time because it has statically assigned voltage

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund When the task’s arrival time is unknown, its end time can’t be predicted statically using the SD algorithm  No predetermined CPU time, start or end times When the task’s arrival time is unknown, its end time can’t be predicted statically using the SD algorithm  No predetermined CPU time, start or end times DD Algorithm Task1 Current time Task2 Start Time Assignment: New task arrives – it either: a)Preempts currently executing task b)Starts right after currently executing task  Starting time is determined Start Time Assignment: New task arrives – it either: a)Preempts currently executing task b)Starts right after currently executing task  Starting time is determined

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund DD Algorithm (cont.) End Time Prediction: Based on the currently executing task’s end time prediction, add the new task’s WCEC time at maximum voltage End Time Prediction: Based on the currently executing task’s end time prediction, add the new task’s WCEC time at maximum voltage Task1 Current time Task2 Completion time assigned at CPU time allocation

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund DD Algorithm (cont.)  If the currently executing task finishes earlier, then new task can start sooner and run slower at lower voltage Task1 Current time Task2 Task1 Task2

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Task End Time Start Time Task End Time Start Time Comparison: SD vs. DD  SD Algorithm:  DD Algorithm:

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Normal: Processor runs at maximum supply voltage SS: Static Scheduling SD: Scheduling done by SD Algorithm DD: Scheduling done by DD Algorithm Normal: Processor runs at maximum supply voltage SS: Static Scheduling SD: Scheduling done by SD Algorithm DD: Scheduling done by DD Algorithm Experimental Results: Energy

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Dynamic power management (DPM) Dynamic Power management tries to assign optimal power saving states Requires Hardware Support Example: StrongARM SA1100 Dynamic Power management tries to assign optimal power saving states Requires Hardware Support Example: StrongARM SA mW 160uW50mW 90us 10us 160ms RUN: operational IDLE: a sw routine may stop the CPU when not in use, while monitoring interrupts SLEEP: Shutdown of on-chip activity RUN: operational IDLE: a sw routine may stop the CPU when not in use, while monitoring interrupts SLEEP: Shutdown of on-chip activity SLEEPIDLE RUN

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund The opportunity: Reduce power according to workload busy idle busy shut downwake up device states Desired: Shutdown only during long idle times  Tradeoff between savings and overhead Desired: Shutdown only during long idle times  Tradeoff between savings and overhead T sd T wu working sleeping T bs T sd : shutdown delayT wu : wakeup delay T bs : time before shutdown T bw : time before wakeup power states

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund The challenge Questions: When to go to a power-saving state? Is an idle period long enough for shutdown?  Predicting the future Questions: When to go to a power-saving state? Is an idle period long enough for shutdown?  Predicting the future

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Adaptive Stochastic Models IBBBI………...IBBIIBB time Sliding Window (SW): [Chung DATE 99] Interpolating pre-computed optimization tables to determine power states Using sliding windows to adapt to non-stationarity Interpolating pre-computed optimization tables to determine power states Using sliding windows to adapt to non-stationarity

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Comparison of different approaches P : average power N sd : number of shutdowns N wd : wrong shutdowns (actually waste energy)

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund What about multitasking? user device program operating system power manager requesters  Coordinate multiple workload sources

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Requesters We use processes to represent requesters requester = process Concurrent processes –Created, executed, and terminated –Have different device utilization –Generate requests only when running (occupy CPU) Power manager is notified when processes change state Concurrent processes –Created, executed, and terminated –Have different device utilization –Generate requests only when running (occupy CPU) Power manager is notified when processes change state

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Task Scheduling Rearrange task execution to cluster similar utilization and idle periods idle T T: time quantum time t1t2t3t1t2t t1t2t3t1t2t idle 1

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Shutdown-friendly scheduling Cluster processes with similar utilization patterns  Localize resource usage in time Tradeoff against latency  A process may be delayed Exploit application-knowledge  Processes can specify their latency requirements via API calls Cluster processes with similar utilization patterns  Localize resource usage in time Tradeoff against latency  A process may be delayed Exploit application-knowledge  Processes can specify their latency requirements via API calls  Task scheduling reduces both power and overhead!

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Towards the energy aware OS Power control for devices and CPU Shutdown Variable frequency Variable voltage Application awareness Process aware API for interacting with applications Concurrency management Scheduling Mutual exclusion (shared resources) Minimize OS impact (lightweight OS) Power control for devices and CPU Shutdown Variable frequency Variable voltage Application awareness Process aware API for interacting with applications Concurrency management Scheduling Mutual exclusion (shared resources) Minimize OS impact (lightweight OS)

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Power-aware OS implementations Windows APM and ACPI Device-centric, shutdown based Power-aware Linux Good research platform (several partial implementations, es. U. Delft, Compaq, etc.) Quite high-overhead for low-end embedded systems Power-aware ECOS Good research platform (HP-Unibo implementation) Lower overhead than Linux, modular Micro OSes Windows APM and ACPI Device-centric, shutdown based Power-aware Linux Good research platform (several partial implementations, es. U. Delft, Compaq, etc.) Quite high-overhead for low-end embedded systems Power-aware ECOS Good research platform (HP-Unibo implementation) Lower overhead than Linux, modular Micro OSes

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Application Aware DPM – Example: Communication Power NICs powered by portables reduce battery life 2.5 hours 8 hours In general: Higher bit rates lead to higher power consumption 90% of power for listening to a radio channel  Proper use of PHY layer services by MAC is critical! In general: Higher bit rates lead to higher power consumption 90% of power for listening to a radio channel  Proper use of PHY layer services by MAC is critical!

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Transmit mode Receive mode Doze mode Off-mode – NIC completely turned off –Power overhead for frequent switches – Must come with proper buffering strategies Transmit mode Receive mode Doze mode Off-mode – NIC completely turned off –Power overhead for frequent switches – Must come with proper buffering strategies NIC Power States

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Doze mode Off mode Energy saving Server Buffering Playback Buffer fullPlayingLWM reached time Power Client time Refill Request Beacons Access Point Low water mark Off mode power savings

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Higher error probability Exploits NIC off-state Min. value to allow data acquisition Higher error probability Exploits NIC off-state Min. value to allow data acquisition lower error probability Incurs NIC off-state overhead Max. value: Buffer_length–1 block lower error probability Incurs NIC off-state overhead Max. value: Buffer_length–1 block LWM / Buffer characteristics Where to put the LWM? How long should the buffer be? Depends on memory availability The longer the buffer, the higher the NIC off-state benefits Depends on memory availability The longer the buffer, the higher the NIC off-state benefits Buffering Strategies should be Power Aware!

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Comparison Low length buffers incur off mode power overhead Good power saving for high length buffers Low length buffers incur off mode power overhead Good power saving for high length buffers

 P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Exploiting application knowledge Approximate processing [Chandrakasan98-01] Tradeoff quality for energy (es. lossy compression) Design algorithms for graceful degradation Enforce power-efficiency in programming Avoid repetitive polling [Intel98] Use event-based activation (interrupts) Localize computation whenever possible Helps shutdown of peripherals Helps shutdown of memories Approximate processing [Chandrakasan98-01] Tradeoff quality for energy (es. lossy compression) Design algorithms for graceful degradation Enforce power-efficiency in programming Avoid repetitive polling [Intel98] Use event-based activation (interrupts) Localize computation whenever possible Helps shutdown of peripherals Helps shutdown of memories