210 likes | 306 Views
Network teleology. Damon Wischik http://www.cs.ucl.ac.uk/staff/D.Wischik/Talks/teleology.html. What is teleology?.
E N D
Network teleology Damon Wischik http://www.cs.ucl.ac.uk/staff/D.Wischik/Talks/teleology.html
What is teleology? • Teleology (noun). The doctrine or study of ends or final causes, especially as related to the evidences of design or purpose in nature; also transf. such design as exhibited in natural objects or phenomena. • Greek teleo- from telo, end
Macroscopic description of TCP • Let x be the mean bandwidth of a flow [pkts/sec]Let RTT be the flow’s round-trip time [sec]Let p be the packet loss probability • The TCP algorithm increases x at rate 1/RTT2[pkts/sec]and reduces x by x/2 for every packet loss • average increase in rate = average decrease in rate:1/RTT2 = (p x) x/2
Macroscopic description • Let x be the mean bandwidth of a flow [pkts/sec]Let RTT be the flow’s round-trip time [sec]Let p be the packet loss probability • The TCP algorithm increases x at rate 1/RTT2[pkts/sec]and reduces x by x/2 for every packet loss • average increase in rate = average decrease in rate:1/RTT2 = (p x) x/2 • Consider a link with N identical flowsLet NC be the capacity of the link [pkts/sec] • packet loss ratio = fraction of work that exceeds service rate:p = (Nx-NC)+/Nx = (x-C)+/x
U(x) x Teleological description • Consider several TCP flows sharing a single link • Let xr be the mean bandwidth of flow r[pkts/sec]Let y be the total bandwidth of all flows [pkts/sec]Let C be the total available capacity [pkts/sec] • TCP and the network act so as to solvemaximise årU(xr) - P(y,C) over xr0 where y=årxr P(y,C) y C
Teleological description U(x) little extra valued attached to high-bandwidth flows severe penalty for allocating too little bandwidth x
Teleological description flows with largeRTT are satisfied with little bandwidth U(x) flows with small RTT want more bandwidth x
Teleological description P(y,C) no penalty unlesslinks are overloaded y C
U(x) x Teleological description • The network distributes resources as if it’ssolving an optimization problem • Is this what we want the Internet to optimize? • Does it make good use of the network? • Can it deliver high bandwidth and good quality? • Is it a fair allocation? • Can we design a better allocation? P(y,C) y C
Input-queued switches Every timestep, the switch • chooses a matching from inputs to outputs, then • offers service to those queues involved in the matching. matching input port 1 output port 1 input port 2 queue X32
The MWM matching algorithm • How does the switch decide which matching to use? • Let the weight of a matching p bep·X = åi,j Xijpi j • Let the maximum weight be maxpp·X • The MWM (Maximum Weight Matching) algorithm chooses, at every time step, some matching which achieves the maximum weight.
Simulation trace queue lengths [0-50pkts] time [0-500]
Simulation trace Workload w1.Sum of queue sizes at input port 1 Workload w.2 Sum of queue sizes for output port 2
Simulation trace Inferred queue sizes,estimated from input and output workloads
Simulation trace Inferred queue sizes,estimated from input and output workloads Actual simulated queue sizes
Teleological description • The switching algorithm distributes the workload among the input queuesso as to solve an optimization problem • Is this an optimization problem we want to solve? • Would a different switching algorithm reduce the buffer overflow probability?
50+f 10f Total delay 10*3+50+3=83for all users 50+f 10f Routing choice in road networks • A road network • The delay on a road is a function of the flow f • Drivers choose the quickest route • How will traffic distribute itself?
50+f 10f Total delay 10*3+50+3=83for all users 50+f 10f Braess’ example • An extra road is built.How does the traffic flow change? 50+f 10f 6f 50+f 10f
50+f 10f Total delay 10*3+50+3=83for all users 50+f 10f 50+f 10f 6f Total delay10*4+50+2=10*4+6*2+10*4=92for all users 50+f 10f Braess’ paradox • Building an extra road makes delays worse for everyone!
Wardrop equilibrium • The allocation of flows satisfies an optimization problem • The objective function is not the natural one (i.e. minimize average delay) • How can we encourage drivers to choose socially optimal routes?
Conclusion • A network algorithm is usually specified at the microscopic level (i.e. by code) • The code may have an implicit teleology • The teleological view can • give insight into the algorithm • suggest tweaks