Ultra-Low-Power Sensor Nodes Featuring a Virtual Runtime Environment

Slides:



Advertisements
Similar presentations
High-performance Cortex™-M4 MCU
Advertisements

The Process Control Block From: A Process Control Block (PCB, also called Task Control Block or Task Struct) is.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Topic 3: Sensor Networks and RFIDs Part 2 Instructor: Randall Berry Northwestern University MITP 491: Selected Topics.
Energy in sensor nets. Where does the power go Components: –Battery -> DC-DC converter –CPU + Memory + Flash –Sensors + ADC –DAC + Audio speakers –Display.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Integrated  -Wireless Communication Platform Jason Hill.
Energy-Efficient Design Some design issues in each protocol layer Design options for each layer in the protocol stack.
Alessandro Bogliolo, Valerio Freschi, Emanuele Lattanzi, Amy L. Murphy and Usman Raza 1.
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
ATMEL AVR 8 bit RISC MICROCONTROLLERS
3-1 System peripherals & Bus Structure Memory map of the LPC2300 device is one contiguous 32-bit address range. However, the device itself is made up of.
Protection and the Kernel: Mode, Space, and Context.
Renesas Electronics Europe GmbH A © 2010 Renesas Electronics Corporation. All rights reserved. RL78 Clock Generator.
1 XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Network Applications Presenter: James D. Lymberopoulos, A. Savvides.
Renesas Electronics America © 2011 Renesas Electronics Corporation. All rights reserved. V850/Jx4 Series Ultra Low Power 32 bit MCUs March 2012.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
1 Aphirak Jansang Thiranun Dumrongson
Low Power Management for CC2430 Jinho Son Real-Time System Lab.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
STM32 및 개발보드 소개 Jang Hyunsung Embedded Systems Lab. Dept. of CSE, PNU
Matthew Locke November 2007 A Linux Power Management Architecture.
Evaluation of Advanced Power Management for ClassCloud based on DRBL Rider Grid Technology Division National Center for High-Performance Computing Research.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
Computer System Structures
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Real-time Software Design
Operating System Overview
Power Management in Embedded Systems
Resource Management IB Computer Science.
Current Generation Hypervisor Type 1 Type 2.
Advanced Operating Systems CIS 720
USB The topics covered, in order, are USB background
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
Ting Liu Christopher M. Sadler Pei Zhang Margaret Martonosi
Chapter 1: Introduction
CASE STUDY 1: Linux and Android
Wireless Mesh Networks
CS490 Windows Internals Quiz 2 09/27/2013.
Introduction to Computers
Real-time Software Design
Improving java performance using Dynamic Method Migration on FPGAs
A Wireless Sensor Node SoC with a Profiled Power Management Unit for IR Controllable Digital Consumer Devices Dong-Sun Kim, Member, IEEE, Byung-Soo Kim,
Process management Information maintained by OS for process management
CS294-1 Reading Aug 28, 2003 Jaein Jeong
Threads, SMP, and Microkernels
Getting the Most Out of Low Power MCUs
Adaptive Code Unloading for Resource-Constrained JVMs
A High Performance SoC: PkunityTM
Lecture Topics: 11/1 General Operating System Concepts Processes
Lecture 4- Threads, SMP, and Microkernels
Lecture 9: TI MSP430 Interrupts & Low Power Modes
Architectural Support for OS
MSP432™ MCUs Training Part 6: Analog Peripherals
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
Time Sources and Timing
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
Outline Operating System Organization Operating System Examples
Architectural Support for OS
COMP755 Advanced Operating Systems
Presentation transcript:

Ultra-Low-Power Sensor Nodes Featuring a Virtual Runtime Environment Emanuele Lattanzi and Alessandro Bogliolo DiSBeF – University of Urbino NeuNet

Agenda Introduction HW-SW platform Power states DPM issues and solutions Experimental results

Introduction Need for energy efficient wireless sensor nodes Lifetime maximization Compatibility with energy harvesters Attractiveness of runtime virtual environment Development Deployment Re-use/Re-programming Availability of ultra-low-power micro controller units (MCUs) featuring 16-bit RISC architectures clocked at tens of MHz 16kbytes of main memory 64kbytes of flash memory Voltage-frequency scaling Low-power modes with sum ms wake-up time

Objective Ultra-low power sensor node Java-compatible virtual run-time environment Full exploitation of low-power modes Off-the-shelf low-cost components Open-hardware PCB Open-source software stack

Agenda Introduction HW-SW platform Power states DPM issues and solutions Experimental results

HW platform TI MSP430F54xxa MCU 16-bit RISC 8.9mA @ 25MHz 6 LP modes 0.1-73 uA 5us wake-up

HW platform VirtualSense provides a new Pareto-optimal point in the power-performance design space of wireless sensor modules

