6 December On Selfish Routing in Internet-like Environments paper by Lili Qiu, Yang Richard Yang, Yin Zhang, Scott Shenker presentation by Ed Spitznagel
6 December Selfish Routing Selfish routing: allowing hosts to choose routes themselves (e.g. source routing) or use overlay routing networks (e.g. Detour, RON) –routing decisions designed to optimize host-based or overlay-based metrics, rather than system-wide metrics
6 December Selfish Routing Theoretical results have shown that selfish routing can result in “suboptimal system behaviour” –“price of anarchy” (latency of selfish routing vs. globally optimal) can be unbounded for general latency functions [Roughgardern and Tardos] Does this happen in Internet-like environments?
6 December Outline Models and Methodology Selfish Source Routing Selfish Overlay Routing Selfish Routing vs. Traffic Engineering Conclusion
6 December Network Model Physical network: directed graph G = (V, E) where latency of each link is a function of its load Demands: Network traffic is partitioned into traffic demands Overlays: an overlay consists of overlay nodes, directed overlay links, and a set of demands originated from the overlay nodes. –paper considers the fully connected overlay topology only Users: originators of traffic. Their objective is to minimize latency.
6 December Network Model Route Controller: controls the network-level routing. –OSPF routing: three methods for weight assignment are used: Hop-count Random-weight Optimized-compliant: weights are set to minimize network cost, assuming all traffic is compliant. –MPLS routing: uses multi-commodity flow routing
6 December Routing and Traffic Equilibria Evaluate each selfish routing scheme by computing its performance at traffic equilibria Game-theoretic approach: equilibrium is a state where no user can improve his traffic’s latency Computed directly by algorithms in the appendix (faster than using simulation techniques)
6 December Routing Routing on the physical network –Source Routing: results in selfish routing of the type most often studied –Optimal Routing: routing that achieves minimal average latency over all traffic demands Overlay routing –Overlay Source Routing: selfish routing through overlay nodes –Overlay Optimal Routing: routing through the overlay that achieves minimal average latency Compliant routing: follow the routes determined by the network-level routing protocol
6 December Network Topologies A real tier-1 ISP (referred to as ISPTopo) with ~100 backbone routers connected via OC48 and OC192 links Other ISP topologies as mapped by Rocketfuel: Random power-law topologies generated using BRITE
6 December Traffic demands Real traffic demands: measured on ISPTopo for three randomly chosen hours in November 2002 Synthetic traffic demands: randomly map POPs in ISPTopo to non-leaf nodes in the Rocketfuel topology. Load scale factor: scale up demands so that, when all traffic is compliant and routed based on shortest hop-count, the max link utilization is 100·F%, where F is the load scale factor
6 December Link Latency Functions Several link latency functions are used: “To avoid the discontinuity when the load approaches capacity, we approximate the M/M/1 or M/D/1 function with a linear function beyond 99% utilization” –(not sure if this makes sense)
6 December Performance Metrics Average latency Maximum link utilization “Network cost” metric: –cost for a link with load x and capacity c is: –cost of a network is the sum of its links’ costs
6 December Outline Models and Methodology Selfish Source Routing Selfish Overlay Routing Selfish Routing vs. Traffic Engineering Conclusion
6 December Selfish Source Routing Are Internet-like environments among the worst cases?
6 December Selfish Source Routing Effect of network load on average latency:
6 December Selfish Source Routing User latency for all topologies, using M/M/1 latency function
6 December Selfish Source Routing User latency for ISPTopo, varying the latency function
6 December System-wide cost for selfish source routing Effect of network load on max link utilization:
6 December System-wide cost for selfish source routing Effects of network topologies: selfish routing: highest max link utilization, highest network cost selfish routing may make a network more prone to overload, especially when failures occur
6 December System-wide cost for selfish source routing Effects of latency functions: –results for different latency functions are qualitatively the same
6 December Outline Models and Methodology Selfish Source Routing Selfish Overlay Routing Selfish Routing vs. Traffic Engineering Conclusion
6 December When every node is in the overlay ISPTopo, using OSPF for network-level routing three choices of OSPF weight assignments 3 of the 4 curves overlap
6 December When every node is in the overlay Again, but with other topologies Selfish routing achieves latency close to optimal (and usually better than compliant routing)...but at the cost of higher maximum link utilization
6 December When not every node is in the overlay ISPTopo, overlay covers edge nodes only curves almost completely overlap –Internet backbone is fairly well-connected and well-provisioned
6 December When not every node is in the overlay Random partial coverage: latency similar to full coverage; full coverage has higher max link utilization
6 December Interactions Among Competing Overlays Competing demands at the same nodes, using same underlying network Foreground and background traffic at 50% each Different topologies Different methods for computing OSPF weights
6 December Can Many Overlays Coexist Well? Results for ISPTopo, with various multiple- overlay configurations:
6 December Outline Models and Methodology Selfish Source Routing Selfish Overlay Routing Selfish Routing vs. Traffic Engineering Conclusion
6 December Selfish Routing vs. Traffic Engineering Traffic engineering: adjust physical routing based on network traffic patterns (traffic matrix) Selfish routing will then adjust the traffic matrix in response to that… … which causes the traffic engineering to produce a new routing matrix And the process repeats…
6 December Selfish Routing and OSPF optimizer Optimizer chooses link weights for OSPF Selfish routing + traffic engineering: considerably worse performance than either one alone
6 December Selfish Routing and MPLS optimizer Better, perhaps due to MPLS’s finer-grained control (can adjust routing matrix without reducing available resources, unlike OSPF) Almost as good as using only selfish routing or only TE MPLS TE requires solving very large linear programming problem
6 December Conclusion Unlike the worst-case scenarios, selfish routing in Internet-like environments achieves close to optimal –often at the cost of overloading certain links –can become worse due to interaction with traffic engineering Future work –investigate how the multi-AS nature of Internet affects routing performance –dynamics of selfish routing (how equilibria are reached) –better understanding of interactions between traffic engineering and selfish routing –study of selfish routing with other metrics (loss, throughput)
6 December End of Presentation Questions?