Download presentation
Presentation is loading. Please wait.
Published byVance Grange Modified over 9 years ago
1
declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007
2
context Leach's Storm Petrel Sensor Networks 10’s – 100’s – 1000’s – 10,000’s
3
context Sensor Networks early experiences
4
motivation programming sensor networks is difficult! building entire sensor systems is even harder!!
5
inspiration data management network design s e n s o r n e t w o r k s
6
inspiration : data management declarative is widely used in data management –relational databases –spreadsheets –abstract “what” from “how” (Sensor-Network-As-Database)
7
inspiration : network design declarative is new idea in networking –compact –flexible –analyzable, optimizable –Internet Routing, Overlays built declaratively (the P2 project)
8
inspiration data management network design s e n s o r n e t w o r k s ( DSN )
9
what we did adapted declarative language built compiler & runtime for sensornets wrote declarative examples
10
P. Levis, N. Patel, D. Culler, S. Shenker. "Trickle: A Self- Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks." NSDI 2004. … from original Trickle paper… DSN specification 10x6 topology 30x2 topology
11
agenda 1.language overview 2.declarative sensornet examples 3.system architecture 4.feasibility assessment 5.application to landslide detection
12
brief language overview Rule2: Fact: Rule1: join don’t care Built-ins: implies
13
a full example : tree D S C D Z C2 S C1
14
second example : multi-hop collection
15
and others… geographic routing* tracking localization link estimator *fallback routing not shown
16
arch : compiler Network support Generated nesC code store(…) :- prod(…), cons(…). … path(…) :- link(…), dest(…). … Binary Image Snlog Compiler/Optimizer Snlog Program GenericPredicateTemplate … nesC Templates nesC Backend Execution Planner Snlog Frontend nesC Compiler Built-in Predicates Type system Database Operators Runtime Components RuntimeTemplate … DSN Runtime Support
17
arch : runtime the network Join Proj tupleready Join Agg Proj Sel table (compiler generated) builtin (user’s library) database operators (compiler’s library) push interfaces pull interfaces thread of control event signal SelAg Proj ……… …… … … runtime daemon mac daemon tupleready sendready tupleready sendready
18
implementation challenges predictable execution → dynamic vs. static allocation memory constraints → memory footprint optimizations no temporary tables, join/agg operator choice asynchrony → rule-level atomicity priorities
19
evaluation
20
evaluating tree-collection messages sent hop-counts (similar performance)
21
evaluating trickle (similar performance)
22
lines of code
23
compiled size TelosB mote code space = 48KB, data space = 10KB
24
VLDB 2006 demo
25
current efforts energy-based optimization –send or store language semantics clarity –non-monotonic logic
26
conclusion sensor networks → data + communication several examples of functional programs feasible for today’s hardware platforms preparing for landslide deployment
27
thanks collaborators Joe Hellerstein, Scott Shenker, Ion Stoica Arsalan Tavakoli, Lucian Popa Phil Levis
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.