Thursday, November 28, 2024

Principles of Communications Week 8 to Nov 28th/L15

This week we covered the multiple time scales of traffic engineering and signaling, from packet time/scheduling to end-to-end/RTT latency admission control/call setup or else congestion control/queue management, to network wide provisioning and the interaction with pricing/utility, and consequences for possible accountability of end user/identity/payment systems...

Then we looked at a toolkit of system design patterns, with particular attention to communications systems, but with broad applicability in many domains/sectors/walks of life...

Thursday, November 21, 2024

Principles of Communications Week 7 to Nov 21st/L13

This week we're covering firstly data centers (through the lens of q-jump and its clever "fan-in" trick), and secondly, optimisation of routes and rates. Both of these topics relate to practice, and theory of quite a few machine learning systems/platforms.

The mix of application platforms we see in the data center lecture are classic mapreduce (as represented by Apache Hadoop) and stream processing (as represented by Microsoft's Naiad)[2], as well as memcached (an in memory file store cache, widely used to reduce storage access latency and increase file throughput - e.g. for aforesaid platforms), as well as PTP (a more precise clock sysnch system than the widely used Network Time Protocol[1]). For an example of use of map reduce, consider Google's original pagerank in hadoop. For  the interested reader, this paper on timely data flow is perhaps useful background.

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 last year's Cloud Computing (II) module for a bit more about data centers&platforms.

Wednesday, November 13, 2024

Principles of Communications Week 6 to Nov 14th/L11

 This week we covered congestion control (with a brief mention of latest ideas of CUBIC and BBR) and scheduling (work conserving, max min fairness, and round robin with various tweaks, as well as queue management, with another appearance of "randomness" as a useful trick).

My analogy for the overall system that is TCP + IP is that it is like a bicycle, with a chain connecting two sets of gears - you can change gear at each end to change rate/speed, but the wheels slip (forwarding) and the chain is made of soggy bread (end to end rate).

IP forwarding+scheduling is like the bit where the rubber hits the road, and the foot on the pedal is like the sender, while the force backwards from friction, skidding and effort is the flow & congestion control.

Now loosely couple the chains of 10 billion bikes and riders and roads, and run them anything from 1 to a billion RPM...

and make the road surface out of jelly. and take a chain link out, or put on in every now and then (re-routing)...

and many of the bikes are penny farthings but some are jetskis (i.e. not everyone is running the same algorithm, either at IP level or end-to-end/TCP level).

Wednesday, November 06, 2024

Principles of Communications Week 5 to Nov 7th/L9

We covered mobile and telephony routing - key interesting idea is Dynamic Alternative Routing, a.k.a. sticky random routing, where the Gibbens paper covers the Max Flow analysis, plus this paper gives the statistical background on the triangle problem.

We then covered (essentially, revision of last years networks) flow and congestion control. There's an important link to control theory here which is covered in the Computer Systems Modeling module next term.