1 / 86

optimizing heterogeneous networks

optimizing heterogeneous networks. David Chu Computer Science Division EECS Department UC Berkeley. Qualifying Exam UC Berkeley 16 October 2007. can a declarative approach help us cope with heterogeneous networks?. optimizing for adaptability and competing incentives.

juan
Download Presentation

optimizing heterogeneous networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. optimizing heterogeneous networks David Chu Computer Science Division EECS Department UC Berkeley Qualifying Exam UC Berkeley 16 October 2007

  2. can a declarative approach help us cope with heterogeneous networks?

  3. optimizing for adaptability and competing incentives optimizing heterogeneous networks dsn: declarative sensor networks (chu-sensys07) X sdlib: sensor data library (chu-spots06) X in the field: does it help? ken: approximate data collection (chu-icde06) completed ongoing future

  4. outline • declarative sensor networks • motivation • language & example programs • feasibility assessment • optimizing heterogeneous networks • optimizing for adaptability and competing incentives • deployment application

  5. heterogeneous networks • … are proliferating • more demands on expert engineers • sensornets as one example…

  6. context Sensor Networks early experiences

  7. motivation programming sensor networks is difficult building entire sensor systems is even harder

  8. inspiration s e n s o rn e t w o r k s network design data management

  9. inspiration : data management • declarative is widely used in data management • relational databases • spreadsheets • abstract “what” from “how” • (Sensor-Network-As-Database) • [MFH05], [YG02]

  10. inspiration : network design • declarative is new idea in networking • compact • flexible • analyzable, optimizable • Internet Routing, Overlays built declaratively • (the P2 project)

  11. inspiration s e n s o rn e t w o r k s ( DSN ) network design data management

  12. what we did • adapted declarative language • wrote declarative examples • built compiler & runtime for sensornets

  13. brief language overview Rule1: implies don’t care join Rule2: Fact: Built-ins: builtin(temperature, ‘TemperatureImplementingModule.c’).

  14. S C1 Z C2 D S C D a full example : tree

  15. working programs tracking geographic routing localization tree routing multi-hop collection link estimator trickle, in-network data aggregation, beacon vector routing, pathDCS, convex hull fallback routing, right-hand rule fallback routing, …

  16. evaluating gossip dissemination source *borrowed picture

  17. 10x6 topology 30x2 topology … from designer’s paper [LPC04] … DSN specification

  18. evaluating tree-collection 1. tree construction 2. collection messages flow toward root *borrowed picture

  19. evaluating tree-collection messages sent (similar performance) hop-counts

  20. lines of code

  21. compiled size TelosB mote code space = 48KB, data space = 10KB

  22. live tracking demo (vldb06)

  23. architectural flexibility • dsn can… • describe entire system stack • application + network + mac layers • naturally expose abstractions • freely mix and match with outside libraries

  24. thoughts up to now… • sensor networks → data + communication • several examples of functional programs • feasible for today’s hardware platforms • can explore variety of architectures…

  25. [current work] optimizing heterogeneous networks

  26. outline • declarative sensor networks • optimizing heterogeneous networks • motivation • dimensions for optimization • execution space by example • finding optimal • optimizing for adaptability and competing incentives • deployment application

  27. the protocol problem • above: workloads vary • below: greater diversity of networks • who is going to figure out the best protocol for your situation? • protocol optimization has a long history [CDO97], [VLC88], [HA89],…

  28. implications of declarative • concise “what” programming • 1 specification, N possible execution plans ü ?

  29. Planner Optimized execution strategy Network protocol specification • Environment • Workload • Network characteristics Cost criteria

  30. manually engineering solutions • packet filtering • offload to resource-rich gateways • content distribution networks • manual configuration of distribution points • session state • explicitly choose stateless variants when critical • quality of service • choose tradeoff between node state or packet state • routing • domain-specific protocols e.g. DSR, 6lowpan • distributed event detection • configure detector placement design parameters: state, rendezvous?

  31. toward automated solutions • identify possible executions of program • search execution space for optimal plan • but first some rough idea of what we’re after… Planner

  32. packet filter program % forwarding rule message(@Next,Src,Dest,Load) :- message(@Crt,Src,Dest,Load), nexthop(@Crt,Dest,Next). % firewall rule receive(@Crt,Src,Dest,Load) :- message(@Crt,Src,Dest,Load), Crt == Dest, firewall(@Crt,Load). % query receive(@Crt,Src,Dest,Load)? base relation recursive relation non-recursive relation

  33. f e d b a c g base relation as table partitioned across nodes

  34. f e d b a c g base relation as network graph

  35. f e d b a c g

  36. A M B msg() facts M N D M N nexthop() facts E M N

  37. r A f B D E

  38. A B r f D E

  39. f 9 e d b 8 9 a 10 2 c g 1 varying join selectivity shifts the optimal rendezvous 1: Meet-In-The-Middle (MiM) Rewrite applications: packet filtering, event detection, CDNs

  40. HiResVideo EventDetectorFlag f = + e d b a c g 2: Query Scramble Rewrite applications: query scrambling, mitigating latency X bandwidth

  41. f + = e d b a c g allowed ports allowed options 3: Semijoin Rewrite application: semijoin

  42. f , e d b a c g Two separate relations at endpoint. 3b: Traditional Join Placement application: semijoin

  43. f e d b a c g

  44. f e d b a c g 4: Pullback Rewrite application: alternate between DVR and SR

  45. f e d b a c g 4: Pullback Rewrite application: alternate between DVR and SR

  46. 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 4: Pullback Rewrite example

  47. M M L regular L’ M’ A A A C C C M’,L’ M’,L’ M,L M,L M,L stateless B B B M L proxy L’ M’ 5: SessionState Rewrite

  48. M’ B M’ L’ C L M B M 5: SessionState Rewrite application: pushing state into packets/proxies A M

  49. B C M,L M,L M’,L’ M’,L’ M,L B 5: SessionState Rewrite application: pushing state into packets/proxies A L0

  50. M’ L’ defer write B prefetch read C M,L M’,L’ M,L L B M 5: SessionState Rewrite application: pushing state into packets/proxies A M

More Related