On Selfish Routing In Internet-like Environments Lili Qiu (Microsoft Research) Yang Richard Yang (Yale University) Yin Zhang (AT&T Labs – Research) Scott Shenker (ICSI) ACM SIGCOMM 2003 Selfish Routing • IP routing is sub-optimal for user performance – Routing hierarchy and policy routing – Equipment failure and transient instability – Slow reaction (if any) to network congestion • Autonomous routing: users pick their own routes – Source routing (e.g. Nimrod) – Overlay routing (e.g. Detour, RON) • Autonomous routing is selfish by nature – End hosts or routing overlays greedily select routes – Optimize their own performance goals – … without considering system-wide criteria Bad News • Selfish routing can seriously degrade performance [Roughgarden & Tardos] Worst-case ratio is unbounded L1(y) = 1 S D L0(x) = xn Total load: x + y = 1 Mean latency: x L0(x) + y L1(y) • Selfish source routing • All traffic through lower link Mean latency = 1 – Latency optimal routing • To minimize mean latency, set x = [1/(n+1)] 1/n Mean latency 0 as n Questions • Selfish source routing – How does selfish source routing perform? – Are Internet environments among the worst cases? • Selfish overlay routing – How does selfish overlay routing perform? – Does the reduced flexibility avoid the bad cases? • Horizontal interactions – Does selfish traffic coexist well with other traffic? – Do selfish overlays coexist well with each other? • Vertical interactions – Does selfish routing interact well with network traffic engineering? Our Approach • Game-theoretic approach with simulations – Equilibrium behavior • Apply game theory to compute traffic equilibria • Compare with global optima and default IP routing – Intra-domain environments • Compare against theoretical worst-case results • Realistic topologies, traffic demands, and latency functions • Disclaimers – Lots of simplifications & assumptions • Necessary to limit the parameter space – Raise more questions than what we answer • Lots of ongoing and future work Routing Schemes • Routing on the physical network – Source routing – Latency optimal routing • Routing on an overlay (less flexible!) – Overlay source routing – Overlay latency optimal routing • Compliant (i.e. default) routing: OSPF – Hop count, i.e. unit weight – Optimized weights, i.e. [FRT02] – Random weights Internet-like Environments • Network topologies – Real tier-1 ISP, Rocketfuel, random power-law graphs • Logical overlay topology – Fully connected mesh (i.e. clique) • Traffic demands – Real and synthetic traffic demands • Link latency functions – Queuing: M/M/1, M/D/1, P/M/1, P/D/1, and BPR – Propagation: fiber length or geographical distance • Performance metrics – User: Average latency – System: Max link utilization, network cost [FRT02] 25000 20000 15000 10000 5000 selfish source routing Load scale factor=1 latency optimal routing compliant routing (minimum network cost) Good news: Internet-like environments are far from the worst cases for selfish source routing PowerD10 PowerD5 PowerD2 Verio Tiscali Telstra Sprint Level3 Exodus EBONE ATT 0 Abovenet Average latency (us) Source Routing: Average Latency Source Routing: Network Cost Network cost 10000 1000 100 10 PowerD10 PowerD5 PowerD2 Verio Tiscali Telstra Sprint Level3 Exodus EBONE ATT Abovenet 1 selfish source routing Load scale factor=1 latency optimal routing compliant routing (minimum network cost) Bad news: Low latency comes at much higher network cost Selfish Overlay Routing • Similar results apply for overlay routing – Achieves close to optimal average latency – Low latency comes at higher network cost • Even if overlay covers a fraction of nodes – Random coverage: 20-100% nodes – Edge coverage: edge nodes only Horizontal Interactions random weights (load scale factor = 1) Average latency (us) 4.0E+04 3.2E+04 2.4E+04 1.6E+04 8.0E+03 0.0E+00 both compl. both selfish both latopt overlay 1 selfish / compl. selfish / latopt latopt / compl. overlay 2 Different routing schemes coexist well without hurting each other. With bad weights, selfish overlay also improves compliant traffic. Vertical Interactions • An iterative process between two players – Traffic engineering: minimize network cost • current traffic pattern new routing matrix – Selfish overlays: minimize user latency • current routing matrix new traffic pattern • Question: – Does system reach a state with both low latency and low network cost? • Short answer: – Depends on how much control underlay has Selfish Overlays vs. OSPF Optimizer 200 2.5E+04 Max link utilization (%) Average latency (us) 180 2.0E+04 1.5E+04 1.0E+04 5.0E+03 160 140 120 100 80 60 40 20 0 0.0E+00 0 10 20 30 40 50 0 10 selfish + TE (OSPF) TE alone 30 40 Round Round selfish alone 20 selfish alone TE alone selfish + TE (OSPF) OSPF optimizer interacts poorly with selfish overlays because it only has very coarse-grained control. 50 1.4E+04 120 1.2E+04 100 Max link utilization (%) Average latency (us) Selfish Overlays vs. MPLS Optimizer 1.0E+04 80 8.0E+03 60 6.0E+03 40 4.0E+03 2.0E+03 20 0.0E+00 0 0 10 20 30 40 50 0 10 Round selfish alone TE alone 20 30 40 50 Round selfish + TE (MPLS) selfish alone TE alone MPLS optimizer interacts with selfish overlays much more effectively. selfish + TE (MPLS) Conclusions • Contributions – Important questions on selfish routing – Simulations that partially answer questions • Main findings on selfish routing – Near-optimal latency in Internet-like environments • In sharp contrast with the theoretical worst cases – Coexists well with other overlays & regular IP traffic • Background traffic may even benefit in some cases – Big interactions with network traffic engineering • Tension between optimizing user latency vs. network load Lots of Future Work • Extensions – Multi-domain IP networks – Different overlay topologies – Alternative selfish-routing objectives • Study dynamics of selfish routing – How are traffic equilibria reached? • Improve interactions – Between selfish routing & traffic engineering – Between competing overlay networks Thank you! Computing Traffic Equilibrium of Selfish Routing • Computing traffic equilibrium of non-overlay traffic – Use the linear approximation algorithm • A variant of the Frank-Wolfe algorithm, which is a gradient-based line search algorithm • Computing traffic equilibrium of selfish overlay routing – Construct a logical overlay network – Use Jacob's relaxation algorithm on top of Sheffi's diagonalization method for asymmetric logical networks – Use modified linear approximation algo. in symmetric case • Computing traffic equilibrium of multiple overlays – Use a relaxation framework • In each round, each overlay computes its best response by fixing the other overlays’ traffic; then the best response and the previous state are merged using decreasing relaxation factors.