Simon Han – Ram Kumar Rengaswamy – Roy Shea – Mani Srivastava – Eddie Kohler –

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.
Building Sustainable and High Integrity Sensor Networks Ram Kumar and Mani Srivastava NETWORKED AND EMBEDDED SYSTEMS LAB ( Funding.
SOS - Dynamic operating system for sensor networks
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Sensor Network Platforms and Tools
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.
1 Embedded Development and the SOS Operating System (a users perspective) Naim Busek CENS Systems Lab
A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Figure 2.8 Compiler phases Compiling. Figure 2.9 Object module Linking.
Mica: A Wireless Platform for Deeply Embedded Networks Jason Hill and David Culler Presented by Arsalan Tavakoli.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Memory Management 2010.
Generic Sensor Platform for Networked Sensors Haywood Ho.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Processes 1 CS502 Spring 2006 Processes Week 2 – CS 502.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Kumar R., Singhania A., Castner A., Kohler E Proceedings of Design Automation Conference Pages: June /7/13.
Replay Debugging for Distributed Systems Dennis Geels, Gautam Altekar, Ion Stoica, Scott Shenker.
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
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.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
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 XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Network Applications Presenter: James D. Lymberopoulos, A. Savvides.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Software Based Memory Protection For Sensor Nodes Ram Kumar, Eddie Kohler, Mani Srivastava CENS Technical Seminar Series.
Dhanshree Nimje Smita Khartad
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
TMS320 DSP Algorithm Standard: Overview & Rationalization.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Chapter 4 Memory Management Virtual Memory.
Processes Introduction to Operating Systems: Module 3.
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Robust Systems. Faults at James Reserve Faults on a volcano in Ecuador [WLJ + 06]
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
A Dynamic Operating System for Sensor Nodes Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, Mani, Srivastava, MobiSys ‘05 Oct., 2009 발표자 : 김영선, 윤상열.
Full and Para Virtualization
Threads-Process Interaction. CONTENTS  Threads  Process interaction.
System Architecture Directions for Networked Sensors.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Introduction to Operating Systems Concepts
Real-time Software Design
Threads, SMP, and Microkernels
Lecture 4- Threads, SMP, and Microkernels
Chapter 4: Operating Systems
Outline Operating System Organization Operating System Examples
Dynamic Binary Translators and Instrumenters
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:

Simon Han – Ram Kumar Rengaswamy – Roy Shea – Mani Srivastava – Eddie Kohler – New Directions in Sensor Networking with SOS

2 Sustainable software operation Require uninterrupted operation indefinitely Post-deployment software updates are common Customizing the system to the environment Feature upgrades Bug removal Re-tasking of the system Re-programming a deployed system is hard System deployed in inhospitable terrains Contains a large number of nodes Remote reprogramming is essential for sustainability

3 Overview of SOS Architecture Static Kernel Hardware abstraction and common services Costly to modify after deployment Data structures to enable module loading Dynamic Modules Drivers, protocols, and applications Inexpensive to modify after deployment Position independent

4 Dynamic Software Re-Configuration Remotely insert binary modules into running kernel Software reconfiguration without interrupting system operation No stop and re-boot unlike differential patching Superior performance over virtual machines Design Challenges Dealing with severe resource constraints Only 4 KB of RAM and 15 mW of active power consumption Reliable operation of the dynamically evolving system Hardware Abstraction Module Communication Memory Manager Static SOS Kernel Dynamic Loadable Binary Modules Dynamic Loadable Binary Modules

5 Inter-Module Communication Inter-Module Message Passing Asynchronous communication Messages dispatched by a two-level priority scheduler Suited for services with long latency Example: FFT Computation Inter-Module Function Calls Synchronous communication Kernel stores pointers to functions registered by modules Blocking calls with low latency Type-safe runtime function binding Example: Neighbourhood Information Post Message Buffer Module AModule BModule A Module Function Pointer Table Indirect Function Call Module B

6 Module Kernel Interaction Kernel provides system services and access to hardware Kernel jump table re-directs system calls from modules to kernel handlers Upgrade kernel independent of the module Hardware interrupts and messages from the kernel to modules are dispatched through a high priority message buffer Low latency Concurrency safe operation Module A System Jump Table Hardware System Call High Priority Message Buffer HW Specific API Interrupt System Messages SOS Kernel

7 Memory Management Modules need memory to store state information Problems with static allocation Worst case memory allocation – every variable is global Problems with general purpose memory allocation Non-deterministic execution delay Suffers from external fragmentation Use fixed-partition dynamic memory allocation Memory allocated in blocks of fixed sizes Constant allocation time Low overhead Memory management features Guard bytes for run-time memory over-flow checks Ownership tracking of memory blocks Garbage Collection - Automatic free-up upon completion of usage

8 Sensor Manager Enables sharing of sensor data between multiple modules Presents a uniform data access API to many diverse sensors Underlying device specific drivers register with the sensor manager Device specific sensor drivers control Calibration Data interpolation Sensor drivers are loadable Enables post-deployment configuration of sensors Enables hot-swapping of sensors on a running node Periodic Access getData Sensor Manager Module AModule B I2C MagSensor ADC dataReady Signal Data Ready Polled Access

9 Network Simulation Support Source code Level Network Simulation Pthread simulates hardware concurrency UDP simulates perfect radio channel Supports user defined topology and heterogeneous software configuration Useful for verifying the functional correctness Avrora: Instruction Level Simulation Instruction cycle accurate simulation Simple perfect radio channel Useful for verifying timing information See

10 Easily Portable Operating System Supported micro controllers Atmel Atmega128 4 Kb RAM 128 Kb FLASH Oki ARM 32 Kb RAM 256 Kb FLASH Supported Radio Stacks RFM radio stack Chipcon CC1000 stack IEEE MAC Chipcon CC2420 radio MicaZMica2iBadge

11 Programing Networks with SOS Accessible Uses standard C programing language General kernel provides common services Reusable module library jump starts projects Programs created by “wiring” modules together Clean Modules Clean interfaces enhance reusability Simple structure that developers are familiar with

12 SOS Development Cycle Rapid Development and Deployment Bugs fixed after deployment Test and develop in real environment Utilize new resources immediately Refine Test Update Deployment Write Hope Test Deploy Write SOS Other Solutions X

13 Application Level Performance Comparison of application performance in SOS, TinyOS, and MateVM

14 Reconfiguration Performance Even Energy Usage SOS has slightly higher base overhead operating cost TinyOS has significantly higher update cost SOS is more energy efficient when the system is updated one or more times a week Basic optimizations will continue to improve this break even point

15 New Directions Update Deployed Networks Bug fixes Retasking Optimizing Heterogeneity Multiple users Mobile code Module caches Pluggable Modules Module libraries Improved stability Rapid development

16 Conclusions New Architecture for Sensor Networks Eases application development SOS closes and tightens the development cycle SOS opens new domains of sensor networking SOS documentation, tutorials, and source Magnetometer Demo: Utilizing New Resources Ceiling Demo: Bringing a Network to Life