SW stack Contiki OS Operating-source real-time OS for sensor networks and networked embedded systems Portability Multi-tasking Memory efficiency Event-driven organization Elementary DPM which exploits the stand-by state of the MCU and wakes it up every 10ms

SW stack Darjeeling VM Open-source VM for extremely limited devices Java compatibility Limited requirements (10kbytes of RAM) Bytecode efficiency (infuser) Runs as a single process Supports multi-threading Preemptive round-robin scheduling

Agenda Introduction HW-SW platform Power states DPM issues and solutions Experimental results

Power modes         Active mode Standby mode Sleep mode CPU Clock Memory  Active mode 1-10mW Reboot at external interrupt [1-100ms] External interrupt [<1ms] Self wake up [1-10us] Standby mode   1-100uW Sleep mode   1uW Hibernation mode    100nW

SW-stack dimension Active Standby Sleep Hibernation OS boot VM boot Int hand OS sch VM sch Vtask Vtask Standby Sleep Hibernation

Wake-up transitions Active Standby Sleep Hibernation OS boot VM boot Int hand OS sch VM sch Vtask Standby Sleep Hibernation

Voltage and frequency scaling The PMM can provide four different levels of VCORE and it can be programmed in order to select the lowest supply voltage compatible with the speed of the CPU. 

Voltage and frequency scaling

Agenda Introduction HW-SW platform Power states DPM issues and solutions Experimental results

Standby mode ContikiOS schedules a self-wakeup every 10ms Int hand OS sch VM sch Vtask ContikiOS schedules a self-wakeup every 10ms There are 3 cases: The VM has no tasks to resume a The OS has no processes to resume b The VM has a task to resume Actual wake up

Standby mode abstract state diagram Vtask Active 1-10mW Exploitation issues: c The self-loop longer than 10ms No power saving a 1-10mW Standby b Not supported by the SW stack (VM always active) 1-100uW Not supported by Contiki OS Lack of timing info 1-10uW Stanby mode is not compatible with the SW stack!

Standby mode improvements Modified Contiki OS to make it able to dynamically adjust the INTERVAL of timer interrupts Modified Darjeeling VM scheduler to make it able to set the OS timer and suspends the VM PROCESS_WAIT_EVENT_UNTIL() Implemented a timed standby mode with just-in-time predictive wake-up Mounted an external low-power (0.3uW) real-time clock (RTC) to preserve timing accuracy

Standby mode modified state diagram Vtask 6.6mW 4.5uW + 153.72uJ/T Standby.a(T) Families of low-power states depending on T Standby.b(T) 4.5uW + 0.33uJ/T 4.5uW + 0.3uW Standby.t 4.5uW Standby

Sleep mode issues Unable to issue self-events Wakup can only be triggered by external interrupts Cannot be exploited is there are processes/tasks that need to resume at a given time (e.g., periodic monitoring tasks typical of many WSN applications) Lack of timing information No information about the time elapsed since shut down No time stamps associated with external interrupts Sleep mode can ony be exploited in case of time-independent reactive applications

Sleep mode improvements Implemented a timed sleep mode with just in time predictive wakeup based on the external RTC Used the external RTC to provide relative and absolute timing information at wake up 1.5uW + 0.3uW Sleep.t 1.5uW Sleep

Hibernation mode issues Unable to issue self-events As for Sleep mode Lack of timing information Lack of data retention Requires a complete reboot Impossible to resume a process/task Hibernation mode can ony be exploited in case of memor-less reactive applications

Hibernation mode improvements Used the external RTC as for the Sleep mode Implemented a native method in the main of the VM to save and restore the heap of the VM in falsh memory 1.5uW + 0.3uW Hibernation.t 1.5uW Hibernation

Agenda Introduction HW-SW platform Power states DPM issues and solutions Experimental results

Characterization results Data refer to a MSP430F5418a MCU powered at 3V and clocked at 16MHz

Experimental results Average power consumption of the MCU used to execute a periodic monitoring task which keeps the CPU busy for 1s

Conclusions Ultra-low-power sensor node Java-compatible virtual runtime environment Power consumption ranging from 6.6mW to 0.1uW (in Hibernation) Capable of reacting to external events and resume execution from any low-power state All low-power modes directly exploitable from the Java runtime environment Open-HW / Open-SW approach

Future directions Hardware filtering of non-Intended frame Multitasking support Ultrasound remote wake-up On-board ultrasound localization

Frame filtering Filtered CCA Non-inteded Intended

Frame filtering

Multitasking support The application manager receives applications to be installed or upgraded through the network and stores its on the applications memory.

Multitasking support Task manager is responsible for loading, starting, stopping, and unloading into the VirtualSense VM the installed applications.

Multitasking support The VirtualSense network dispatcher is responsible for managing communication between concurrent tasks and the low-level system network.