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.

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

Berkeley dsn declarative sensor networks problem David Chu, Lucian Popa, Arsalan Tavakoli, Joe Hellerstein approach related dsn architecture status  B.
Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Trickle: Code Propagation and Maintenance Neil Patel UC Berkeley David Culler UC Berkeley Scott Shenker UC Berkeley ICSI Philip Levis UC Berkeley.
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
A Dynamic Operating System for Sensor Nodes (SOS) Source:The 3 rd International Conference on Mobile Systems, Applications, and Service (MobiSys 2005)
TOSSIM A simulator for TinyOS Presented at SenSys 2003 Presented by : Bhavana Presented by : Bhavana 16 th March, 2005.
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Bridging the Gap Philip Levis, UC Berkeley David Gay, Intel Research Berkeley David Culler, UC Berkeley Programming Sensor Networks with Application Specific.
How to Code on TinyOS Xufei Mao Advisor: Dr. Xiang-yang Li CS Dept. IIT.
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.
Sample Project Ideas KD Kang. Project Idea 1: Real-time task scheduling in TinyOS EDF in TinyOS 2.x –Description is available at
CS 104 Introduction to Computer Science and Graphics Problems
Incremental Network Programming for Wireless Sensors IEEE SECON 2004 Jaein Jeong and David Culler UC Berkeley, EECS.
OS Spring’03 Introduction Operating Systems Spring 2003.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
Maté: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Michele Romano.
Versatile low power media access for wireless sensor networks Joseph PolastreJason HillDavid Culler Computer Science Department University of California,Berkeley.
Philip Levis UC Berkeley 6/17/20021 Maté: A Tiny Virtual Machine Viral Programs with a Certain Cosmopolitan Charm.
A Parallel, Real-Time Garbage Collector Author: Perry Cheng, Guy E. Blelloch Presenter: Jun Tao.
Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Operating Systems: Internals and Design Principles.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
Evolution of Microcontroller Firmware Development David Benjamin.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
April 15, 2005TinyOS: A Component Based OSPage 1 of 27 TinyOS A Component-Based Operating System for Networked Embedded Systems Tom Bush Graduate College.
Silberschatz, Galvin and Gagne ©2011Operating System Concepts Essentials – 8 th Edition Chapter 4: Threads.
TinyOS By Morgan Leider CS 411 with Mike Rowe with Mike Rowe.
Mate: A Tiny Virtual Machine for Sensor Networks Presented by: Mohammad Kazem Ghaforian Mazandaran University of Scince & Technology.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Mate: A Tiny Virtual Machine for Sensor Networks Philip Levis and David Culler Presented by: Damon Jo.
Fall 2012 Chapter 2: x86 Processor Architecture. Irvine, Kip R. Assembly Language for x86 Processors 6/e, Chapter Overview General Concepts IA-32.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
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.
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.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
이상훈, 허 윤 (Dept. of CS) René Müller, Gustavo Alonso, Donald Kossmann, “A virtual machine for sensor networks”, ACM SIGOPS Operating Systems Review, v.41.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
A summary by Nick Rayner for PSU CS533, Spring 2006
EXTENSIBILITY, SAFETY AND PERFORMANCE IN THE SPIN OPERATING SYSTEM
Main Issues Three major issues that we are concerned with in sensor networks are – Clustering Routing and Security To be considered against the backdrop.
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
A Dynamic Operating System for Sensor Nodes Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, Mani, Srivastava, MobiSys ‘05 Oct., 2009 발표자 : 김영선, 윤상열.
Fuzzy Data Collection in Sensor Networks Lee Cranford Marguerite Doman July 27, 2006.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Link Layer Support for Unified Radio Power Management in Wireless Sensor Networks IPSN 2007 Kevin Klues, Guoliang Xing and Chenyang Lu Database Lab.
Energy-Efficient Randomized Switching for Maximizing Lifetime in Tree- Based Wireless Sensor Networks Sk Kajal Arefin Imon, Adnan Khan, Mario Di Francesco,
System Architecture Directions for Networked Sensors.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Introduction to operating systems What is an operating system? An operating system is a program that, from a programmer’s perspective, adds a variety of.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Introduction to Operating Systems Concepts
CE 454 Computer Architecture
Process Management Process Concept Why only the global variables?
Operating System for Sensor Network
Data Collection and Dissemination
CS490 Windows Internals Quiz 2 09/27/2013.
Hierarchical Architecture
Real-time Software Design
Trickle: Code Propagation and Maintenance
Page Replacement.
Main Memory Background Swapping Contiguous Allocation Paging
Virtual Memory: Working Sets
Overview: Active Sensor networks
COMP755 Advanced Operating Systems
Modeling Event-Based Systems in Ptolemy II EE249 Project Status Report
Presentation transcript:

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 Internet System technology Kim Young-Sun, Choi Sun-Tae Internet system technology

Table of Content  Introduction  Background  Design  Evaluation  Pros and Cons 2 Internet system technology

3 Introduction  Wireless sensor networks have limited resources and tight energy budgets.  These constraints make in-network processing a prerequisite for scalable and long-lived applications.  as sensor networks are embedded in uncontrolled environments, a user often does not know exactly what the sensor data will look like, and so must be able to reprogram sensor network nodes after deployment. ※ This paper propose using application specific virtual machines (ASVMs) to reprogram deployed wireless sensor networks Internet system technology

