A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)

Slides:



Advertisements
Similar presentations
Reconfigurable Sensor Networks with SOS Chih-Chieh Han, Ram Kumar Rengaswamy, Roy Shea and Mani Srivastava UCLA Networked and Embedded Systems Laboratory.
Advertisements

Harbor: Software based Memory Protection for Sensor Nodes Ram Kumar, Akhilesh Singhania, Eddie Kohler and Mani Srivastava Introduction: Memory protection.
SOS - Dynamic operating system for sensor networks
Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Sensor Network Platforms and Tools
Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University.
Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
Topology Control Presenter: Ajit Warrier With Dr. Sangjoon Park (ETRI, South Korea), Jeongki Min and Dr. Injong Rhee (advisor) North Carolina State University.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Leveraging IP for Sensor Network Deployment Simon Duquennoy, Niklas Wirstrom, Nicolas Tsiftes, Adam Dunkels Swedish Institute of Computer Science Presenter.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
TinyGALS: A Programming Model for Event-Driven Embedded Systems Elaine Cheong UC Berkeley Ptolemy Group / PARC Judy Liebman (LLNL) Jie Liu, Feng Zhao (PARC)
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Accurate Emulation of Wireless Sensor Networks Hejun Wu Joint work with Qiong Luo, Pei Zheng*, Bingsheng He, and Lionel M. Ni Department of Computer Science.
Generic Sensor Platform for Networked Sensors Haywood Ho.
Integrated  -Wireless Communication Platform Jason Hill.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Generic Sensor Platform for Networked Sensors Haywood Ho.
2008EECS Embedded Network Programming nesC, TinyOS, Networking, Microcontrollers Jonathan Hui University of California, Berkeley.
Sensor Node Architecture Issues Stefan Dulman
Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano.
Introduction to TinyOS. Networking Open Experimental Platform Small microcontroller 8 kB code 512 B data Simple, low-power radio 10 kbps ASK EEPROM (32.
Kumar R., Singhania A., Castner A., Kohler E Proceedings of Design Automation Conference Pages: June /7/13.
Intel ® Research mote Ralph Kling Intel Corporation Research Santa Clara, CA.
Philip Levis UC Berkeley 6/17/20021 Maté: A Tiny Virtual Machine Viral Programs with a Certain Cosmopolitan Charm.
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield.
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
Shahin Farshchi, Member, IEEE, Aleksey Pesterev, Paul Nuyujukian, Eric Guenterberg, Istvan Mody, and Jack W. Judy, Senior Member, IEEE, ” Structure of.
April 15, 2005TinyOS: A Component Based OSPage 1 of 27 TinyOS A Component-Based Operating System for Networked Embedded Systems Tom Bush Graduate College.
1 An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks The First ACM Conference on Embedded Networked Sensor Systems (SenSys 2003) November.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Extensibility, Safety and Performance in the SPIN Operating System Ashwini Kulkarni Operating Systems Winter 2006.
Chapter 4: Operating Systems. 2 Fundamentals of Wireless Sensor Networks: Theory and Practice Waltenegus Dargie and Christian Poellabauer © 2010 Outline.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Institut for Technical Informatics 1 Thomas Trathnigg Towards Runtime Support for Energy Awareness in WSNs Towards Runtime Support for Energy Awareness.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
1 Efficient Type and Memory Safety for Tiny Embedded Systems John Regehr Nathan Cooprider Will Archer Eric Eide University of Utah School of Computing.
1 XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Network Applications Presenter: James D. Lymberopoulos, A. Savvides.
A Programmable Processing Array Architecture Supporting Dynamic Task Scheduling and Module-Level Prefetching Junghee Lee *, Hyung Gyu Lee *, Soonhoi Ha.
Korea Advanced Institute of Science and Technology Active Sensor Networks(Mate) (Published by Philip Levis, David Gay, and David Culler in NSDI 2005) 11/11/09.
IntroductionRelated work 2 Contents Publish/Subscribe middleware Conclusion and Future works.
CS542 Seminar – Sensor OS A Virtual Machine For Sensor Networks Oct. 28, 2009 Seok Kim Eugene Seo R. Muller, G. Alonso, and D. Kossmann.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Mate: A Tiny Virtual Machine for Sensor Networks Phil Levis and David Culler Presented by Andrew Chien CSE 291 Chien April 22, 2003 (slides courtesy, Phil.
Software Based Memory Protection For Sensor Nodes Ram Kumar, Eddie Kohler, Mani Srivastava CENS Technical Seminar Series.
Simulation of Distributed Application and Protocols using TOSSIM Valliappan Annamalai.
Simon Han – Ram Kumar Rengaswamy – Roy Shea – Mani Srivastava – Eddie Kohler –
System Architecture of Sensor Network Processors Alan Pilecki.
A summary by Nick Rayner for PSU CS533, Spring 2006
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Justin. Outline  Introduction  The Challenge of Preemption  TOSThreads Architecture  Implementation  Evaluation.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
A Biologically-Inspired Approach to Designing Wireless Sensor Networks Matthew Britton, Venus Shum, Lionel Sacks and Hamed Haddadi The University College.
A Dynamic Operating System for Sensor Nodes Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, Mani, Srivastava, MobiSys ‘05 Oct., 2009 발표자 : 김영선, 윤상열.
MIDORI The Windows Killer!! by- Sagar R. Yeole Under the guidance of- Prof. T. A. Chavan.
Link Layer Support for Unified Radio Power Management in Wireless Sensor Networks IPSN 2007 Kevin Klues, Guoliang Xing and Chenyang Lu Database Lab.
System Architecture Directions for Networked Sensors.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
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.
Simulation of Distributed Application and Protocols using TOSSIM
Real-time Software Design
Subject Name: Embedded system Design Subject Code: 10EC74
Chapter 4: Operating Systems
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Presentation transcript:

A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005) Authors:Simon Han, Ram Kumar, Roy Shea, Eddie Kohler and Mani Srivastava Presented by Yoonjae Jeong and Sunjun Kim October 12,

Contents Introduction System Architecture PROS vs. CONS PROS (including Evaluation) Conclusion October 12,

Introduction The Characteristics Low-power, poor performance device Ex) AtMega128 – 128Kb Flash, 4K SRAM, 10Mhz In-situ update Need to be re-programmed during use Tradeoff between flexibility & Concise update Robustness Need to deal with various failures * failures examples: - function call during module update(or after module removal) - Memory curruptions October 12,

