Overview of: System Architecture Directions for Networked Sensors John Kerwin CSE 291 Sensor Networks Paper by: Jason Hill, Robert Szewczyk, Alec Woo,

Slides:



Advertisements
Similar presentations
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Advertisements

Network II.5 simulator ..
How to use TinyOS Jason Hill Rob Szewczyk Alec Woo David Culler An event based execution environment for Networked Sensors.
Phil Buonadonna, Jason Hill CS-268, Spring 2000 MOTE Active Messages Communication Architectures for Networked Mini-Devices Networked sub-devicesActive.
A System Architecture for Tiny Networked Devices
Towards System Architecture for Tiny Networked Devices Jason Hill U.C. Berkeley.
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
Chapter 13 Embedded Systems
System Architecture Directions for Networked Sensors Jason Hill, Rober Szewczyk, Alec Woo, Seth hollar, David Culler & Kristofer Pister Presented by Israel.
Towards System Architecture for Tiny Networked Devices David Culler U.C. Berkeley Wireless hoo-hah 5/30/2000.
System Architecture Directions for Networked Sensors Qiuhua Cao Computer Science Department University of Virginia.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Mica: A Wireless Platform for Deeply Embedded Networks Jason Hill and David Culler Presented by Arsalan Tavakoli.
Jason Hill, Robert Szewczyk, Alec Woo Spring 2000 TinyOS Operating System for Networked Sensors Networked SensorsSystem Structure Composing Components.
TinyOS Meets Silicon Jason Hill NEST Retreat Summer 2002.
Reconfigurable Sensor Networks Chris Elliott Honours in Digital Systems Charles Greif and Nandita Bhattacharjee.
Tiny OS Optimistic Lightweight Interrupt Handler Simon Yau Alan Shieh CS252, CS262A, Fall The.
Integrated  -Wireless Communication Platform Jason Hill.
OPERATING SYSTEM OVERVIEW
Tiny OS Optimistic Lightweight Interrupt Handler Simon Yau Alan Shieh
Generic Sensor Platform for Networked Sensors Haywood Ho.
A System Architecture for Tiny Networked Devices Jason Hill U.C. Berkeley 9/22/2000.
1 TinyOS Mohammad Rahimi CSCI599-Spring Motivation  The new class of distributed tiny devices  The new generation of software.
TinyOS Software Engineering Sensor Networks for the Masses.
Chapter 1 and 2 Computer System and Operating System Overview
2008EECS Embedded Network Programming nesC, TinyOS, Networking, Microcontrollers Jonathan Hui University of California, Berkeley.
Figure 1.1 Interaction between applications and the operating system.
A Framework for Patient Monitoring A. L. Praveen Aroul, William Walker, Dinesh Bhatia Department of Electrical Engineering University of Texas at Dallas.
Sensor Node Architecture Issues Stefan Dulman
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Introduction to TinyOS. Networking Open Experimental Platform Small microcontroller 8 kB code 512 B data Simple, low-power radio 10 kbps ASK EEPROM (32.
1 EE249 Discussion System Architecture Directions for Networked Sensors (J. Hill, et al) Presented By: Sarah Bergbreiter EE249 Discussion Section October.
Mehmet Can Vuran, Instructor University of Nebraska-Lincoln Acknowledgement: Overheads adapted from those provided by the authors of the textbook.
CHAPTER 9: Input / Output
Computer Organization and Assembly language
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Intel ® Research mote Ralph Kling Intel Corporation Research Santa Clara, CA.
Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Operating Systems: Internals and Design Principles.
Source : System Architecture Directions or Networked Sensors - Jason Hill, Robert Szewcyk, Alec Woo, Seth Hollar, David Culler, Kristofer Pister The Mica.
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
MICA: A Wireless Platform for Deeply Embedded Networks
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Extreme Networked Systems: Large Self-Organized Networks of Tiny Wireless Sensors David Culler Computer Science Division U.C. Berkeley Intel
Component-Based Development of Networked Embedded Applications Peter Volgyesi and Akos Ledeczi Institute for Software Integrated Systems, Vanderbilt University.
Dhanshree Nimje Smita Khartad
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Simulation of Distributed Application and Protocols using TOSSIM Valliappan Annamalai.
Power and Control in Networked Sensors E. Jason Riedy and Robert Szewczyk Presenter: Fayun Luo.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
WSN Software Platforms - concepts Vinod Kulathumani Lecture uses some slides from tutorials prepared by authors of these platforms.
TinyOS Sandeep Gupta. Operating System (OS) What is an OS? Main functions  Process management  Memory management  Resource management Traditional OSs.
System Architecture Directions for Networked Sensors.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Simulation of Distributed Application and Protocols using TOSSIM
Real-time Software Design
TinyOS CSE466 Final Project Presentation
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Overview of: System Architecture Directions for Networked Sensors John Kerwin CSE 291 Sensor Networks Paper by: Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister

Motivation Sensor networks are new computing environments in the post-PC era that are different from traditional desktop and server environments. There are several trends working together to enable the networked sensor: Moore’s Law System on a chip Micro-electromechanical sensors (MEMS) Integrated low power communication

Motivation (cont) Today, sensors exist on the scale of a square inch in size, and a fraction of a watt in power. In the future, it may be possible to reduce sensors to the size of a cubic millimeter, or smaller. The key missing technology for these devices is system software to manage and operate them efficiently.

Project Objectives Create a prototype of a current generation sensor constructed from off the shelf components. Identify key requirements that an operating system for such a sensor must satisfy. Build an operating system that meets these requirements. Evaluate the operating system’s performance while running a real application.

Today’s Hardware Assembled from off-the-shelf components 4Mhz, 8bit MCU (ATMEL) 512 bytes RAM, 8KB ROM 900Mhz Radio (RF Monolithics) ft. range Temperature Sensor & Light Sensor LED outputs Serial Port 1.5” x 1.5” Slide courtesy Jason Hill et al

Hardware Features 3 Sleep Modes that can shut off the processor and other components not required for wake up. Radio can transfer data at up to 19 Kbps, with no data buffering. Sensor consumes about 19.5 mA at peak load, and 10 μA when inactive. A 575 mAh battery can power a sensor for 30 hours at peak load, or for over a year when inactive. Image courtesy Jason Hill et al

Operating System Requirements Small physical size and low power consumption Devices have limited memory and power resources Concurrency intensive operation Need to be able to service packets on-the-fly in real-time Limited hardware parallelism and controller hierarchy Limited number, and capability of controllers Unsophisticated processor-memory-switch level interconnect Diversity in design and usage Provide a high degree of software modularity for application specific sensors Robust Operation OS should be reliable, and assist applications in surviving individual device failures

The Solution: TinyOS A microthreaded OS that draws on previous work done for lightweight thread support, and efficient network interfaces Two level scheduling structure Long running tasks that can be interrupted by hardware events Small, tightly integrated design that allows crossover of software components into hardware

TinyOS Component Model Component has: Frame (storage) Tasks (computation) Command and Event Interface Messaging Component Internal State Internal Tasks CommandsEvents Image courtesy Jason Hill et al To facilitate modularity, each component declares the commands it uses and the events it signals. Statically allocated, fixed sized frames allow us to know the memory requirements of a component at compile time, and avoid the overhead associated with dynamic allocation.

Tasks Perform the primary computation work Atomic with respect to other tasks, and run to completion, but can be preempted by events Allow the OS to allocate a single stack assigned to the currently executing task Call lower level commands Signal higher level events Schedule other tasks within a component Simulate concurrency using events

Commands Non-blocking requests to lower level components Deposit request parameters into a component’s frame, and post a task for later execution Can also invoke lower level commands, but cannot block To avoid cycles, commands cannot signal events Return status to the caller

Events Event handlers deal with hardware events (interrupts) directly or indirectly Deposit information into a frame Post tasks Signal higher level events Call lower level commands

TOS Component Messaging Component AM_SUB_INIT AM_SUB_POWER AM_SUB_TX_PACKET AM_TX_PACKET _DONE AM_RX_PACKET _DONE Internal State AM_INIT AM_POWER AM_SEND_MSG AM_MSG_REC AM_MSG_SEND_DONE Internal Tasks CommandsEvents //AM.comp// TOS_MODULE AM; ACCEPTS{ char AM_SEND_MSG(char addr, char type, char* data); void AM_POWER(char mode); char AM_INIT(); }; SIGNALS{ char AM_MSG_REC(char type, char* data); char AM_MSG_SEND_DONE(char success); }; HANDLES{ char AM_TX_PACKET_DONE(char success); char AM_RX_PACKET_DONE(char* packet); }; USES{ char AM_SUB_TX_PACKET(char* data); void AM_SUB_POWER(char mode); char AM_SUB_INIT(); }; Slide courtesy Jason Hill et al

Putting It All Together The task scheduler is a simple FIFO scheduler. The scheduler puts the processor to sleep when the task queue is empty. Peripherals keep operating and can wake up the processor. Communication across components takes the form of a function call. This results in low overhead, and allows compile time type checking.

Sample Application The authors built an application consisting of a number of sensors distributed within a localized area Monitor temperature and light conditions Periodically transmit measurements to a base station

Sample Application (cont) Sensors can forward data for other sensors that are out of range of the base station Dynamically determine the correct routing topology for the network Image courtesy Jason Hill et al

Internal Component Graph Slide courtesy Jason Hill et al RFM Radio byte Radio Packet UART Serial Packet I2C Temp Photo Active Messages Clocks bit byte packet Ad hoc Routing Application application HW SW

Ad hoc Routing 0 Base Base station periodically broadcasts route updates Any sensors in range of this broadcast record the identity of the base station, and rebroadcast the update Each sensor remembers the first update received in an era, and uses the source of the update as the destination for routing data back to the base station Image courtesy Jason Hill et al

Evaluation: Small Physical Size Component NameCode Size (bytes) Data Size (bytes) Multihop router AM_dispatch AM_temperature AM_light AM Packet RADIO_byte RFM Photo Temperature UART UART_packet I2C_bus Processor_init TinyOS scheduler C runtime Total Scheduler only occupies 178 bytes Complete application only requires 3 KB of instruction memory and 226 bytes of data (less than 50% of the 512 bytes available) Only processor_init, TinyOS scheduler, and C runtime are required

Evaluation: Concurrency Intensive Operations OperationsCost (cycles) Time (µs) Normalized to byte copy Byte copy821 Post an Event Call a Command Post a task to scheduler Context switch overhead Interrupt (hardware cost) Interrupt (software cost) Low overhead is essential for achieving modular efficiency Cost of posting an event = cost of copying 1 byte of data Cost of posting a task or context switching is the same as copying 6 bytes of data Interrupt handling requires saving and storing registers

Efficient Modularity Message Send Transition Total propagation delay up the 5 layer radio communication stack is about 80 instructions Timing diagram of event propagation Slide courtesy Jason Hill et al

Evaluation: Limited Hardware Parallelism and Controller Hierarchy Successfully demonstrated a system with multiple flows of data running through a single microcontroller Components Packet reception work breakdownCPU UtilizationEnergy (nj/Bit) AM 0.05%0.20%0.33 Packet 1.12%0.51%7.58 Radio handler 26.87%12.16% Radio decode thread 5.48%2.48%37.2 RFM 66.48%30.08% Radio Reception Idle-54.75%- Total % Slide courtesy Jason Hill et al

Evaluation: Diversity in Usage and Robust Operation Created several sample applications that exploit the modular structure of the system Source based multi-hop routing applications Active-badge-like location detection applications Sensor network monitoring applications C programming language allows the ability to target multiple CPU architectures in future systems Robustness: Multihop routing application automatically reconfigures itself to withstand individual node failures Slide courtesy Jason Hill et al

Conclusions TinyOS is a highly modular software environment tailored to the requirements of Network Sensors, stressing efficiency, modularity, and concurrency. TinyOS should be able to support new sensor devices as they evolve. Running an application on TinyOS can help reveal the impact of architectural changes in the underlying hardware, making it easier to design hardware that is optimized for a particular application.