Background(Requirement)  Requirement extraction from Maté v1.0  Flexibility : Mat é VM : Very concise programs, but is designed for a single application domain. To provide support for in- network processing, a runtime must be flexible enough to be customized to a wide range of application domains.  Concurrency : Limited resources and a constrained application domain allowed Mate to address the corresponding synchronization and atomicity issues by only having a single shared variable. This restriction is not suitable for all VMs. 4 Internet system technology

Background(Requirement)  Propagation : As every handler could fit in a single packet, these instructions were just a simple broadcast. it requires every program to include propagation algorithms. As not all programming models can fit their programs in a single packet, a runtime needs to be able to handle larger data images and should provide an efficient but rapid propagation service.  To provide useful systems support for a wide range of programming models, a runtime must meet these three requirements without imposing a large energy burden. 5 Internet system technology

Background(Mate)  Maté v1.0 - Architecture 6 Internet system technology

Background(Mate)  Maté v1.0 - instructions  0 OPhalt 0x  1 OPreset 0x clear stack  2 OPand 0x push($0 & $1), 3 OPor 0x push($0 | $1) … SCLASS  72 OPgetmb 0x48-4f 01001xxx push(byte xxx from msg header)  108 OPsetfs 0x xxx short xxx of frame = $0 … XCLASS  128 OPpushc 0x80-bf 10xxxxxx push(xxxxxx) (unsigned)  192 OPblez 0xC0-ff 11xxxxxx if ($0 <= 0) jump xxxxxx 7 Internet system technology

Design  ASVMs have three major abstractions.  Handlers : Code routines that run in response to system events  Operations : The units of execution functionality  Capsules : The units of code propagation 8 Internet system technology

Design  The components of an ASVM.  Template : Which every ASVM includes - Scheduler : executes runnable threads in a FIFO round-robin fashion - Concurrency manager : controls what Threads are runnable, ensuring race-free and deadlock-free handler execution - Capsule store : manages code storage and loading, propagating code capsules and notifying the ASVM when new code arrives  Extensions : The application-specific components that define a particular ASVM 9 Internet system technology

Design  Scheduler : Execution  The core of an ASVM : a simple FIFO thread scheduler.  Maintains a run queue.  Interleaves execution at a very fine granularity.  Executes a thread by fetching its next bytecode from the capsule store.  Dispatching to the corresponding operation component through a nesC parameterized interface. 10 Internet system technology

Design  Concurrency Manager : Parallelism  The concurrency manager of the ASVM template supports race free execution through implicit synchronization based on a handler’s operation.  When a handler event occurs, the handler’s implementation submits a run request to the concurrency manager.  The concurrency manager only allows a handler to run if it can exclusively access all of the shared resources it needs. 11 Internet system technology

Design  Capsule Store: Propagation  ASVM template’s capsule store follows a policy of propagating new code to every node. (Rather than selective propagation) but only some nodes execute it.  To propagate code,capsule store maintains three network trickles - Version packets, which contain the 32-bit version numbers of all installed capsules, - Capsule status packets, which describe what fragments a mote needs (essentially, a bitmask) - Capsule fragments, which are pieces of a capsule. 12 Internet system technology

Design  Building an ASVM 13 Internet system technology

Evaluation  Concurrency  Propagation  Flexibility: Languages  Flexibility: Applications  Efficiency: Microbenchmarks  Efficiency: Application  Efficiency: Interpretation 14 Internet system technology

Evaluation  Concurrency  measured the overhead of ASVM concurrency control, using the cycle counter of a mica mote. 15 Internet system technology

Evaluation  Propagation 16 Internet system technology

Evaluation  Flexibility: Languages  Support three languages TinyScript Mottle TinySQL 17 Internet system technology

Evaluation  Flexibility: Applications  Specific sample ASVMs RegionsVM QueryVM 18 Internet system technology

Evaluation  Efficiency: Microbenchmarks  Tradeoff between including functions and writing operations in script code… operations are powerful but what about energy efficient? 19 Internet system technology

Evaluation  Efficiency: Application  QueryVM motlle-based ASVM execution of TinySQL data collection queries. 20 Internet system technology

Evaluation  Efficiency: Application 21 Internet system technology

Evaluation  Efficiency: Interpretation 22 Internet system technology

Evaluation(Pros)  Performance  Low power consumption very efficient propagation can be optimized in specific condition  Developer's view  an ASVM would be a component in TinyOS When a developer has to choose an OS for WSN… Choose TinyOS and utilize an ASVM for functions need to be update frequently 23 Internet system technology

Evaluation(Cons)  Approach  Extend and generalize prior work (Maté) Maintain basic characteristics of prior work Impact and influence could be restricted  Performance  High-level abstraction might not be helpful to implement complex algorithms  Would be appropriated for specific situations Updates occur frequently Long term, low-duty-cycle data collection 24 Internet system technology

Evaluation(Cons)  Flexibility  Application level propagation is very concise. But, we cannot update low level binaries such as an interpreter Flexible enough? 25 Internet system technology