dsn declarative sensor networks - PowerPoint PPT Presentation

1 / 1
About This Presentation
Title:

dsn declarative sensor networks

Description:

B. T. Loo, et al.'s P2 and Declarative Networking Project. TinyDB, SNACK, Mate, ... Evaluating against hand-tuned nesC and declarative TinyDB ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 2
Provided by: aitrcK
Category:

less

Transcript and Presenter's Notes

Title: dsn declarative sensor networks


1
dsndeclarative sensor networks
32nd VLDB12-15 September 2006Seoul, Korea
David Chu, Lucian Popa, Arsalan Tavakoli, Joe
Hellerstein
problem
approach
the central process of the sensor network is to
manage the generation, transformation and
movement of data use snlog, a deductive
declarative query language, as the systems
language for sensor networks.
Spectrum of sensor network programming systems
nes C Flexible - Dangerous - Global behavior
unclear - Not amenable to global optimizations
TinyDB Easy to use Safe - Lacks expressiveness
  • Benefits
  • Concise powerful description of the entire
    system stack
  • Many additional benefits (see what is snlog
    below)
  • Questions
  • Can we provide an energy- and resource-efficient
    runtime?
  • Is it hard to program declaratively?

Can we simultaneously capture the benefits of
both high low level languages for building
sensor network systems?
what is snlog?
  • Example snlog App
  • Combination of
  • rules (CL1)
  • facts (CL2-CL4)
  • queries (Query)
  • Why snlog?
  • Data manipulation is central to sensor networks
  • Concise declarations for rapid development
  • Type safety, yet very flexible.

version coherency protocol
routing tree protocol
VC store(_at_X,Oid,Obj,V2) - store(_at_X,Oid,Obj,V1),
store(_at_Y,Oid,Obj,V2), V2 gt V1, refreshEvent(_at_X),
link(_at_X,Y,C). ALTERNATIVE VC1
compare(_at_X,Y,Oid,V1,V2) - refreshEvent(_at_X),
link(_at_X,Y,C), version(_at_X,Oid,V1),
version(_at_Y,Oid,V2). VC2 request(_at_X,Y,Oid,V1,V2)
- compare(_at_X,Y,Oid,V1,V2), V1ltV2. VC3
response(_at_X,Y,Oid,V1,V2) - compare(_at_X,Y,Oid,V1,V2
), V1gtV2. VC4 request(_at_Y,X,Oid,V2,V1) -
response(_at_X,Y,Oid,V1,V2). VC5
store(_at_Y,Oid,Obj,V2) - request(_at_Y,X,Oid,V1,V2),
store(_at_X,Oid,Obj,V2). VC6 version(_at_X,Oid,V1) -
store(_at_X,Oid,Obj,V1) Query store(_at_X,Oid,Obj,V).
More Examples
TR1 path(_at_S,D,D,C) - dest(D),
link(_at_S,D,C). TR2 path(_at_S,D,Z,C) - dest(D),
link(_at_S,Z,C1), path(_at_Z,D,W,C2), CC1C2. TR3
shortestcost(_at_S,D,minltCgt) - path(_at_S,D,Z,C). TR4
nextHop(_at_S,D,Z,C) - shortestcost(_at_S,D,C),
path(_at_S,D,Z,C). TR5 dest(base). Query
nextHop(S,D,Z,C).
  • Distributed algorithms (networking, localization,
    tracking etc.) naturally deductive
  • Independence from hardware platform changes
  • Organized data storage (e.g. flash) is natural
  • Straightforward support for events
  • Easily add new sensors as predicates
  • Amenable to cross-layer and cross-node
    optimizations

store() facts and 3 refreshEvent() rules not shown
dsn architecture
From declaration to runtime
snlog compiler/optimizer
snlog program
Join
Join
Proj
path() - link(), dest(),
runtime daemon
tupleready
store() - prod(), cons(),








in-flight tuple

Sel
Ag
Proj
tupleready
sendready

runtime libraries
tupleready
optimized system stack
  • Key systems challenges
  • Memory vs. processor optimizations
  • Runtime code/data size efficiency
  • Execution plan representation

mac daemon
binary image


the network
  • Asynchronous component communication model
  • Heterogeneous network interoperability
  • Systems layering and abstractions support
  • Broadcast support, semantics and optimizations
  • Declarative control of timinig, power management,
    etc.

status
  • Apps Tracking, Trickle, Tree Collection,
    Dissemination
  • Primary predicates Timers, LEDs, Link Tables,
    Internal Temperature
  • Evaluating against hand-tuned nesC and
    declarative TinyDB
  • Adding more compiler optimizations to better use
    resources
  • Thanks to Phil Levis, Scott Shenker, Ion Stoica

related
  • B. T. Loo, et al.s P2 and Declarative Networking
    Project
  • TinyDB, SNACK, Mate,
Write a Comment
User Comments (0)
About PowerShow.com