tue: traffic management timescales, users, large and small, demands, short and long...
signaling and soft state
thu: systems design patterns
tue: traffic management timescales, users, large and small, demands, short and long...
signaling and soft state
thu: systems design patterns
This week we'll cover
Optimisation is a very large topic in itself, and underpins many of the ideas in machine learning when it comes to training - ideas like stochastic gradient descent (SGD) are seen in how assign traffic flows to routes, here. In contrast, the decentralised, implicit optimisation that a collection of TCP or "TCP friendly" flows use is more akin to federated learning, which is another whole topic in itself.
Why a log function? maybe see bernouilli on risk
Why proportional fairness? from social choice theory!
Are people prepared to pay more for more bandwidth? One famous Index Experiment says yes.
0. See Computer Systems Modeling for why the delay grows quickly as load approaches capacity.
1. see IB Distributed Systems for clock synch
2. see prev year's Cloud Computing (II) module for a bit more about data centers&platforms.
We've revisited flow and congestion control - one way of visualising the progress of an adaptive flow&congestion control protocol is the time sequence diagram:-
but note this is a massive over-simplification as really what you see here is an ideal with only one source and (apparently) only one bottleneck queue. In reality, in FIFO queues, traffic from multiple sources mixes and interferences (causing high variance in delay, hence round trip time, and very unpredictable loss. If we had Round Robin (by flow) queues, things might be a bit better, but how much? That is what we look at under Scheduling, and with the Generalised Processor Sharing model, can see how close to some ideal of "isolation" between flows, we can get.
With FIFO queues, RTTs and rates (as estiamted from data or ack packet inter-arrival times are going to be varying fairly chaotically, as the ensemble of flows at any bottleneck will not be coordinated in any special way as they all have different RTTs and perhaps just different performance senders, maybe different packet sizes, possibly different inter-packet timing at transmit time, etc etc
This week, we've got two random[ref] examples
1. random telephone routing
c.f. triangles
can we greedily find the tandem? (only) if you want to check the reasoning behind that part of DAR!
2. random drop congestion - serioiusly, today's lecture is mainly revision of IB congestion/flow control...
c.f.tcp arena
how many TCPs are there, really? again, only here for the keen background reader!
ref: there's a very nice study of general applicability of random choices in this harvard paper if you want some more background reading...
separately, in a discussion with a supervisee/supervisor, i realise some people may be interested in looking at real code to reinforce their understanding - for IB material, I strongly recommend Rich Stevens' TCP/IP Illustrated Volumes 1 and 2, but for this course, there's not really any such a nice single text - an alternative might be this:-