The Design and Implementation of Declarative Networks Boon Thau Loo University of Pennsylvania, University of California-Berkeley * *This dissertation.

Slides:



Advertisements
Similar presentations
P2: Implementing Declarative Overlays
Advertisements

Dynamic Source Routing (DSR) algorithm is simple and best suited for high mobility nodes in wireless ad hoc networks. Due to high mobility in ad-hoc network,
Declarative Networking: Language, Execution and Optimization Boon Thau Loo 1, Tyson Condie 1, Minos Garofalakis 2, David E. Gay 2, Joseph M. Hellerstein.
Implementing Declarative Overlays Timothy Roscoe Joint work with Boon Thau Loo, Tyson Condie, Joseph M. Hellerstein, Petros Maniatis, Ion Stoica Intel.
Declarative Networking: Extensible Networks with Declarative Queries Boon Thau Loo University of California, Berkeley.
Intel Research Timothy Roscoe P2: Implementing Declarative Overlays Timothy Roscoe Boon Thau Loo, Tyson Condie, Petros Maniatis, Ion Stoica, David Gay,
Implementing Declarative Overlays Boon Thau Loo 1 Tyson Condie 1, Joseph M. Hellerstein 1,2, Petros Maniatis 2, Timothy Roscoe 2, Ion Stoica 1 1 University.
Declarative Networking Mothy Joint work with Boon Thau Loo, Tyson Condie, Joseph M. Hellerstein, Petros Maniatis, Ion Stoica Intel Research and U.C. Berkeley.
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Internet Indirection Infrastructure (i3 ) Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Surana UC Berkeley SIGCOMM 2002 Presented by:
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Multicasting in Mobile Ad hoc Networks By XIE Jiawei.
SDN Controller Challenges
Implementing declarative overlays Boom Thau Loo Tyson Condie Joseph M. Hellerstein Petros Maniatis Timothy Roscoe Ion Stoica.
Implementing Declarative Overlays From two talks by: Boon Thau Loo 1 Tyson Condie 1, Joseph M. Hellerstein 1,2, Petros Maniatis 2, Timothy Roscoe 2, Ion.
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
6.033: Intro to Computer Networks Layering & Routing Dina Katabi & Sam Madden Some slides are contributed by N. McKewon, J. Rexford, I. Stoica.
Declarative sensor networks David Chu Computer Science Division EECS Department UC Berkeley DBLunch UC Berkeley 2 March 2007.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
CAST i CAST iCAST / TRUST Collaboration Presenter : David Chu 2007 June 5 A Declarative Sensor Network Architecture.
A Presentation by: Noman Shahreyar
Towards a Declarative Language and System for Secure Networking Martín Abadi 1,2, Boon Thau Loo 3 1 Microsoft Research Silicon Valley, 2 UC Santa Cruz,
Network Layer Routing Issues (I). Infrastructure vs. multi-hop Infrastructure networks: Infrastructure networks: ◦ One or several Access-Points (AP) connected.
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
The Architecture of PIER: an Internet-Scale Query Processor (PIER = Peer-to-peer Information Exchange and Retrieval) Ryan Huebsch Brent Chun, Joseph M.
Multicasting in Mobile Ad-Hoc Networks (MANET)
CS 268: Active Networks Ion Stoica May 6, 2002 (* Based on David Wheterall presentation from SOSP ’99)
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
Freddies: DHT-Based Adaptive Query Processing via Federated Eddies Ryan Huebsch Shawn Jeffery CS Peer-to-Peer Systems 12/9/03.
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
CS An Overlay Routing Scheme For Moving Large Files Su Zhang Kai Xu.
Using Queries for Distributed Monitoring and Forensics Atul Singh Rice University Peter Druschel Max Planck Institute for Software Systems Timothy Roscoe.
Declarative Routing: Extensible Routing with Declarative Queries UC Berkeley: Boon Thau Loo, Joseph M. Hellerstein, Ion Stoica. Intel Research: Joseph.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Mobile Networking Challenges1 5.6 Mobile Ad Hoc Networks  Ad hoc network does not have any preexisting centralized server nodes to perform packet routing,
IDRM: Inter-Domain Routing Protocol for Mobile Ad Hoc Networks C.-K. Chau, J. Crowcroft, K.-W. Lee, S. H.Y. Wong.
PIER & PHI Overview of Challenges & Opportunities Ryan Huebsch † Joe Hellerstein † °, Boon Thau Loo †, Sam Mardanbeigi †, Scott Shenker †‡, Ion Stoica.
1 Heterogeneity in Multi-Hop Wireless Networks Nitin H. Vaidya University of Illinois at Urbana-Champaign © 2003 Vaidya.
Improving Capacity and Flexibility of Wireless Mesh Networks by Interface Switching Yunxia Feng, Minglu Li and Min-You Wu Presented by: Yunxia Feng Dept.
1 Internet Routing. 2 Terminology Forwarding –Refers to datagram transfer –Performed by host or router –Uses routing table Routing –Refers to propagation.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
WIRELESS AD-HOC NETWORKS Dr. Razi Iqbal Lecture 6.
Consider a network in which for any two nodes directly connected with a link, a message either reaches its destination within T time or gets lost. (a)
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
Customizable Routing with Declarative Queries Boon Thau Loo 1 Collaborators: Joseph M. Hellerstein 1,2, Karthik Lakshminarayanan 1, Raghu Ramakrishnan.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
November 4, 2003Applied Research Laboratory, Washington University in St. Louis APOC 2003 Wuhan, China Cost Efficient Routing in Ad Hoc Mobile Wireless.
Declarative Routing: Extensible Routing with Declarative Queries Boon Thau Loo 1 Joseph M. Hellerstein 1,2, Ion Stoica 1, Raghu Ramakrishnan 3, 1 University.
Fundamentals of Computer Networks ECE 478/578
1 Scalability and Accuracy in a Large-Scale Network Emulator Nov. 12, 2003 Byung-Gon Chun.
Mobile Ad Hoc Networking By Shaena Price. What is it? Autonomous system of routers and hosts connected by wireless links Can work flawlessly in a standalone.
Declarative Networking: Language, Execution and Optimization
Declarative Networking
Multi Node Label Routing – A layer 2.5 routing protocol
IMPROVING OF WIRELESS MESH NETWORKS.
Architecture and Algorithms for an IEEE 802
Ad-hoc Networks.
ETHANE: TAKING CONTROL OF THE ENTERPRISE
Introduction to Wireless Sensor Networks
CSE 4340/5349 Mobile Systems Engineering
Declarative Routing: Extensible Routing with Declarative Queries
by Saltanat Mashirova & Afshin Mahini
Declarative Networking
Other Routing Protocols
Presentation transcript:

