Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano.

Slides:



Advertisements
Similar presentations
How to use TinyOS Jason Hill Rob Szewczyk Alec Woo David Culler An event based execution environment for Networked Sensors.
Advertisements

Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,
Decentralized Reactive Clustering in Sensor Networks Yingyue Xu April 26, 2015.
GRS: The Green, Reliability, and Security of Emerging Machine to Machine Communications Rongxing Lu, Xu Li, Xiaohui Liang, Xuemin (Sherman) Shen, and Xiaodong.
An introduction to: The uRT51 Microprocessor and Real-Time Programming Suite.
Trickle: Code Propagation and Maintenance Neil Patel UC Berkeley David Culler UC Berkeley Scott Shenker UC Berkeley ICSI Philip Levis UC Berkeley.
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM B. Bershad, S. Savage, P. Pardyak, E. G. Sirer, D. Becker, M. Fiuczynski, C. Chambers,
Sensor Network Platforms and Tools
Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University.
S-MAC Sensor Medium Access Control Protocol An Energy Efficient MAC protocol for Wireless Sensor Networks.
A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)
What is a Wireless Sensor Network (WSN)? An autonomous, ad hoc system consisting of a collective of networked sensor nodes designed to intercommunicate.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
How to Code on TinyOS Xufei Mao Advisor: Dr. Xiang-yang Li CS Dept. IIT.
Network Reprogramming & Programming Abstractions.
Reconfigurable Sensor Networks Chris Elliott Honours in Digital Systems Charles Greif and Nandita Bhattacharjee.
Generic Sensor Platform for Networked Sensors Haywood Ho.
Virtual Machines Measure Up John Staton Karsten Steinhaeuser University of Notre Dame December 15, 2005 Graduate Operating Systems, Fall 2005 Final Project.
Generic Sensor Platform for Networked Sensors Haywood Ho.
TinyOS Software Engineering Sensor Networks for the Masses.
2008EECS Embedded Network Programming nesC, TinyOS, Networking, Microcontrollers Jonathan Hui University of California, Berkeley.
TOSSIM: Visualizing the Real World Philip Levis, Nelson Lee, Dennis Chi and David Culler UC Berkeley NEST Retreat, January 2003.
Philip Levis UC Berkeley 6/17/20021 Maté: A Tiny Virtual Machine Viral Programs with a Certain Cosmopolitan Charm.
Sensor Network Simulation Simulators and Testbeds Jaehoon Kim Jeeyoung Kim Sungwook Moon.
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Low-Power Wireless Sensor Networks
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Mate: A Tiny Virtual Machine for Sensor Networks Presented by: Mohammad Kazem Ghaforian Mazandaran University of Scince & Technology.
Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications Chien-Liang Fok, Gruia-Catalin Roman, Chenyang Lu
Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Damon Jo.
Sensor Database System Sultan Alhazmi
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.
TRICKLE: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks Philip Levis, Neil Patel, Scott Shenker and David.
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.
Wireless Sensor Networks for Habitat Monitoring Intel Research Lab EECS UC at Berkeley College of the Atlantic.
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.
Constructing Services with Interposable Virtual Hardware Author: Andrew Whitaker, Richard S. Cox, Marianne Shaw, and Steven D. Gribble Presenter: Huajing.
Simulation of Distributed Application and Protocols using TOSSIM Valliappan Annamalai.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
EE-194 Wireless InterNetworking Jean Whitehead. Project #2 Goal: Develop a multi-player game for deployment on mobile devices. Mobile devices, very small.
A Dynamic Operating System for Sensor Nodes Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, Mani, Srivastava, MobiSys ‘05 Oct., 2009 발표자 : 김영선, 윤상열.
The Network Architecture of the Connection Machine CM-5 Charles E. Leiserson et al (Thinking Machines Corporation) Presented by Eric Carty-Fickes 1/28/04.
TinySec: A Link Layer Security Architecture for Wireless Sensor Networks Seetha Manickam Modified by Sarjana Singh.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Speaker: hsiwei Wei Ye, John Heidemann and Deborah Estrin. IEEE INFOCOM 2002 Page
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
System Architecture Directions for Networked Sensors.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Testing and Verifiation of Kmote using Tiny OS Manish Aggarwal Guide :- Proff Purushottam K.
Introduction to Operating Systems
Ultra-Low-Power Sensor Nodes Featuring a Virtual Runtime Environment
CS490 Windows Internals Quiz 2 09/27/2013.
Xen: The Art of Virtualization
Trickle: Code Propagation and Maintenance
Introduction to Operating Systems
REED : Robust, Efficient Filtering and Event Detection
Xen and the Art of Virtualization
Overview: Active Sensor networks
Presentation transcript:

Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano

