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