150 likes | 359 Views
Network Protocols Designed for Optimizability. Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex. Measure, Model, and Control. Network Management. Models, tools, scripts, databases. Knobs. Dials. Offered traffic. Changes to the network. Topology/ Configuration.
E N D
Network Protocols Designed for Optimizability Jennifer Rexford Princeton University http://www.cs.princeton.edu/~jrex
Measure, Model, and Control Network Management Models, tools, scripts, databases Knobs Dials Offered traffic Changes to the network Topology/ Configuration measure control Operational network
Knobs and Dials • Knobs: configurable parameters • Buffering: Random Early Detection parameters • Link scheduling: weighted fair queuing weights • Path selection: link weights and routing policies • Dials: measurement data • Traffic: link utilization, Netflow records, … • Performance: ping, download times, … • Routing: routing-protocol messages, tables, … Network management: read the dials and tune the knobs
Two Directions We Could Go • Algorithms for setting knobs based on dials • E.g., setting RED parameters based on link load • E.g., setting link weights based on traffic matrix • E.g., setting access-control lists to block attacks • Designing better knobs and dials • Maybe we can’t add all that much meaningful abstraction on top of what we’ve got underneath • Maybe we should design new protocols and mechanisms with optimization in mind • “Doing well in a class is much easier when you get to write the exam.” – Mung Chiang
Problem #1: No Algorithm For Setting the Knobs • Random Early Detection (RED) • Several tunable parameters • Min and max thresholds on queue length, max probability, queue weight Probability Average Queue Length
Problem #1: RED Example Continued • Settings have a big influence on performance • Good settings can improve the network “goodput” • Bad settings may offer no improvement, or (in some cases), worse performance • No algorithm for optimizing the parameters • Settings based on general guidelines • Makes it difficult for operators to enable RED We need mechanisms that have algorithms for setting knobs.
Problem #2: Poor Dials to Guide Knob Settings • Example: Random Early Detection • Appropriate parameters depend on many factors • Number of active flows, flow durations, flow RTTs, … • Not easily measurable today on high-speed links Probability Average Queue Length We need measurements that support network management.
i j Problem #2: Poor Dials to Guide Knob Settings • Example: Traffic engineering • Depends on knowing the traffic matrix Mij • Challenging to measure • Resorting to inference of the traffic matrix • Aggregating and joining lots of fine-grain data We need measurements that support network management.
2 1 3 1 3 2 1 5 4 3 Problem #3: Intractable Optimization Problems • Example: Traffic engineering • Tuning link weights to the prevailing traffic • Leads to an NP-hard optimization problem • … forcing the use of local-search techniques We need protocols designed with knob optimization in mind.
dst 10 9 Problem #4: Non-Linearities in the System • Example: Hot-potato routing • Small change causes a big effect • Failure, planned maintenance, or traffic engineering • Routes to thousands of destinations shift at once • … causing large shifts in traffic and many BGP updates NYC SFO ISP network 11 Dallas We need protocols that make small reactions to small changes.
Design for Optimizability • Creating protocols and mechanisms where • We know the algorithms for tuning the knobs • We have the measurements the algorithms need • The resulting optimization problems are tractable • The system does not have non-linearities • Example approaches • Randomization • Increasing the degrees of freedom • Logically centralized control
Randomization • Example: traffic engineering • Forward traffic in inverse proportion to path costs • … rather than using only the shortest paths • Leads to polynomial-time optimization problems 2 1 3 1 3 2 1 5 4 3
dst 10 9 Increasing Degrees of Freedom • Example: egress selection • Forward traffic to lowest ranked egress point • … as weighted sum of constant and path cost • E.g., keep using SFO even when cost goes to 11 • Enables integer programming solutions for tuning NYC SFO ISP network 11 Dallas
Logically Centralized Control • Example: Routing Control Platform (RCP) • Separate topology discovery from path selection • Collect topology and traffic data at servers • Apply optimization techniques for selecting routes • … and tell routers what forwarding tables to use RCP
Conclusions • Protocols induce optimization problems • Read the dials and tune the knobs • Controls how the system performs • Yet, optimization problems are often hard • Lack of predictive models • Missing measurement data • Computational intractability • Non-linearities in the system • Design protocols with optimization in mind • Randomize, add degrees of freedom, decompose