Introduction Base Work TinyOS – Application specific OS App, OS, and drivers are NesC components, are integrated in single static binary Statically analyze and optimized Supports full binary upgrades Maté Domain specific bytecode interpreter on TinyOS Programs are small scripts containing VM instructions Better suited for application specific tuning October 12,

Introduction SOS Design Goals A general-purpose, application independent sensor OS In TinyOS and Maté, app and OS are tightly linked Towards traditional kernel space/user space model Re-programming via binary modules Risk : lose safety provided by static analysis or dynamic interpreter Design Challenges Resources-constrained embedded sensor nodes October 12,

System Architecture Architecture Overview October 12, Dynamic Memory Dynamic Memory Message Scheduler Message Scheduler Dynamic Linker Dynamic Linker Kernel Components Sensor Manager Sensor Manager Messaging I/O Messaging I/O System Timer System Timer SOS Services Radio* I2C ADC* Device Drivers Tree Routing Module Tree Routing Module Data Collector Application Data Collector Application Photo-sensor Module Photo-sensor Module Dynamically Loaded modules Static SOS Kernel * - Drivers adapted from TinyOS for Mica2

System Architecture SOS Kernel Kernel Components Dynamic memory Dynamic Linker Message Scheduler SOS Services Sensor Manager System Timer Messaging I/O Device drivers October 12,

System Architecture SOS Module Modules implement specific function or task Modules can be dynamically loaded and unloaded Position independent binary Modules can communicate with other modules or kernel with messaging or dynamic linking October 12,

System Architecture Inter-module Communication Dynamic Linking Synchronous Should return promptly Message Passing Asynchronous Long running operations October 12, Module Function Pointer Table Dynamic Linking Module A Module B Message Passing Message Buffer Module A Module B

System Architecture Inter-module Communication ( detail ) Dynamic Linking Each module publishes their function address FCB(Function Control Block) in kernel stores published function information FCB subscribes functions to other modules Message Passing Each message is stored in priority message queue No dynamic priority assign/change: - programmer should set the priority when they send a message Messages can carry parameters, or more complex data between modules October 12,

System Architecture Module-Kernel Communication October 12, Kernel services available as system calls Jump table redirects system calls to handlers Update kernel independent of modules System Call Overhead - 12 clock cycles Data Collector Module System Jump table Priority Scheduler SOS Kernel Hardware System Call HW specific APIInterrupt Service System Messages

System Architecture Safety Concerns Dynamic Linking Run-time type checking Message passing Watchdog support High priority messaging (by priority queue) Dynamic Memory Allocation Memory overflow detection Owner tagging Garbage Collection October 12,

PROS vs. CONS Brief Analysis (1/2) PROS Well motivated and constructed paper in term of system architecture. SOS provides a framework for reusable binary modular architecture in sensor network operation system. SOS shows not-bad performance in term of CPU overhead, code size and energy consumption, while their framework provides more functionalities. October 12,

PROS vs. CONS Brief Analysis (2/2) CONS Authors did not justify why dynamic modules are important in sensor network operating system well. We needs actually useful application scenarios for sensor network environments. There is no evaluation for the safety. It still contains the limitation of event-driven system. Long-run tasks can reduce the overall system performance. October 12,

PROS (including Evaluation) Contribution of This Paper Framework for binary modular re-programming Dynamic linking Message passing Dynamic memory Inexpensive safety mechanisms for an embedded OS Type safe linking Monitored memory allocation Garbage collecting scheduler and error stub Watchdog mechanism General purpose OS semantics on sensor nodes October 12, What about Performance?

PROS Evaluation Design Goal of SOS Provide general purpose OS semantics Low resource utilization Hypothesis Performance no worse TinyOS Update cost closer to Maté Experiment Setup Surge data collection and tree routing on 3 hop network Low duty cycle application Mica2 motes: AVR 8-bit microcontroller October 12,

PROS Evaluation: Macro Benchmarks Application performance is nearly identical for TinyOS, SOS and Maté October 12, Different Boot Routine Different Protocols for Code Dissemination Fluctuating Wireless Link Quality & Different Code Update Protocols

PROS Evaluation: CPU Overhead CPU Active Time - Metric to measure OS overhead Measured by profiling Surge for 1 min on real nodes Examining the CPU active tie when running Surge on each of SOS, TinyOS, and Maté. SOS has 1% overhead relative to TinyOS Surge has minimal application level processing (“worst” case OS overhead) October 12, TinyOSSOSMaté Percent Active Time4.58 ± 0.02 %4.64 ± 0.08 %5.13 ± 0.02 %

PROS Evaluation: Code Updates October 12,

PROS Possible Applications October 12, Dynamically installing new behavior modules on ragobot Ragobot - Mobile Sensor NodeBuilding Automation Remote operation and management of the sensor network infrastructure Mobile agent applications and a lot more …

Conclusion SOS enables dynamic binary modular upgrades Design choices minimize resource utilization Run-time checks for safe code execution Ported to AVR, ARM, TI MS October 12,