240 likes | 382 Views
iCAST / TRUST Collaboration. A Declarative Sensor Network Architecture. Presenter : David Chu 2007 June 5. i CAST. Leach's Storm Petrel. context. Sensor Networks 10’s – 100’s – 1000’s – 10,000’s. motivation. programming sensor networks is difficult!.
E N D
iCAST / TRUSTCollaboration A Declarative Sensor Network Architecture Presenter:David Chu2007 June 5 iCAST
Leach's Storm Petrel context Sensor Networks 10’s – 100’s – 1000’s – 10,000’s
motivation programming sensor networks is difficult! building entire sensor systems is even harder!!
inspiration s e n s o rn e t w o r k s network design data management
inspiration : data management • declarative is widely used in data management • relational databases • spreadsheets • abstract “what” from “how” • (Sensor-Network-As-Database)
inspiration : network design • declarative is new idea in networking • compact • flexible • analyzable, optimizable • Internet Routing, Overlays built declaratively • (the P2 project)
inspiration s e n s o rn e t w o r k s ( DSN ) network design data management
what we did • adapted declarative language • built compiler & runtime for sensornets • wrote declarative examples
working programs geographic routing tracking localization link estimator multi-hop collection tree routing
10x6 topology 30x2 topology … from original Trickle paper … DSN specification P. Levis, N. Patel, D. Culler, S. Shenker. "Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks." NSDI 2004.
Day Fire Harvard Burn Site application deployment (underway) [Above] The locations of the 2005-2006 and 2006-2007 debris flow deployment sites. [Top Right] Smoke from the Day Fire. [Middle Right] Recently burned hillside in Burbank, CA was the site of two debris flows in 2005-2006 Winter season. [Bottom Right] Base of the channel after debris flow with remaining sediment. [Bottom Left] Burn-resilient vegetation is quickly recovering just a few months after the fires and debris flows.
how much declarative? experiences thus far and current work
a declarative architecture • why rethink the architecture? • disparate application requirements • breaking of traditional abstraction boundaries • what are the implications? • architectural flexibility is essential • put resource management in user’s hands
architectural flexibility • dsn can… • describe entire system stack • application + network + mac layers • naturally expose abstractions • freely mix and match with outside libraries
resource management • memory • processor • energy
implications of declarative • concise, intuitive programming • 1 specification, N possible execution plans ü ?
distributed protocol state Client State Shared State Server State
a typical protocol ? ? Client control block ? ? ? Server control block ? ? Shared variables
state proxy All nodes involved in a distributed protocol (client, server and nodes along path) . . . client server comm cost similar to database partitioning and normalization problems! storage cost
routing layer state proxying distance vector routing source route to D C: D via D C: D via D A: D via B B: D via C C A B D Sensornet Internet nexthop forwarding table
conclusion • sensor networks → data + communication • programs work just as well with lines of code • + architectural flexibility + resource management • toward automated system optimizations
thanks collaborators Joe Hellerstein, Scott Shenker, Ion Stoica Arsalan Tavakoli, Lucian Popa Tsung-Te Lai Phil Levis, Jung Woo Lee, Aby John Daniel Malmon
trade-offs • the declarative approach • doesn’t outperform hand-tuned • no real-time guarantees • implementation limitations • only P (not NP) programs • handling opaque data objects