The Design and Implementation of Declarative Networks Boon Thau Loo University of Pennsylvania, University of California-Berkeley * *This dissertation was completed as a graduate student at the University of California- Berkeley

Declarative Networking A declarative framework for networks: Network protocols are declaratively specified using a database query language Distributed query engine executes specifications to implement network protocols Success of database research: 70’s – today: Database research has revolutionized data management Today: Similar opportunity to revolutionize the Internet architecture

Motivation Internet faces many challenges today: Unwanted, harmful traffic Complexity/fragility in Internet routing Proliferation of new applications and services Efforts at improving the Internet: Evolutionary: App-level “Overlay” networks Revolutionary: Clean-slate designs  NSF GENI initiative, FIND program Opportunity: Software tools that can significantly accelerate network innovation

A Declarative Network Distributed recursive query Traditional Networks Declarative Networks Network State Distributed database Network protocol Recursive Query Execution Network messages Distributed Dataflow Dataflow messages Dataflow messages

The Case for Declarative Networking Ease of programming: Compact and high-level representation of protocols Orders of magnitude reduction in code size  Declarative Chord DHT is 48 lines instead of 10,000. Easy customization Safety: Queries are “sandboxed” within query processor Potential for static analysis of safety What about efficiency? No fundamental overhead when executing standard routing protocols Application of well-studied query optimizations Note: Same question was asked of relational databases in the 70’s.

Main Contributions of Dissertation Declarative Routing [SIGCOMM ’05]: Extensible Routers: balance of flexibility, efficiency and safety Declarative Overlays [SOSP ’05]: Rapid prototyping of new overlay networks Database Fundamentals [SIGMOD ‘06] : Network specific query language and semantics Distributed recursive query execution strategies Query optimizations, classical and new

A Breadth of Use Cases Example implementations to date: Textbook routing protocols Chord DHT Narada mesh for end-system multicast Distributed Gnutella/Web crawlers Pastry DHT Replication protocols Lamport/Chandy snapshots Paxos distributed consensus Overlays for host mobility Sensor network protocols P2 declarative networking system

Outline Background The Connection: Routing as a Query Execution Model Path-Vector Protocol Example  Query specification  protocol implementation Query Processing Beyond routing: Declarative Overlays Ongoing Penn

Traditional Router Packets Traditional Router Control Plane Forwarding Plane Routing Protocol Neighbor Table updates Forwarding Table updates

Declarative RouterTraditional Router Declarative Router Declarative Queries Control Plane Forwarding Plane Packets Query Engine Routing Protocol Neighbor Table updates Forwarding Table updates

All-Pairs Reachability R2: reachable(S,D)  link(S,Z), reachable(Z,D) R1: reachable(S,D)  link(S,D) Input: link(source, destination) Output: reachable(source, destination) “For all nodes S,D, If there is a link from S to D, then S can reach D”. link(a,b) – “there is a link from node a to node b” reachable(a,b) – “node a can reach node b”