Outline Sensor Networks Virtual Machines Maté Details Evaluation Conclusion

Sensor Networks Composed of 1000’s of tiny devices (Motes) with limited resources

Berkeley Mote Specifications

TinyOS OS designed for sensor networks Split-phase non-blocking execution Not suited well to non-expert programmers

Reprogramming Motes Reprogramming is desirable as: Environmental conditions change Analysis techniques evolve Examples: Great Duck Island Building instrumentation

Reprogramming Motes To change the behaviour of a TinyOS program, either: 1. Hardcode a state transition OR 2. Modify source code, recompile a TinyOS image and place image on mote

Sensor Networks Challenges Energy –Recharging is difficult or impossible –Deterministic network lifetime desirable Communication –Lossy wireless networks –Bandwidth conservation Programming –Motes unreachable in deployed networks –Difficult for a non-programmer to program TinyOS

System Requirements Small Expressive Concise Resilient Efficient Tailorable Simple

Virtual Machine Easier programming Short VM programs A VM can provide a safe program execution environment

Maté VM Overview Bytecode interpreter that runs on TinyOS Single TinyOS component that sits on top of several system components Code fits in capsules of 24 instructions Built-in ad-hoc routing algorithm AND mechanisms for writing new ones

Code Capsules There are four types of capsules –Message send capsules –Message receive capsules –Timer capsules –Subroutine capsules

Maté Architecture

Instruction Set There are three classes of Maté instructions: 8 instructions reserved for users to define basic00iiiiiii = instruction s-class01iiixxxi = instruction, x=argument x-class1ixxxxxxi = instruction, x=argument

Code Execution Execution of code begins in response to an event These three contexts can run concurrently Each instruction is executed as a TinyOS task

Code Security Bound checks prevent overrun and underrun Heap addressing is not a problem because there is only a single shared variable Unrecognized instructions result in no- ops

Code Infection Reprogramming is easy: Each capsule contains a type and version number When a capsule with a more recent version is received, it is installed forw or forwo is used to broadcast the capsule for network neighbours to install

Maté Evaluation Ad-hoc routing algorithm was implemented to measure: 1.Rate of instruction 2.CPU overhead 3.Network infection rates

1. Rate of InstructionTest Maté Bytecode vs. Native Code OperationMaté Clock CyclesNative Clock CyclesCost Simple: and :1 Downcall: rand :1 Quick Split: sense :1 Long Split: sendr685+~20000~ :1

2. CPU Overhead Given the energy cost of an execution and the energy cost of installation: –Mate is preferable for a small number of executions –For large number of executions, Native code is preferable

3. Network Infection Percentage of Motes Running New Program Over Time

Case Study Great Duck Island Application Spends most of its time in deep sleep mode – draws 50 μA Reads several sensors and sends a packet Maté proves to save energy if only run for 5 days or less

Conclusion Maté met all of the defined requirements Maté can conserve energy in domains of frequent reprogramming VM can provide user-land guarantees

References rch/mate.htmlhttp:// rch/mate.html brown-7-02.pdfhttp:// brown-7-02.pdf cs851/mate_damon_jo.ppthttp:// cs851/mate_damon_jo.ppt