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/09Internet 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 0x00 00000000
1 OPreset 0x01 00000001 clear stack
2 OPand 0x02 00000010 push($0 & $1), 3 OPor 0x03 00000011 push($0 | $1) …
SCLASS
72 OPgetmb 0x48-4f 01001xxx push(byte xxx from msg header)
108 OPsetfs 0x70-77 01110xxx 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 asan interpreter Flexible enough?
25
Internet system technology