400 likes | 488 Views
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.
E N D
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 • 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
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
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
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
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
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
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
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
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
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
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)
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
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
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 =
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
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
Results 42:1 93% Energy and Memory Savings Diagnostic Accuracy Implemented using off-the-shelf sensors Base case for comparison: Send entire ECG
Demo Video http://www.youtube.com/watch?v=NGBq-oyPhGI&feature=channel_video_title
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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 ?