All-Pairs Reachability R2: reachable(S,D)  link(S,Z), reachable(Z,D) R1: reachable(S,D)  link(S,D) Input: link(source, destination) Output: reachable(source, destination) “For all nodes S,D and Z, If there is a link from S to Z, AND Z can reach D, then S can reach D”.

Towards Network Datalog Specify tuple placement Value-based partitioning of tables Tuples to be combined are co-located Rule rewrite ensures body is always single-site All communication is among neighbors No multihop routing during basic rule execution Link-restricted rules: Enforced via simple syntactic restrictions

All-Pairs Reachability R1:  R2:  Network c d reachable Output table: Input @dc link c b b c reachable Location Specifier Query:

Path Vector in Network Datalog Input: destination) Query output: destination, pathVector) R1:  P=(S,D). R2: P=S  P 2. 2 ),  Query: Add S to front of P 2

R1:  P=(S,D). R2:  2 ), P=S  P Query DP Query: @dc link bdca path Forwarding table:

@SDP DP Query Execution bdca R1:  P=(S,D). R2:  2 ), P=S  P 2. Query: @dc Communication patterns are identical to those in the actual path vector protocol Matching variable Z = “Join”

Other Routing Examples Best-Path Routing Distance Vector Dynamic Source Routing (Wireless) Policy Decisions QoS-based Routing Link-state Multicast Overlays (Single-Source & CBT)

Outline Background The Connection: Routing as a Query Query Processing Beyond routing: Declarative Overlays Sampling of ongoing work

Recursive Query Evaluation Semi-naïve evaluation: Iterations (rounds) of synchronous computation Results from iteration i th used in (i+1) th Path Table hop hop hop 4 Link TableNetwork Problem: Unpredictable delays and failures 9

Pipelined Semi-naïve (PSN) Fully-asynchronous evaluation: Computed tuples in any iteration pipelined to next iteration Natural for network protocols Path Table Link TableNetwork Relaxation of semi-naïve

Pipelined Evaluation Challenges: Does PSN produce the correct answer? Is PSN bandwidth efficient?  I.e. does it make the minimum number of inferences? Proofs for Basic technique: local timestamps p(x,z) :- p 1 (x,y), p 2 (y,z), …, p n (y,z), q(z,w) recursive w.r.t. p

Execution Plan Strands Messages Network In Messages Network Out Single Node Nodes in execution plan (“operators”): Network operators (send/recv, cc, retry, rate limitation) Relational operators (selects, projects, joins, aggregates) Flow operators (mux, demux, queues)

Localization Rewrite Rules may have body predicates at different locations: R2:  2 ), P=S  P 2. R2b:  2 ), P=S  P 2. R2a:  Matching variable Z = “Join” Rewritten rules: Matching variable Z = “Join”

Localized Rule Compilation Execution Plan  path Join path.Z = linkD.Z linkD Project path(S,D,P) Send to path.S R2b:  2 ), P=S  P 2. Network In Network Out  linkD Join linkD.Z = path.Z path Project path(S,D,P) Send to path.S

Optimizations Traditional: evaluate in the NW context Aggregate Selections Magic Sets rewrite Predicate Reordering New: motivated by NW context Multi-query optimizations:  Query Results caching  Opportunistic message sharing Cost-based optimizations  Neighborhood density function  Hybrid rewrites PV/DV (Wired)  DSR (Wireless) Hybridized protocols: Zone Routing Protocol

Beyond Routing: Declarative Overlays Language extensions to support events and soft-state predicates Chord Routing, including: Multiple successors Stabilization Optimized finger maintenance Failure detection 48 rules 11 table definitions MIT-Chord: x100 more code Another example: Narada mesh in 22 rules 10 pt font

Outline Background The Connection: Routing as a Query Query Processing Beyond routing: Declarative Overlays Ongoing Penn

Ongoing Penn Declarative secure networking Difficult to design/implement/reason about secure networks Network Datalog + logic-based security languages [NetDB ’07] Authenticated path vector protocol, DNSSEC, secure DHTs,… Moving forward:  Exploit fine-grained control over networks and security policies Data-centric querying and routing in heterogeneous networks Internet: Wired infrastructure with wireless clouds at the edges Flexible network support for mobility [ACM MobiArch ’07]  Declarative queries for addressing and naming mobile hosts  Session-aware customizable QoS routing Moving forward:  Declarative wireless ad-hoc networks  Cost-based query optimizations to adapt protocols

Summary Declarative networking: Declarative Routing:  Extensible routing infrastructure Declarative Overlays  Rapid prototyping overlay networks Database fundamentals  Query language  New distributed query execution strategies and optimizations  Semantics in dynamic networks P2 declarative networking system (

Many Thanks… Advisors: Joseph M. Hellerstein, Ion Stoica Collaborators: UC Berkeley: Tyson Condie, Ryan Huebsch Intel Research: David Gay, Petros Maniatis, Timothy Roscoe Yahoo! Research: Minos Garofalakis, Raghu Ramakrishnan Rice University: Atul Singh Many others…