1 / 40

Duty Cycling (Power control),Concurrent Execution

Duty Cycling (Power control),Concurrent Execution. Class 10. Announcements. Paper presentation schedule Assignment 2 status Groups done with assignment 2 return TelosB motes to TA. Agenda. Paper Presentations Power Management TinyOS Concurrent Execution. Paper presentations.

cachet
Download Presentation

Duty Cycling (Power control),Concurrent Execution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Duty Cycling (Power control),Concurrent Execution Class 10

  2. Announcements Paper presentation schedule Assignment 2 status Groups done with assignment 2 return TelosB motes to TA

  3. Agenda Paper Presentations Power Management TinyOS Concurrent Execution

  4. Paper presentations • Topic + at least 3 papers by 10/3/2011 • Rational for each paper – • Relation to project • Where published ? • Acceptance rate for the conference • How many citations in Google scholar ? • Presentations from 10/12/2011 • 25 minspresentation + 5 mins questions • Slides should be submitted 2 days before scheduled presentation day

  5. List of Conferences or Journals • Conferences • ACM • Mobicom, Mobisys, Sensys • IEEE • Percom, Secon • Journals • IEEE transactions on mobile computing • Transactions on Networking • Transactions on embedded computing systems • Transactions on Parallel and Distributed Systems • Transactions on Computer

  6. Power Management

  7. Sources of Power Dissipation Often more than computation Least Power consuming Most Power consuming Power consumption depends on the type of processing Sending < Receiving Communication energy more than 100 times greater than computation energy Sensing + Computation + Communication

  8. Why power management ? • Safety • Energy dissipation causes temperature rise • Sensors on body can cause physical harm • Sensors (Mean Time To Failure) MTTF decreases • Sustainability • Scarce and intermittent energy sources • Often energy is scavenged from the environment • Energy efficiency to reduce power supply needs • Matching power needs

  9. Power management strategies • Sensing • E.g. pulse oximeter operation causes temperature rise on human skin • Temperature rise depends on the sensing frequency • Reduce the frequency to control temperature • Compressed sensing

  10. Power management strategies • Computation • Power consumption depends on different types of computation • Duty cycling of processor • Sleep states • Frequency scaling • Voltage scaling • Scheduling computation when energy is available • Predicting workload characteristics • Periodic vs asynchronous • Periodic workload enables efficient solutions • Async workload requires prediction which may fail often • Making energy available during peak workloads

  11. Power management strategies • Communication • Sending and receiving requires power from the energy supply • Communication power > 100 X computation power • Receiving power more than sending • Low power listening • Radio duty cycling

  12. EEG Application dependency EKG BP SpO2 Base Station Body Sensor Network Motion Sensor • Such strategies are however application dependent • Cannot turn off radio when the sensor needs to send • When an event occurs the radio has to wake up from low power state • Example Ayushman health monitoring system

  13. Ayushman workload Ayushman Workload Frequency Throttling during security phase Sensing Phase Enables Sleep Scheduling Transmission Phase Sleep Cycle Sensor CPU Utilization Security Phase Time • Example: Ayushman health monitoring application is considered as the workload • Sensing Phase – Sensing of physiological values (Plethysmogram signals) from the sensors and storing it in the local memory • Transmission Phase – Send the stored data to the base station in a single burst • Security Phase – Perform network wide key agreement for secure inter-sensor. • The Security phase occurs once in a day • The Sensing phase and Transmission phase alternate forming a sleep cycle

  14. Effects of Power Management Power Profile (Radio-ON) 0.06 0.05 Receiver(Radio ON) 0.04 Sender(Radio ON) 0.03 0.02 0.01 1 2 3 4 5 6 7 Lagrangian 8 9 Poly Gen + Vault Tx/Rx FFT Peak + Quant Ackn Tx/Rx Sensing Add Chaff Interpolation Eval Power Profile (Radio-OFF) 0.06 Receiver(Radio OFF) 0.05 Sender(Radio OFF) 0.04 Power (mW) 0.03 0.02 0.01 0 1 2 3 4 5 6 7 8 9 FFT Peak + Quant Sensing Add Chaff Vault Tx/Rx Lagrangian Poly Gen + Ackn Tx/Rx Interpolation Eval • Periodic sensing and computation application in Ayushman • Sender Side: Sensing + FFT + peak detection + quantization + polynomial evaluation + random number (chaff) generation + data transmission + acknowledgement of transmission • Receiver Side: Sensing + FFT + peak detection + quantization + listen for packet + interpolation + transmit acknowledgement

  15. Energy Savings PKA Computation Energy Consumption for Different Vault Sizes 0.7 Sender(Radio ON) Sender(Radio OFF) Receiver(Radio ON) 0.6 Receiver(Radio OFF) Sensing power >> computation power Sensing 0.5 0.4 Energy (Joules) ~100 mJ savings when radio turned off 0.3 0.2 0.1 0 1000 2000 3000 4000 5000 Vault Size (Chaff Points)

  16. Reduction of data transmission Learn the characteristic of the sensed signal Predict unusual changes Send only when there are changes • To further reduce communication power we may avoid data transmission • Event based data transmission • Consider the context aware radio example in class • Light intensity below 10 is not interesting • So don’t send data • Another example – • Temperature data does not change too often • Quiz: What is an intelligent way to reduce transmission ? • Solution: Transmit only when there is a significant difference

  17. Complex signals • What happens when the signal is complex • Example: Electrocardiogram • Represents electrical activity of the heart • Consists of P, Q, R, S, T waves • The beat morphology and R-R intervals in an ECG are considered important for diagnosis

  18. Generative Models Actual Signal Need to learn the parameters for a given signal Given the parameters the model should be able to regenerate the signal Each wave represented by a Gaussian function z =

  19. Event Based data transmission Normal Expected Change Unexpected Change Morphology and inter beat features do not change Both morphology and inter beat features change Only inter beat features change No communication Use a generative model to represent ECG Send inter beat feature updates Send every sample

  20. The Methodology Sensor matches sensed signal with model If a match don’t send data If model parameters vary, send only parameters If unknown change occurs send sample by sample At the base station use model to regenerate and align with raw signals to show the ECG

  21. Results 42:1 93% Energy and Memory Savings Diagnostic Accuracy Implemented using off-the-shelf sensors Base case for comparison: Send entire ECG

  22. Demo Video http://www.youtube.com/watch?v=NGBq-oyPhGI&feature=channel_video_title

  23. Lessons Learned • Communication more expensive than computation • Communication duty cycling is an useful tool • Application dependent duty cycling • Event based communication enables lot of energy savings • Can only be applied to cases where the sensed signal has a definite pattern

  24. Energy savings in computation • Frequency throttling • Voltage scaling • Example BSN with Atom processors • Allows Advanced Configuration and Power Interface (ACPI) control for frequency and voltage

  25. Example high end embedded processor: Intel Atom • Ultra low power processor for embedded applications • However, order of magnitude higher power dissipation than the state-of-art BSN node • IA-32 microarchitecture helps in easy application development • Can use high level programming languages to develop applications • Six low power sleep states with ultra low power deep sleep state • Sleep scheduling can be employed to reduce power consumption • Intel Speed Step technology enables seven different operating frequency levels • Clock frequency control to reduce operating power • Sleep state and frequency control performed through easy ACPI support (through Model Specific Register (MSR) accesses)

  26. Strategies to Address Energy Efficiency 4. K. Venkatasubramanian et al. Green and sustainable cyber-physical security solutions for body area networks. In BSN ’09: Proc. of the Sixth Intl. Workshop on Wearable and Implantable Body Sensor Networks, pages 240–245, Washington, DC, USA • Challenge – High Power • Atom TDP (2.2 W) with respect to present day sensor nodes (~ 80 mW [4]) • Remedy – Power budgeting through sleep scheduling and clock frequency control • Challenge - Increase lifetime of operation • Remedy – include scavenging nodes in the BSN that will charge the Atom nodes wirelessly and supplement battery

  27. Road Blocks The strategies are closely related to the applications real time requirements. Intelligent design is required to achieve safety and sustainability while respecting the real time requirements of the applications • Road Blocks – • In a sleep mode the processor cannot compute • Decrease in clock frequency increases computation time • Road Blocks – • The operation of scavenging sources are intermittent depending on the stochastic behavior of the host • Often the scavenging nodes fail to provide appropriate power levels to the nodes

  28. Example Hardware model • BSN node • Intel N270 single core processor • 1.6 GHz clock frequency, 1 GB RAM • Intel SpeedStep frequency control technology – useful for power management • 6 sleep states including one ultra low power sleep state (C6) – sleep scheduling • Chipcon 2420 radio • 2.45 GHz, 802.15.4 wireless standard • Maximum Power dissipation (58 mW [4]) BSN Node Base Station • Base Station • Atom based mobile phone Wireless Charging • Scavenging Sources • Body Heat, Ambulation, Respiration and Sun Light • Wireless charging of BSN nodes from scavenging sources is assumed • Each source has a specified range upto which it can charge nodes Scavenging Sources

  29. Example Software Model • The power consumption of processors depend on the Operating System used • Example: Mobile Intel 945 GMCH board power consumption • Open Suse Linux = 11.7 W • Moblin OS = 10.4 W • ACPI support required for accessing frequency control and sleep states • Moblin provides ACPI through which one can write to or read appropriate MSR registers to – • Control clock frequency • Sleep States • Measure core temperature • Ayushman workload

  30. Profiling Requirements • Sustainability – The available power from the scavenging sources should be able to meet the power demands of Atom node under the given workload • Power profiling of Atom processors during execution of Ayushman

  31. Power Profiling Power Meter Board Power Lead Intel Atom N270 on Mobile Intel Chipset 945 GSE AC Mains Table showing Atom power consumption for PKA execution at different operating frequencies Power Measurement Set up • PKA is the most power consuming computation in Ayushman [3] • The difference between idle power and power during PKA execution was measured using the GMCH board • Idle power of Atom N270 processor was added to it to obtain PKA power consumption

  32. Resource Consumption • PKA computation in Ayushman involves signal processing of physiological signals as well as execution of security algorithms • Resource footprint of PKA is evaluated in terms of – • RAM usage, Power Consumption, and Computation Time • Atom compared to TelosB provides very low RAM usage and computation time • However as expected it has around thrice the power consumption Resource Consumption for PKA execution

  33. Sustainability Analysis Total Energy Sensing Energy Transmission Energy PKA Computation Energy (Pair wise PKA) PKA communication Energy (Pair wise PKA) Ayushman Workload Frequency Throttling during security phase Sensing Phase Enables Sleep Scheduling Transmission Phase Total Sleep Cycle Time Pair wise PKA Execution Time Sleep Cycle Sensor CPU Utilization Security Phase Time • Duty Cycling of Atom operation during Ayushman execution • Sleep mode (C6) during Sensing Phase • Power consumption = Psleep for time ts • Active mode during data transmission phase • Power consumption = Pactive + radio power Pradio for data transmission time ttx • Active mode during PKA execution • Power Consumption = Pactive + PKA execution power PPKA for time tPKA • PKA involves transmission of security related information (vault) between two sensors • The Atom processor must be in active state with the radio on. Power Consumption = Pactive + Pradio for time tvault • Total energy consumption for n BSN nodes • x is the number of sleep cycles required in a day

  34. Sustainability Analysis Results • Four energy scavenging sources were considered • Body Heat, Ambulation, Respiration and Sun Light • The total energy obtained from any combination of scavenging sources should provide EBSN amount of energy for n nodes

  35. Multi-threading in Sensors

  36. TinyOS multi-threading TinyOS is a single application OS It supports multi-threading for the application Several threads can be posted in parallel which get scheduled in a FIFO queue Tasks and events are primarily used for doing computation Tasks are for long running computations Events are used for very short computation and for posting long running computations in the FIFO queue

  37. Code Flow Diagram Booted Boot Start Radio StartDone Call Timer Only the first task gets done FIFO scheduler gives preference to events TimerFired Call Sensor Task gets pushed back in the queue ReadDone Post 10 tasks

  38. Concurrent execution • uint16_t Samples[SAMPLES]; • Uint16_t i = 0; • event void ReadStream.readDone(error_t ok, uint32_t SensedVal) { • if (ok == SUCCESS){ • i++; • Samples[i] = Val; • if(i == SAMPLES-1){ • i = 0; • post calculateAvg(); • } • } • } • task void calculateAvg() { • uint16_t i, avg, var; • for (avg = 0, i = 0; i < SAMPLES; i++) • avg += Samples[i]; • avg /= SAMPLES; • for (var = 0, i = 0; i < SAMPLES; i++) • { • int16_t diff = Samples[i] - avg; • var += diff * diff; • } • } In readDone, we need to compute the variance of the sample. We defer this “computationally-intensive” operation to a separate task, using post. We then compute the variance

  39. Exercise to understand concurrency Lets have a loop in a task Increment a counter Have a timer fired event where at each fired event we send the counter value to the base station What values do we see at the base station ?

  40. Thank You

More Related