Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch...

25
declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007

Transcript of Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch...

Page 1: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

declarativesensor networks

David ChuComputer Science DivisionEECS DepartmentUC Berkeley

DBLunchUC Berkeley

2 March 2007

Page 2: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

context

Leach's Storm Petrel

Sensor Networks 10’s – 100’s – 1000’s – 10,000’s

Page 3: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

contextSensor Networks early experiences

Page 4: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

motivation

programming sensor networks is difficult!

building entire sensor systems is even harder!!

Page 5: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

inspiration

data management network design

s e n s o r n e t w o r k s

Page 6: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

inspiration : data management• declarative is widely used in data

management– relational databases– spreadsheets– abstract “what” from “how”

• (Sensor-Network-As-Database)

Page 7: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

inspiration : network design• declarative is new idea in networking

– compact– flexible– analyzable, optimizable– Internet Routing, Overlays built declaratively

• (the P2 project)

Page 8: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

inspiration

data management network design

s e n s o r n e t w o r k s

( DSN )

Page 9: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

what we did

• adapted declarative language

• built compiler & runtime for sensornets

• wrote declarative examples

Page 10: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

… from original Trickle paper … DSN specification

10x6 topology

30x2 topology

Page 11: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

agenda

1. language overview

2. declarative sensornet examples

3. system architecture

4. feasibility assessment

5. application to landslide detection

Page 12: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

brief language overview

Rule2:

Fact:

Rule1:

join don’t care

Built-ins:

implies

Page 13: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

a full example : tree

D

S

C

D

Z

C2

SC1

Page 14: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

and others…

geographic routing* tracking localization link estimator

*fallback routing not shown

Page 15: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

arch : compiler

Network support

Generated nesC code

store(…) :- prod(…), cons(…). … path(…) :- link(…), dest(…).…

Binary Image

Snlog Compiler/OptimizerSnlog

Program

GenericPredicateTemplate……

nesCTemplates

nesC Backend

Execution Planner

Snlog Frontend

nesC Compiler

Built-in Predicates

Type system

Database Operators

RuntimeComponents

RuntimeTemplate……

DSN Runtime Support

Page 16: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

arch : runtime

the network

Join Join Proj

tupleready

Join AggProj Sel

table(compiler generated)

builtin(user’s library)

database operators(compiler’s library)

push interfaces

pull interfaces

thread of control

event signal

Sel Ag Proj

… … …

… …

… …

runtimedaemon

mac daemon

tupleready

tuplereadysendready

tupleready sendready

Page 17: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

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

Page 18: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

evaluation

Page 19: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

evaluating tree-collection

messages sent

hop-counts

(similar performance)

Page 20: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

lines of code

Page 21: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

compiled size

TelosB mote code space = 48KB, data space = 10KB

Page 22: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

VLDB 2006 demo

Page 23: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

current efforts

• energy-based optimization– send or store

• language semantics clarity– non-monotonic logic

Page 24: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

conclusion

• sensor networks→ data + communication

• several examples of functional programs

• feasible for today’s hardware platforms

• preparing for landslide deployment

Page 25: Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.

thanks

collaborators

Joe Hellerstein, Scott Shenker, Ion Stoica

Arsalan Tavakoli, Lucian Popa

Phil Levis