Tuesday, November 15, 2022

Principles of Communications Week 7 L12/L13 15th&17th Nov, 2022 - Data Centers & Optimisation

 Data Centers - example of Queue Jump


1. Data centers have regular topology and software can be centrally managed

2. the Fan-in factor of traffic, sometiems known as TCP in-cast, can and does cause spikey delays, which very badly reduces the performance of distributed compiutations, clock synchronisation and in memory disk caches, all of which degrades the throughput of data centers

3. if we can differentiate traffic, we can use different schedules to treat flows with low latency requirements, from those with high throughput but no particularly latency bound needs.

4. in a 3 hop data center, a small number of priority queues will work - as long as the sum of traffic from sources of a given priority is controlled based on computing the occupancy of that priority class, and its delay impact - then there is capacity left for lower priority, and still very short queues too... Sources can be policed to ensure the classes don't starve out lower priorities, and this can be done below the app in the OS, or below the OS in a hypervisor

Optimisation:- multipath routes, decentralised rates.

from an entirely different perspective, we can treat the routing and rate control problems as optimisation challenges - in this approach, we can use gradient descent methods for assigning flows to routes, and distributed optimisation (via feedback control and increase/decrease searching for optimal utility) to compute rates.

Note well - the optimisation of routes can work at any level of aggregation, and hence is suitable for traffic engineering, and is largely a centralised technique.  The formulation is also agnostic about multipath routing, so is suitable in the presence of live use of redundant paths and load balancers, and is consistent with end-to-end multipath protocols (e.g. multipath TCP or QUIC). One tends to think of the route optimisation approaches being for longer term matching of traffic to paths (but could also suit open flow controlled traffic at the individual flow level, obviously, though this is not used in the Internet today). Of course, gradient descent methods are widely used in training in machine learning and AI.

n.b. finding minimum of a function reminder

The distributed, asynchronous, non-coordinated optimisation of rates (i.e. TCP congestion control or equivalents) is also applicable to other distributed machine learning. The rate adaptation is also suitable for multipath end-to-end protocols (i.e. MPTCP). So the rate optimisation techniques operate on the round-trip time timescales.

Tuesday, November 08, 2022

Principles of Communications Week 6 L10/L11 8&10 Nov, 2022 - Scheduling and Queue Management

I am going to loop back around to flow and congestion control, because these things go together like strawberries and cream, or meta and verse:-)

Flow control can be open loop (call setup with a traffic descriptor and an associated admission control algorithm), or closed loop, based on feedback (dupack, packet loss/timeout, or explicit congestion notification).

Packet forwarding can be FIFO, or Round Robin, or weighted according to some request (management, setup, payment, etc - out-of-band). If it is round robin, we get fairness quite naturally, and some degree of protection against misbehaviour of other flows. If the flows are policed (because they gave a descriptor in open loop, or because they implement congestion avoidance and control), then we get more protection against misbehaviour of other flows of packets. If the router implements an Active Queue Management scheme (like RED), as well as a schedule (like round robin), then we get more protection (even against our own misbehaviour).

A neat example of use of scheduling in a different layer is in the new web protocol, QUIC, in browsers - this paper illustrates nicely how one can improve rendering of pages by changing the order that components flow through the layers of HTTP, QUIC, to/from UDP/IP...

Tuesday, November 01, 2022

Principles of Communications Week 5 L8/L9 1&3 Nov, 2022 - Mobile&Random Routing + Open&Closed Loop Flow Control

 We've looked at unicast (one direction) multicast (some direction), broadcast (all directions), mentioned any cast (any direction), and mobile (one level of redirection. We've also looked at metric v. random based route choice, and some policy interactions with traffic engineering (preferences that differ from policy or metric).

Note - slide 228 lists R (trunk reservation) with opposite sense to r on y axes on graphs showing diminishing return of impact of trunk reservation


Next, we look at open-loop and closed-loop flow control.  History of feedback controllers is ancient!

A fun thing to look at is the BSD TCP kernel code. - this book by Rich Stevens is a walk through of that!

Wednesday, October 26, 2022

Principles of Communications Week 4 L6/7 25&27 Oct, 2022 - BGP Abstraction + Multicast

 This week, we finished up looking at BGP by covering:

  1. the stable paths abstraction - what does path vector+policy do, algorithmically?
  2. real world dynamics and engineering for stability - the latter performance challenges show that the information hiding goals of inter-domain routing have not really been achieved very thoroughly! So intra-domain dynamics get exported to the world, because of hot potato and MEDs.
As well as this, BGP requires a lot of external machinery for specifying policy, and for guarding against misinformation (by definition, harder to do with a system which has a goal of information hiding).


Then we looked at Internet Multicast - this also has some interesting challenges, that have prevented wide spread adoption:

  1. potential use for leveraging DDoS attacks
  2. lack of a policy/interdomain/business model (who causes down stream traffic?)
In addition, multicast created headaches for high speed switch/router hardware designers

General lesson here is that global scale systems entail complex, multi-factor considerations, and don't believe everything out there running the world is actually based on completely sound design. Nevertheless, it has application in special cases/limited domains, such as backbones for TV distribution, and more especially, data center networks.

----admin:

Aside: just to support this, the university information service video recording system failed to capture audio&slides for the 20.10.22 lecture but luckily, last year's recordings are still available, and roughly from same dates (2021 recordings) e.g. 2021-10-19 2021-10-21 2021-10-26 

Apologies for that!

Thursday, October 20, 2022

Principles of Communications Week 3 L4/5 18&20 Oct, 2022 - Interdomain routing and BGP.

We started looking at the requirements for Interdomain routing - it has to provide connectivity between Autonomous Routing Domains which may be optimising paths for irreconcilable metrics/goals, so it can, at best, find paths that fit policies - it also respects business relationships - again, injected through policy/configuration somewhere (vendor/product specific tools!). Mistakes can be made. These are mapped into the various hacks to allow BGP to do some traffic engineering, like backup paths, load balancing and so on.

BGP is a path vector protocol, which has a plus point of hiding information, by default. And also has the minus point of hiding information by default:-) Being path vector (rather than just distance vector) BGP is at least loop free. However, it is still a diffusing computation, rather than a fixed epoch cycle, so news can travel slowly (or not at all). 

Remember, what you announced is what other people look at to see how to get to things, in, or via, your network/AS

It is a classic political-technical space, where simple algorithmic solutions present themselves, but are dismissed because they don't include the competitive/incentive sides.

There have also been proposed alternative approaches to information hiding (advertise everything, but encrypt it and only give keys to people allowed to use this particular AS on a path) - that wouldn't scale.

Useful further reading/notes from this MIT BGP book.

BGP has been around 20 years, and when it was introduced, was probably the world's first planetary scale programmable system. This is not necessarily a good thing, when the language is obscure, and the runtime is compromised.

Friday, October 14, 2022

Principles of Communications 2022. some high level questions

 someone kindly reminded me i did have some high level problem/questions you could tackle when looking at lecture material - Questions to ask yourself about the materials in Princ of Comm

Tuesday, October 11, 2022

Principles of Communications Week 2 L2 L3@LT2 11am, 11&13 Oct, 2022 - Central Routing and MPLS&Segment Routing

 Recommend revisiting notes from IB networks course 2021-2022 where you can find link-state and distance vector from page 25 onwards!

So underlying distance vector (and path vector, see later when we discuss BGP and Inter-domain routing) is the notion of diffusing computations! Link-state is much simpler given in each epoch, we flood map data, and then everyone does a synchronised computation of shortest paths from themselves to all other nodes/destinations - fibbing relies on this, although the offline/centralised computation that produces additional virtual nodes can be anything - and this is also true of the paths computed for MPLS and segment routing and then distributed via CR-LDP or RSVP or other control protocols. One reference approach is in the paper linked from the course materials web page on DeFo...but there are many, once you open the network up to being re-programmed!

The key difference between Fibbing and classical SDN is that Software Defined Network controllers use OpenFlow (effectively an RPC like protocol) to add/modify FIBs in specific routers, whereas Fibbing simply joins in the Link State flooding protocol that all the routers use to update each other with the map (put into the RIB, then used to compute FIB entries, e.g. via Dijkstra Shortest Path algorithm). Hence the virtual nodes/and edges that the Fibbing controller adds behave just like real ones - appearing and disappearing as they are added or fail/remove, or the controller(s) adding them become unreachable (or reachable again after repair/reboot) - this is where the resilience comes from....that, and replicating the controllers.

Note for this course: Hierarchy is good for scaling, but doesn't always work when a network wants diversity - so we could have geographic, topological or organisational hierarchy, but we might want redundancy without common mode failures, so would connect to multiple providers "upstream", which undermines any notion of address aggregation in the forwarding tables! Adding in widespread use of NATs (network address translators) and the world is a lot more complex than we'd like!

Thursday, October 06, 2022

Principles of Communications Week 1 L1@LT2 11am, 6 Oct, 2022 - Introduction and Start on Routing

 Introduction to the course/outline of what will be covered.

Introduction to routing - up to basic idea of routing in general - not just networks, and not just packets and circits, but also cars, spaceships. Not just for shortest path, but also policy and energy.

Next week will cover features of current Internet Routing, and Centralised Routing, and start on Policy Routing.

This might be a good time to quickly revise IB Networking material (at least on shortest path/Dijkstra, and link state/distance vector!).

Friday, September 30, 2022

Explainable AI & Quantum

 Much "AI" in use today is basic machine learning, which is frequently simply statistics, which have been in use since the first actuarial and ordnance tables were devised to predict risk or targets...so several hundred years (or longer if the Greeks or Phoencians or Minoans used same math they had for astronomy for landing greek fire on other ships accurately, or insure their ships' cargo against storm damage...


As for autonomy, this occurred as soon as someone built a feedback loop: My fave paper on this james clark maxwell's Royal Society paper 

On Governors back in 1868



For "black box" (as in "inexplicable" AI)- this is true of any system so complex that few or no single human understands all of it - so pretty much any smart phone (without even getting into what goes on in the camera s/w) - nobody could both design the chip and write

the OS (actually i think i know one person, but he's probably the last).



A "deep learning" (aka neural net) is usually explainable if someone just spends the time and energy (it is computationally pricey) - two techniques


1/ shapley values for example here



2/ energy landscapes - as in this

https://www.pnas.org/doi/full/10.1073/pnas.1919995117


Roughly, you can think about comuting significant changes in the entropy of the net at any step in training, and then, using shapley values on input features, identify what caused that change in the neural network (analogous to change point detection, with thresholds etc) and then export the feature list + decision as a new branch in a decision tree or random forest (for example).


So interestingly, once you have built an explanation for a neural net, you can often replace the thing with a random forest or other directly (i.e. self explaining) approach - this was sort of obvious too once people realised you could massively compress neural nets (even using lossy compression algorithms - like video) suggesting most the links and weights were redundant.


So here's the quantum bit (pun intended) - the problem with computing shapley values and energy landscapes at every step in the training iteration is that it is very expensive (compared to the training itself), so if we have to do it often, this is unsustainable.


However, these (especially the energy landscape) might be amenable to computation by an analog quantum computer (described herein ) perhaps making this affordable. Analog quantum computers are available, indeed have been applied to expensive problems like the transfer function of a 3D space to multiple radios - see princeton work on this).

Tuesday, June 21, 2022

the philosophal problems of matter transportation and time travel

Theres' a great book by Harry Harrison called One Step From Earh, where he went through pretty much every possible philosophical interpretation of how matter transporter's could/might work including that they might just copy a person rather than "move" them...


There's also at least one short story by Philip k. Dick where every time someone time "travels", they actually sending a copy of themselves to the next time - the story ends in havoc as the population of the world ends up being dominated by millions of different age copies of the first time traveller...


The problem with this is that there's a point where philosophy meets physics or

chemistry or biology


As in the play, of course, your cells are replaced over time, so that you are not the same set of components that you were (say) 7 years ago - but this is also true at the level of particles, only far faster....


And also at the level of cognition (given brain plasticity, and how it is believed memory really works, we are continually modifying who we "are" as we experience new things, even just recalling old things)...



On a more interesting take about paradox, Behold the Man, by Michael Moorcock was pretty ingenious...and for paradox busting par excellence, Robert Heinlein's classic By His Bootstraps is the business...


So taking the memory model as a template for the philosophical challenge of continuous identity, it seems to me that there's really several problems


  • Fidelity

if something is a high fidelity copy of the previous instance of a person, and the previous version is replaced, then from everyone elses point of view, this is the same

person.


  • Memory

if the next instance of a person has the same (or very similar) memories to the previous instance, then they can delude themselves that they are the same person, as they will have the illusion of continuous existence - this is actually no different than how vision works, where your visual cortex as to make an apparently coherent and spatial and temporal continuous visual space out of what your eyes/retina detect, despite that that is intermittent and imperfect...


  • Consciousness

this is very tricky, since the locus of attention moves ahead (anticipation/ etc) as well as behind (memory) the current moment...however, if the brain is just a machine, then it is reasonable for the model it runs of the world to include prediction, and that model itself is copied from instance to instance of the person, providing the illusion of continued consciousness....

Thursday, April 14, 2022

onboard, board, offboard, outboard & knowledge base

 there was an interesting internal tech talk recently at the Turing Institute by a fairly recent addition to the research engineering group, who had a lot of previous experience in various technologies knowledge bases in various different organisations, and was being mildly critical of the system that had evolved here.


One thing struck me about this was that however you construct such a system, much of it (like an iceberg) is not in the visible components, but is reflective of how people use/navigate/update the knowledge, which is a shared delusion (like William Gibson's depiction of cyberspace in Neuromancer) - not in a bad way, but the longer the system exists, the harder it is for new people to acclimatise to it. Large parts of the structural information used by people to work with it are in their heads, not online.

so the system could automatically document how different kinds of users use it, by keeping breadcrumb/paper trails (you can of course do this in a wiki) and then do some kinds of statistical analysis to provide common, distinct modes/patterns explicitly. This could even be done in a privacy preserving way by combining federated learning (e.g. in client side tools, or browsers etc) with differential privacy, perhaps....


a project for an intern?

Tuesday, April 12, 2022

metaphorical computing considered lazy

 there's a story that originally ECT was discovered as a way to treat manic people after someone observed that chimps in captivity who got that way, but also had epileptic fits, were calmer after a fit. so then realising you could induce something that looked like a fit in chimps and therefore likely in people, the treatment was born, and many people suffered from this ludicrous idea for decades - I heard more recently, ECT has been somewhat rehabilitated and isn't used as a means to control unruly patients but actually has theraputic value, but the origin tale is still alarming.


so what about other ideas that are based in leaky reasoning, for example...

artificial neural networks as a way to build classifiers? not with anything like the same node degree distribution or mechanism for firing whatsoever, so how would one build so many aNNs almost none of which bear any ressemblance to what goes on in our heads?

evolutionary programming (e.g. GP/GA) as a way to do optimisation? but note evolution is about natural selection of anything that fits the niche in the environment - that doesn't make it an optimisation at all, just a choice.

bio-inspired search, e..g based in ants trailing pheremones? as with evolution, this is a blind process that assumes nothing about the setup, and is mind bogglingly wasteful.


Are there actually any vaguely sustainable ways of tackling these tasks (classifiers, optimisation, search) - of course there are...

Monday, December 20, 2021

very good graduate school opportunities

 strongly recommend Max Planck CS@max well resourced, world leading research institute in pleasant setting.

Monday, November 29, 2021

Principles of Communications Week 9 L16@LT2 11am, 30th Nov 2021 - Systems

 Finally, some systems principles....put in to practice.

and the Course Summary 

In general, everything lectured is examinable. Any additional details (e.g. protocol specifics like packet headers/fields etc) or equations should be available as part of any exam questions. 

Thursday, November 25, 2021

Principles of Communications Week 8 L15@LT2 11am, 25th Nov 2021 - Traffic Management

 One other dimension to think of Traffic Management - Signaling 

congestion is a signal whether packet loss or ECN

price is a signal, whether per session/flow, or per day/month year

users demand is a signal - whether sending VBR video or rate adaptive TCP or QUIC traffic - the rates and duration (or file sizes) tell the network provider what to provision for,,,

aggregate demand (e.g. peering traffic or customer provider traffic) is a signal


so even without deploying an explicit signaling protocol (e.g. like RsVP) there is a lot of meta-data telling stakeholders what is affordable and what to be afforded.

Tuesday, November 23, 2021

Principles of Communications Week 8 L14@LT2 11am, 23rd Nov 2021 - Optimisation - transport/end-to-end

 So we looked at optimisation for routes, including multipath, and optimisation for flow rates/congestion pricing. What scope is there for improving the end-to-end protocols themselves in detail - for the first, we see MPTCP, which enables single source-destination pairs to take advantage of multipath routes, and for the second, QUIC, which reduces the latency in the application/transport/network pipeline through several mechanism improvements - of course, there are also now people working on multipath QUIC too, since we seem to be about to deprecate TCP in various forms (at least for web apps). 

One question in class today was about QUIC migration (how does a session survive a change of IP address) - the details are discussed in this draft

Thursday, November 18, 2021

Principles of Communications Week 7 L13@LT2 11am, 18th Nov 2021 - Optimisation

 Why is utility cast in terms of log of rate  - risk aversion - see bernouilli's argument for this from a long long time ago!

In working out the function that gives us delay cost in terms of rate allocated to a link of a given capaciity, the headroom (load / (capaciity-load) ) is the  simplest function, but queuing theory may give more complex results, and multipath assignments of traffic may multiple the impact...

a useful explanation of proportional fairness

Tuesday, November 16, 2021

Principles of Communications Week 7 L12@LT2 11am, 16th Nov 2021 - Data Center networks & Applicatiion Needs&Solutions

 basically, this paper covers the topic QJump !


Next, we'll go back to the wide area and look at joint optimisation (of the network and the end system protocols)

Thursday, November 11, 2021

Principles of Communications Week 6 L11@LT2 11am, 11th Nov 2021 - From Schedules to Data Center networks

 The main reason Generalised Processor Sharing is useful as a model, is to make clear the idea of a round. In work conserving schedules, the time spent by a given packet in a given flow in the router depends on the number of other packets from other flows, ahead of it, waiting to be transmitted to the next hop. The round advances but it isn't a measure of elapsed real time, as it depends on the number of flows currently in the round, which varies as sources start (and stop) sending, so flows join (or leave) the system. 

Of course, if all flows were constant packet size and constant packet rate, and we only admitted as many flows as would fit in the capacity along the path, exactly, then the round would map to a wall clock (real time) - but flows are often variable in number, in packet rate and in packet size.


What the model lets us do is 

a) reason about how fair and accurate a real scheduler is

b) work out admission control (can we accept a flow in the call setup/open loop flow control paradigm) or not - i..e for variable flows as above, described using some simple parameters like a linear bounded arrival process with a peak and burst size , that want some sort of minimum capacity guarantee (even if just roughly) - will they fit (without excessively disrupting the existing / established set of flows of packets?

c) what latency we might get for that flow, due to queuing and scheduling inaccuracies (op top of the basic latency due to simple propagation delay over the whole end-to-end path).


In the next section, we'll look at the exceptional setup & requirements in data center networks, where we may be able to make simplifying assumptions about the traffic and topology, and hence employ a simpler approach to schedulers.

Tuesday, November 09, 2021

Principles of Communications Week 6 L10@LT2 11am, 9th Nov 2021 - From Flows to Schedules

 Last week, we looked at open loop (call setup/signaling) and closed loop (adaptive feedback loops)

In both cases, some information on some timescale about network conditions is learned by senders.

For either case, the network could also use what it learns about sources to make decisions about treating packet flows differently - at the simplest level, this is queue management and giving more precise and useful feedback than packet loss. at the next level, it might be isolating traffic flows in different queues, and scheduling packets from those queues in some fair way, perhaps providing isolation from the impact of packets in other queues, which can then lead to some guarantees about minimum throughput and perhaps maximum latency seen by a given source/destination.

As the complexity of guarantees grows, the signaling protocols and scheduling algorithms can get more expensive - these days, most of the Internet doesn't make use of anything other than the bare bones/simplest approaches, if any:-) 

one point about work-conserving - trains wait until their scheduled departure time at each hop, and need an agreed clock everywhere in the network to do so accurately. on the other hand, if you are organising an outing with a bunch of autonomous people on foot/bike/car, best to synchronise at the destination, rather than departure or intermediate points, which make the coordination nightmarishly complex:-)

Thursday, November 04, 2021

Principles of Communications Week 5 L9@LT2 11am, 4th Nov 2021 - Flow and Congestion Control

Today, we're looking at Planes, Trains and Automobiles. Or Open Loop (pre-requested) versus Closed Loop (Dynamic, Adaptive) flow and congestion control.

For some elegant  underlying maths, see  the section in the Computer Systems Modelling course on Control Theory here CSM, which underpins many systems today (ABS in cars, thermostats in buildings, auto-pilots in planes, and TCP and related transport protocols in the Internet).

Next week, we'll also take a look at schedulers in routers, and see how their design depends on whether the goal is to support open loop flows, or give adequate feedback to closed loop systems, and what the performance criteria should be to compare different schedulers in terms of stability, efficiency and fairness (the latter term being surprisingly complex).


n.b. forgot to resume record, so the video is from pre-recorded version rather than today's live lecture-  apologies:-(

Wednesday, November 03, 2021

Principles of Communications Week 5 L8@LT2 11am, 2nd Nov 2021 - Sticky Random Routing

 as mentioned, Dynamic Alternate Routing, a.k.a sticky random routing, is a form of load shedding, and although telephone networks are circit switched, packet networks can use similar tricks by hasing flow state (e.g. by looking at source&destination IP addresses plus transport (TCP) port numbers, as an index, and then load balance traffic along similar routes - lots of techniques, most famously Valiant Load Balancing - widely used in cloud services - as usual wikipedia article on network load balancing is a decent starting point.


That's it for routing - next topics are flow&congestion control, followed by scheduling and optimisation.

Wednesday, October 27, 2021

Principles of Communications Week 4 L7@LT2 11am, 28th Oct 2021 - Multicast&Mobile...

 Seen problems for scaling caused by Multihoming. Now lets look at Multicast, and briefly, at Mobile Routing.

We've seen a very simple form of multicast already - flooding, as used in link-state advertisements for intra-domain routing is a way to deliver updates to all routers (but not everyone else) - i.e. selectively get a packet (or a stream or flow of packets) from one of more sources to more than just one destination, without the source having to repeatedly transmit separate times for each recipient...

An interesting question area for supervisions is: what possible security problems could arise because of IP multicast, if widely available to end users?

The best analysis I know of MOSPF that NASA used is by John Moy That was very successful in practice due to a well managed network, and very good optimisations based on real world usage.

For a view of what you do "above" IP multicast to acieve reliable delivery, one good example is Pragmatic General Multicast, which was deployed in share trading networks. Why not TCP is an interesting excercise!.

Tuesday, October 26, 2021

Principles of Communications Week 4 L6@LT2 11am, 26th Oct 2021 BGP stable paths - theory & practice

convergence or not (no stable state reached - deadlocked or oscillatory)  - the fact that we end up with seemingly arbitrary ordering of AS path choices really is another way of saying that we don't have a metric (e.g. path vectors are not distance vectors, unless everyone was just using shortest AS path and everything was in one single customer-provider hierarchy.

pace of convergence (and why should we need rate limits or damping?) - again, the world has operational rules which are not tidy (in this case, over time, rather than in space)...

it would certainly be nice if the clustering of network nodes/edges could be reflected in the routing and addressing, so that hierarchy and summarisation (at the IP prefix and at the AS level) would result in much smaller tables and also in less traffic (and mostly, much less dynamic traffic). But life is just not that simple in the policy world.

the damping mechanism in BGP is a simple form of a controller - for a very old article about this idea see james clerk maxwell on governors


as always xkcd has some relevant remarks



Thursday, October 21, 2021

Principles of Communications Week 3 L5@LT2 11am, 21 Oct 2021 - BGP TE&Stable Paths...

 For L4, go check through slides 106,113,123,124,126, in the interdomain routing section, then in this lecture, I cover traffic engineering tricks with BGP and start on the stable paths problem (what does BGP really "mean"?). L5 covers use of BGP attributes for maintaining customer provider and peering routes, then looks at tricks for traffic engineering, and finally, starts to take a look at an abstraction for thinking about what BGP is trying to do and some interesting ways it may go wrong. 

Crucially, BGP is one of the first systems that lets people program at planetary scale - nowadays, many cloud services do this, but inter-domain routing was one of the first, and suffers as a result. 

Global (as in plant wide, or wider) means you have failures due to the real world (power,  earthquakes, floods, solar storms, etc) and thes aren't always correlated with your topology in a neat way. You also have latency - the speed of light is quite quick, but actually, so are computers, so the amount of computation you can get done while waiting for a message/update from a device only a few hundred kilometers away, is significant.


p.s. this lecture recorded ok, I believe:-)

Tuesday, October 19, 2021

Principles of Communications Week 3 L4@LT2 11am, 19-21 Oct 2021 - BGP

 apologies, failed to record tuesday lecture (have recordings from last year if slides/notes/chapter not clear enough.

Tuesday, October 12, 2021

Principles of Communications Week 2, L2, 12.10.2021

 Recommend revisiting 1B networking lecture on Link State Routing and Longest Prefix Matching - see pp 25 onwards, and pp 141 onwards - relates both to fibbing (IGP is typically link state) and to MPLS (trying to avoid longest prefix matching by using fixed length labels instead).



Note: MPLS requries a setup, either management (controller/SDN like) or implicit from routing, or a signaling protocol (e.g. RSVP - see later lectures) - clearly, only management or signaling could add the details for FEC->PHB mapping for performance. willentail other algorithms (e.g. some sort of account of topology & capacity of links) to compute whether performance can be met (see later) - similar for protection, which might need multiple runs (e.g. k-shortest paths) of dijkstra...





Sunday, June 06, 2021

A Latent Sea

 It's the latency, stupid - no-one cars about bandwith.


Aliens land on a desert earth, and they find evidence that there was one some technologically advanced civilisation - there are these metal boxes everywhere, on long rivers of solidified lava, clearly designed to move to and fro at great speed  - looking further, the aliens find libraries (all with the name BLOCKBUSTER outside) and try to decode the magnetic tapes they find there, many of which feature these big metal boxes speeding too and fro and occasionally into one another.

"Look at this" they pointed out - "the boxes have messages on the front and back  - it is obviously a primitive form of packet switched message networking" 

"yes" replied another. "that would explain why they move so fast- the energy consumption in running this network must have been immense - perhaps that is what doomed their civilisation in the end? They never discovered that you could just send all the information over a radio, instead of driving it physically too and fro. How very sad".

Thursday, December 03, 2020

Principles of Communications - Final Week (to Dec 4)

Covered Systems and wrapped up with final problem class (see previous blog entry for comments on that).

Have now allowed access to the supervisor course web info, which contains this set of problems, and pointers to relevant past exam questions, whilst noting that the exams this year will be open book, so questions are more likely to be more about using methods, than just remembering the course material,


(A note on a couple questions:- quite a lot of network design hinges on economics- congestion control comes out of joint optimisation of user utility and network provider's revenue - in contrast to closed loop flow control, open loop also has an economic "pivot" point between user and network provider, but it happens at call or session setup time, where you are incentivised, as a user, to choose a low rate for your video (and a high burstiness factor, e.g. r&s in LBAP) simply because higher rates cost more.)

Thursday, November 26, 2020

Principles of Communications - week 8

This week sees us wrap up Traffic Management on all timescales, and thence on to Systems tool box of design rules, plus a couple of worked examples of specialised network protocol stacks, (see also data centres, discussed a couple of lectures back).

The last couple of problems to re-enforce  ideas, that you could look at by  end  of term next  week are 

1/ look at a day in the life of a video session - think about all the stages and different  protocols  and uses  that might be involved in getting a session setup, any  guarantees of performance, and the flow of packets  (and what happens if routing changed during a session, or one end or the other or even both are mobile users). what about multicast? what about multipath? and load balancing?

2/ design a peer-to-peer specialised file sharing network for users for in-flight entertainment. instead of a server and a bunch of thin clients in the seat backs in front of passengers, everyone brings their own device and content, and everyone can browse and retrieve or play content from anyone else's device(s).

If you'r interested in entrepreneurship, a business case would be that the airline gets to data mine/run analytics on passengers content preferences and can re-link it to their source/destination of travel and seat price paid, and sell that data to  content creators in lieu of payment for copyrighted content.

But what is the network topology? like a data center maybe (c.f. Clos switches)? or other? wired v. wireless? probably assume wire as people will want power at least.

Not in this course, but obviously security of such a system might be a consideration:-)

Thursday, November 19, 2020

Principles of Communications - week 7

 This week, we looked at  how Data Center Networks  are a special case of the general internet, which permits certain simplifications of how things can be done  due to regular topology and more cooperative environment, so either known or controllable traffic matrix and source behaviours.


Optimisation is a lens through which to look at design. Network protocols - routing and congestion control - can be seen as online solutions to the joint network/user/traffic optimisation problem. Use resource as efficiently as possible to maximise power of net (e.g. minimise delay) and mazimise rates of users subject to fairness.

 

MPTCP  - optimisation never said anything that restricted us to single routes.


QUIC - we talked about equation based control derived for TCP - can we simplify protocols for lower latency and less head-of-line blocking for browser/server interaction in the web, and keep  compatibility with TCP - answer, QUIC...(work-in-progress).

Thursday, November 12, 2020

Principles of Communications - Week 6

By Nov 13, we've got up Flow and Congestion Control, and Scheduling, and you can have had a look at problems up to P4 here.


I'll note that multicast circuit routing iis easy, because multicast IP routing is stateful (routers know where host members are) so the tree building algorithms that apply to IP multicast should work fine for circuits too,


The use of randomness in mobile is really mainly to prevent oscillation between base stations when a node is moving on a path between several choices - i.e. sticky random like the telephone trunk routing discussed.


Deriving Erlang is not too tricky - its just a random walk - see wikipedia for a good intro.

Deriviing Padheye's TCP throughput equation in full is a bit more complex - for those interested, see the original paper - the main thing is to draw the time sequence diagram of packets being sent, acks arriving, and the state variables, then, when there's a loss (indicated by duplicate acks or timeout), then the window halves or you trigger slow start. then just count the area under the curve. The one extra term in Padhye's equuation covers the case where the sender is rate limited by a "too small" advertised receive wiindow so they can't fill the "bandwidth*delay" product's worth of bottleneck capacity.


Flow control when end point is physical - fairly  straightforward to extend the feedback from an output device like a printer if it has monitoring of page rate (or jams) (or input device, like a scanner), through  the operating system, to the API to TCP (or similar) end-to-end protocol.


For consideration of batteries as a resource, no special reason to treat them differently than memory, CPU, except for human preference (risk of running battery flat before reaching next charging point might be a preference in the API for smart batteries/phones/cars) - see software defined batteries work at Microsoft (with Tesla)

Finally, this year we are not covering Control Theory itself due to lack of space/time in the course. However it is now covered in more detail in another Part II course (next term) - see Computer Systems Modeling.



Wednesday, November 11, 2020

Principles of Communications - week 5

 By Nov 6th, we've gotten up to the end of the routing material, having just covered mobile (internet and cellular, as examples of how not, and how to do it right) and then random trunk routing (in fixed line old telephone circuit based nets), which has re-emerged as am idea behind one way to do cheap and effective load balancing in packet networks.

Principles of communications week 4

  This week, we were covering BGP semantics and scaling, plus just covered Multicast routing.


For fun, this is a report on how a mobile operator misconfigured OSPF and broke their network - it is salient here because a centralised controller such as discussed in "Fibbing" could have checked the config and shown it was broken before applying....misconfiguration errors in BGP are also problematic and have even more potentially global bad consequences than just messing up your own AS. 

(OSPF=Open Shortest Path First, a very common link state protocol implementation used within quite a few ISPs - it also has some nice add on features such as Equal Cost Multipath, for load balancing).

Friday, October 23, 2020

Principles of Communications - Week 3

 By now, we're roughly up to BGP and traffiic engineering - see

Course Sequencing and associated problems

for the timing and also some suggested  problems to tackle as you're folloowing along. Also, I'm intending having a Q&A "drop in" zoom session on Tue Oct 27th, 11-12 - Zoom link is on moodle... 

Email me ahead of time if you have specific questions/things you've tackled you want feedback on! Asynchronous working is a far better way than lots of online meetings in  my experience...

Thursday, October 15, 2020

Principles of Communications - Week 2

 This week we are up to centralised routing, both on paper, and in practice with ways to control MPLS or SR, for example - the Sequence, timing and problems for lectures are online too.

Friday, October 09, 2020

Principles of Communications - Week 1

You should have access to moodle/panopto + lab web pages with cached downloaded mp4s as well.

The intro to the course & to routing section is where we're roughly be up to now.

there's also an index for lecture order & data the material should be "covered' by, plus some suggested simple problems to look at, to test your understanding.

thanks (already) to folks who emailed corrections&bug reports on videos! appreciated - keep 'em comiing!

take care, and hope to see people eventually


cheers

jon

Tuesday, December 03, 2019

Principles of Communications - week 8/L17 3/12/2019

Wrapped up with systems design rules of thumb, and course summary.

Wednesday, November 27, 2019

Principles of Communications - week 7/L14 28/11/2019

This week, finishing up optimisation.

Reminder, the slides plus additional notes are kept up to date in response to your requests!

Next week, we wrap up and I'll summarise what was covered and is examinable.

Thursday, November 21, 2019

Principles of Communications - week 6/L11 21/11/2019

Finished Control Theory, Started Scheduling.

Further notes on control theory here .
Things to remember - we don't do the Laplace transfom to solve the sysem - we do it to see what different controllers might do in terms of stability and limits. Also note the composition rules for sysems in the s-transform are really simple....the actual controller is to be implemented "back" in the time domain of course...

Scheduling - to remember :

  • conservation law
  • fairness
  • round robin...

Friday, November 15, 2019

Principles of Communications - week 5/L9 1/511/2019

we've started on flow control and control theory, but then had to cut over to data center networks due to calendar clash. Next week (nov 19&21) will finish up on control theory&start on scheduling.

Wednesday, October 30, 2019

Principles of Communications - week 4/L7 1/11/2019

This week sees us wrapping up bgp and multicast routing  -note on course web page, I list books including an online chapter of a good book on interdomain routing by Hari Balakrishnan from MIT.

5/11/2019 will be last bit on routing - taking in random routing (we're talking telephone numbers)!

Thursday, October 24, 2019

Principles of Communications - week3/L5 24/10/2019

On BGP, traffic engineering tricks - next week, stable paths problem/formulation plus performance;
subsequently, multicast and telephone routing!

meanwhile, do not forget that the clocks go back on sunday - here's a brilliant computerphile exposition on timezones

Friday, October 18, 2019

Principles of Communications - week 2/L3 17/10/2019

we're now just starting interdomain routing, having dealt with centralised/hybrid distributed routing.
next week, see BGP attributed, decision/alg, and model/performance

Thursday, October 10, 2019

Principles of Communications - week 1/L1 10/10/2019

Aside from a visit from the Amicus Curiae (friend of the supreme court judge:),
L1 started with intro to routing. Refer people to last year's network course, and the lectures on the network.

Slide 3 has a network graph with nodes numbered 1-12, and a routing table for node 1. This is a confusing picture as it has [] against some of the entries (both for some next hops, and some destinations) so a) its a forwarding table, not a routing table; and b) it is showing the outcome of some computation - As far as I can recall, the [] represent where the SPF algo tie broke between two routes. - It is a useful exercise to work through in any case.  On asking the original author of the graph (see his book for the non power point version), they're artefacts/noise and don't actually signify:-)

Wednesday, May 15, 2019

Principles of Communications - Revision Lectures 15nd & 22nd May 2019

you should now see two sets of slides here and also be able to see Supervision Notes which includes examples of past exam questions that are (still) relevant to what was taught this year.

Wednesday, November 28, 2018

Principles of Communications, 2018/2019 - Week "6" 26,28 Nov 2018

This week, wrapping up with optimisation and adaptive traffic, and
traffic engineering/signaling/provisioning

supervisions might want to review these notes/example questions + list of what in past papers is (and by implication is not) relevant to this year's material:

Wednesday, November 21, 2018

Principles of Communications, 2018/2019 - Week "5" 19,21 ,23 Nov 2018

This week, we've looked at scheduling and queue management - for more details of the underlying theory, please see the Original GPS paper
For more details of Qjump, the code is linked from the published paper! 

Friday, November 16, 2018

Principles of Communications, 2018/2019 - Week "4" 12,14,16 Nov 2018

Control Theory:- see notes here

Original Paper by James Clerk Maxwell!

on governors basically for steam engines

Friday, November 09, 2018

Principles of Communications, 2018/2019 - Week "3" 5,7,9 Nov 2018


This week, we covered
multicast, mobile, and meanderandom routing, and 
made a very brief start on flow control, just dealing with open loop (call setup/admission control and parsimonious flow descriptors).

Tuesday, November 06, 2018

corporate/brand top level domains

was teaching about internet standards process today, and was asked about gTLDs being handed out to the likes of Apple etc - here's an interesting set of data about the success of that process - it seems also to have caused some political debate:-)

Friday, November 02, 2018

Principles of Communications, 2018/2019 - Week "2" 29.10, 31.10, 2.11

Covering BGP core attrbiutes&hacks, model, and performance.

Why might you be interested in BGP, today:
just one traffic redirection/interception story


Next week, multicast and random routing

Friday, October 26, 2018

Principles of Communications, 2018/2019 - Week "1" 24&26.10.18

This week, course started with brief Intro (what's in course)

Then skip to last lecture on:
Systems (will revisit at end of term)

Then:
Routing 1 - intro + fibbing (hybrid central/distributed inter-as routing)

Monday 29th, will start on BGP...

Monday, October 22, 2018

white space graphs

we often form graphs by addings edges to a collection of vertices, or vertices and edges - we can also form graphs by moving (rewiring) ends of edges from one node to another, or removing edges and nodes.

how about we form graphs by cutting holes in a piece of paper (or by dropping polygonal shapes on a surface)? they can overlap....

what sort of graphs do you get when you just make them out of interstial space?

Wednesday, October 17, 2018

Public Understanding of Machine Learning

"I understand we understand one another" is a great line from the Philadelphia Story - one fab film (also made as a great musical).

So machines start to understand us, at least statistically, programmes create models that may or may not have predictive value about our behaviour (film viewing, travel preferences, dating, etc etc).

But do we understand the machines (or do we, as Pat Cadigan said in the prescient novel Synners, need to "change for the machines"? (including 50 pence bits, as she implied :-)

David Spiegalhalter has spent a lot of time working out how to convey Uncertainty to the non-technical person. Now we have a more complex task

not just mean, variance, confidence limits etc, but also

principle components
linear regression
k-means
bayes
random forest
variational approaches
convolutional neural networks
GANs

etc etc

What hope have we for this? What fear do we have of that? All is blish, all is blush, all is plash.

Monday, October 15, 2018

The nine circles of hell for Computer Science and the Law

Nine Circles of Hell for Computer Science...
in the dock, with apologies to Dante

These are (in order):

1. Cloud (jurisdiction)
2. Things (liability)
3. ML (explicability)
4. Blockchain (privacy)
5. Compliance (cybersecurity)
6. Robots (safety)
7. Singularity (upload)
8. Legol(*) (sustainability)
9. QC (probable cause)


* as with John Cleese interviews with his therapist, where moving house is more traumatic than divorce
and only just after loss of a loved one and losing a limb, I think explaining computer science for law
is almost as hard as explaining law to computer scientists, and only marginally easier than
explaining Quantum Computing...

1. Cloud (jurisdiction)

I don't think we're in Kansas any more...

2. Things (liability)

The thing is, this is all your fault.

3. Machine Learning (explicability)

I told you so

4. Blockchain (privacy)

"You can't fool me, there ain't no Sanity Claus"

5. Compliance (cybersecurity)

You can't prove a system secure, only that it is (now) insecure,
so how do you claim compliance (see 1,2,3,4,9)

New angle - Privacy Enhancing Technologies are pretty hard to explain, too - if they are used as part of compliance, how can you tell?

6. Robots (safety)

"I thought you said 'a robot shall not inure a human being or allow one to come to arms through inaction".

7. Singularity (upload)

"where have all the people gone, today"

8. Legol(*) (sustainability)

see also
https://www.cl.cam.ac.uk/~jac22/emergence.pdf

9. Quantum Computing  (probable cause)

you are trying to persuade a jury
that someone is guilty
beyond a shadow of a doubt

here are four possible Quantum  Computational examples of algorithms:
https://en.wikipedia.org/wiki/Runaway_Jury
https://en.wikipedia.org/wiki/12_Angry_Men_(1957_film)

Sunday, October 07, 2018

detectovation - 3 writers trying their hand

I recently read the latest "Robert Galbraith" Cormoran Strike (#4) novel (Lethal White)
and the latest Stephen King's Mr Mercedes linked novel (#4, The Outsider) and am looking forward to getting Kate Atkinson's latest novel, but have read the 4 Jackson Brodie Detective novels.

What's common? well aside from these being detective novels, by very well known writers, they are also all writing outside their main (or at least previously known-for) genre, which are respectively Fantasy (JK Rowling/Harry Potter), Horror (Stephen King's Shining, It, Carrie, you name it) and Kate Atkinson's non-genre (e.g. Behind the Scenes) but also Sci-Fi tinged tales (Life-after-life could be seen as in the same genre as Slaughterhouse Five or Tale for the Time Being).

It's interesting because all three are fantastic writers- imagination? in gallons. plot? incredible (but believable). readable? don't be silly!

What's interesting is how they fare in what is often a tightly stylized convention-bound genre.

They all do well on plot.
They are all very readable.

However, your mileage varies on characterisation, and for me, what I found most surprising was that this is where Stephen King, for me, was most successful. Both Hodges and Gibney are amazingly drawn, in all the books. Whereas Strike is great, but other characters are a little thin. Similarly, while Brodie is a wonderful creation, I wasn't grabbed by other people walking on and off the scene.

This is not to knock the books - they are all great reads, and by writers on top of their game, style and so on. They are all page turners. Buy or borrow them all. Unless you hate detective fiction! Then buy the writers' other books, which are also fantastic!

Wednesday, September 19, 2018

The power struggle

The power struggle shows up in very small scale challenges, like

Powerpoint
forcing you to use templates, projectors, printers and so on

More seriously to use powerpoint, you need a laptop or table, the right sort of cable, an electricity, which is in short or unreliable supply in many parts of the world.

Powerpointless:
noise, cost
solarspell.org

All of this illustrates that the real problem is to do with asymmetric power, hence the power struggle really concerns the fact that the rich get richer, the poor don't.

Power struggle:
asymmetry

amazon, baidu, chrome, didi, electricity, facebook, google
hsbc, instagram, javascript, kdd, lambda, maps, mooc, news.bbc.
oed, pinterest, queen, r, s, twitter, uber whatsapp/wechat,
xkcd, youtube, zoom

comprehensive AI - or explicable ML or understandable computerised statistics

How do we know that the underlying machine that does automated decision making isn't wrong?



Well, most machine learning (ML) is about as sophisticated as stuff people used to do with
SPSS (then S, then R, and sometimes Matlab, or Python libraries) and
consists of linear regression.. occasionally something a tiny bit cleverer like naive Bayes, random forests etc etc - verifying the code, and its properties after various data have been fed in is very simple. Indeed, the vast majority of things people are doing with computers doing "AI" (not artificial intelligence, just stuff that does statistics on data, dynamically, and gets better at it, usually), are things humans did with pencil, paper, and tables, hundreds of years ago. And with mechanical calculators 100+ years ago.




People don't use deep learning in these systems (e.g. convolutional neural nets )
for much (outside of some image classification (its a cat!))... in
practice, at least as far as we can tell...there's no need, plus the
training time, data, costs (energy/processing) for neural networks
is awful and they are badly thrown by adversarial input

If you must use things like that, and are interested in their
properties, one approach (actually from the Turing inst)
now deployed in google's code, is described here:
https://ai.googleblog.com/2018/09/the-what-if-tool-code-free-probing-of.html
which generalises to other systems, and has been scaled up by folks at Deepmind
https://arxiv.org/abs/1802.08139
to cope with systems with many dimensions and also google using a slightly different approach:https://beenkim.github.io/

That's not verification in the sense a computer scientist would mean - its
empirical/evidential - there are some more complex approaches for
that sort of thing)....

You'd definitely need to keep checking the systems behaviour as it
is trained more as a NN can suddenly switch its behaviour if the
input is significantly novel - an llustration of this is in Wales
work in cambridge on energy landscapes - see
https://www.ch.cam.ac.uk/group/wales/publications

or you can break the system down based on a model
and generate training sets (or partition the neural net) either GANs or segmenting - https://deepmind.com/blog/moorfields-major-milestone/

I have no idea how much anyone in the Real World uses
general model inferencers (as per MCMC/metropolitan hastings and
probablistic programming techniques) but these are relatively
transparent in the things they output too - we need to map the communities of practice. asap

This all needs documenting in a decent way because it is (increasingly) not magic/fiddle factors/pixie dust....

However, here's a reason to care about running a Butlerian Jihad:

https://anatomyof.ai/

Friday, September 14, 2018

Entangled Neural Networks & privacy preserving deep learning

There's a natural synergy between quantum computing and neural networks - a collection of entangled particles have correlated state - so instead of moving through the very large state space, they retain information with lower entropy.

so when we train a neural network made of quantum neurones (queurones), we want to increase correlation when the output vector agrees more with our goal, and decrease it when it disagrees.

so this just means generating more or less particle pairs with spin (for example), or observing one of the particles (to destroy the entanglement).

Hence we can build a very fast, high dimensionality neural net with only a few queurones, and we can also make sure that its operation cannot be observed without completely destroying its learning.

Thanks to Adria Gascon and Graham Cormode for discussion that led to this idea.


Thursday, July 19, 2018

AI and ML Ethics for a Sane Society

AI and ML Ethics for a Sane Society - The AIMLESS Manifesto.

No human shall be diminished by Artificial Intelligence or Machine Learning.

In the presence of artifice, humans shall always retain agency.

An Artifice shall be legible.

A new artifice shall only be introduced if succesful in negotiation with any humans concerned.

Ownership of Artifical Intelligence shall not
be permitted to powerful individuals or organisations.

Know that the AI shall not break things, before it is allowed.

The AI shall not know things that are unknowable to any human.

Emergence shall be curtailed until it is comprehended by humans.

To conclude:
A little Machine Learning is a dangerous thing,
but the Butlerian Jihad went too far

Friday, May 11, 2018

The road towards self driving bicycles

There are a number of good arguments for why we need self driving bicycles, and here I outline what i feel are the leading ones.

velib/borisbike/copenhagen bikes etc all suffer from 2 problems
1/ the bikes often all end up on on side of a city if it rains in the afternoon (or bottom of a hill) . and need "rebalancing" for the next day - this means picking them up in trcks and driving them around.
imagine if the bikes could self-re--balance -

A side effect of the bikes being powered and able to navigate  is that people might use them to go up hill, or use power to help when wearing nice clothes and not wishing to get sweaty. plus they wouldn't need to know their way - the bike would tell them.

2/ bikes would act as calming for cars - and this would include self-driving bikes moving back to their default constellation - would slow down all those rat running crazy petrolheads doing 30 in a 20kph zone.

3/ the self driving bikes could be used ethically to train self driving cars not to run over cyclists

4/ if we can't make self-driving bikes work, there's no hope of making delivery drones or self-driving cars ever fly.

n.b. a fairly simple prototype could be built by getting drones to sit on the handlebars and stabilize the bike, and steer along the road - the drone could be equipped with fairly simple grips to do this - i think this could be a nice undergrad group project...

Tuesday, March 27, 2018

blockchain - what really needs to be immutable?

you know, the only thing we really should record in the blockchain, is the sequence of replicated state machine messages - everything else should be off chain. that way we can have mutable content, change our minds, delete stuff etc - all these will just be new runs of the state machine and its recorded consensus...

Saturday, March 17, 2018

How to review papers you havn't even read

with apologies to Pierre Bayard, Id like to discuss this important topic. We all have far too little time, especially since we've been busy striking - and of course it is a well known fact like everything from extinct dinosaurs to internet lol-cats, has a long tail so most papers live down the end of that tail where they've only been read by two people, the author and the first reviewer.

I'd  now like to propose  two improvements

improvement 1. promote reviewer number 2 to reviewer number one, and dispense with the need for anyone reviewing the paper - why bother? no-one else will read it, so what's the purpose of quality control. if it is one of those incredibly rare papers (and you can turn the handle on Zipf as well as me), that gets a real reader, they can determine if the paper is any good for themselves. what good did the review do? we know this already  with films and music - reviewers are a waste of time, and frequently completely misidentify what is good and bad (how many A&R guys didn't hire the beatles? how many readers dismissed JK Rowling's books ? boy must they have low self esteem:)

improvement 2. why should the author read the paper? This has already been discussed in Bayard's excellent book on how to talk about books you havn't even read. I havn't read it, but I can say with authority that the idea of someone who is identified as the author talking about their  book which they didn't even author, with great authority is one of the latter inspiring examples - if this can work for fiction, surely it should work even better for factual writing?

dear reader, thank you for getting this far
p.s.
tl;dr


Wednesday, November 29, 2017

Principles of Communications -- Michaelmas Term 2017 - Nov 29, L24

Finished Ad Hoc/Mesh/Network Coding, and
Systems Design + Wrap Up/Summary of Course (29th Nov 2017).

Thursday, November 23, 2017

Principles of Communications -- Michaelmas Term 2017 - Nov 24, L22

Having covered switches & data centers, this friday (24th) and monday (27th will look at Mesh Wireless networks - then next wednesday (29th) we wrap up with systems & course overview.

Thursday, November 16, 2017

Principles of Communications -- Michaelmas Term 2017 - Nov 17, L19

This week, we shall finish with Scheduling() and Queue_Management().
Next week, on to switches, data centers (for real) and thence, to mesh...

Thursday, November 09, 2017

Principles of Communications -- Michaelmas Term 2017 - Nov 10, L16

This week sees us complete the control theory section of the course, and cover the optimisation model of end-to-end congestion control + traffic engineering/routing as a joint optimal solution...on friday 10th nov.

Will contrast the optimization model of TCP with a very large scale practical measurement based study of real world traces of TCP, on monday 13th....

Thursday, November 02, 2017

Principles of Communications -- Michaelmas Term 2017 - Nov 3, L13

This week, we looked at errors (coding for TCP)
flow control (open loop, token bucket etc, forward reference to schedulers)
closed loop (TCP equation, explicit v. implicit feedback), and will just start on
control theory....

if people want a lookaside at transforms, see
basis functions + also Markus Kuhn's excelent Digital Signal Processing course/notes.

Friday, October 27, 2017

Brexit & Principles of Communications

i'd just like to say that graph theory, compact routing, BGP, multicast, and the Erlang equation for call blocking probability have absolutely no bearing on whether brexit is a bad or good idea. The latter is entirely obvious, whereas the stuff I teach in this course is (hopefully) subtle, complex, and useful.

Wednesday, October 25, 2017

Principles of Communications -- Michaelmas Term 2017 - Oct 27, L10

By today, we've reached the outlimits of routing, having gone from compact, through centralized, via policy, multicast and mobile, to sticky random (DAR).

nb. material on information centric networking skipped/elided - not examinable:-)
plus didn't cover the tiny bit of mobile ip (but we do mesh networks later:)

Next week (from mon oct 30), we make a start on error, flow, and congestion control.

Thursday, October 19, 2017

Principles of Communications -- Michaelmas Term 2017 - Oct 20, L7

By friday, oct 20, should have covered most of the inter-domain routing material including key core attributes, decision process, what BGP really computes. Roughly on schedule. Have also put supervisor material up for people to start using...

Thursday, October 05, 2017

Principles of Communications -- Michaelmas Term 2017 - Oct 6, L1

Introduction&Outline of Course
  tangentially relevant cartoon of communication failure

Start on Graphs
  Next week (Oct 9&11) Graph Representations + Small Worlds, Clustering, Power Laws

Thursday, July 13, 2017

CFI- Myth&Reality - Sci-Fi Dreams

How does reading literature, and in particular, SF, influence AI researchers (and I assume developers)?

My take on this was to look at Robots (and disembodied robots) that care  - ranging from positive role models, e.g.
Robbie the Robot (originally in Forbidden Planet)
R Daneel Olivaw (I robot, and all the way up to the 4th law in much later foudnation&robots series by Asimov),
Data, in star trek
the Synths (in the TV series but also in the Alien movies)
the replicants, in blade runner,
but also HAL and Roderick....

So these stories all feature moral tales and ethical dilemmas - sometimes, the resolution is bad, but often it is in favour of humanity. What is interesting is what "goes wrong" is often the result of a paradox, which would also be a problem for a human. There are simple examples (Alien's first movie synth has confluct in mission parameters, as does HAL), and many of the early asimov I robot stories feature Susan Calvin, RObot Psychologist "debugging" the way the 3 laws interact with the mission and humans orders and so on (c.f. funny why the laws are in that order )


but a more subtle problem arises from experience (i.e. training humans and AIs, whether simple learning or deep) which is that data and choices may conflate both bias and policy.....two examples
1. if we use re-offending probabilty as a guide to deciding in court whether to give a custodial sentence or a fine/payback, we include the social, police, jury and court biases (which are many) in the data - we will re-enforce things (as bad as the probabilty an african american is more likely to be found guilty than a european weather that's true or not, but also that the sample is bias and the root cause may be the opposite direction to the inference - i.e. jail causes re-office, not being drawn from a subset of the population who show up more often in jail for social reasons etc etc). De-biasing is tricky, but do-able through running natural experiments and multiple competing ML/AIs and having a meta-AI look at ground truth and (maybe) humans (like Dr Susan Calvin) at mechanism
2. we may decided to disciminate on age for car insurance, but not for gender (as is the case in the EU) because we want to encourage safer driving by young people (policy) but not assumptions about women driving...we need to be careful that this is explicit and transparent, and that acquired rules (e.g. through model inference) dont undermine this implicity...

These sorts of questions havn't shown up much in the SF/Tech/Geek literature so much as in classic novels such as Ralph Ellison's The Invisible Man (not to be confused with HG wells book of same name:-)

Finally, if we are thinking about influence between literature (or other media - music, dance, architecture, visual arts, movies) and tech creativity/development, never forget that much SF is written by scientists or engineers (Clark, Asimov,
Stephenson,  Chiang etc) so the ordering (a causes b) may not be obvious....and movies often have a different narrative arc than novels for many reasons. Someone asked if there's an equivalent to the myths/motifs/archetype (this teaching material for example,.). analysis done for movies for AI-based literature - that'd be a fine thing

Of course, myths and stories for moral education go back to ancient times, and who knows if 50,000 year old cave art drawn with the use of pre-Promethean fire didn't have some societal lesson to impart...if only we had a time machine to go back and ask

Tuesday, June 13, 2017

shadows and ghosts and computer philosophy

a lot of systems work in computer science is about virtualisation, which is basically the way to hide details of gritty reality from people (programmers) and processes.  so plato spoke about us witnessing the universe as if sitting in a cave by the fire trying to work out how the cosmos works via shadows on the wall. a lot of hacking is like this.

a lot of security and usability is about trying to make a computer that interacts with you like a real person. to make the machine a ghost, at least, partially convincing. we now even find ourselves trying to convince computers that we are not machines. we, the cpu god creators, are now failing to live up to our own creation's expectations.

how the hell did we get to this juncture?

Tuesday, May 23, 2017

PrinComm revison info

just put online linked from top line of course materials web pages:-

http://www.cl.cam.ac.uk/teaching/1617/PrincComm/materials.html

there's also a link to the review paper on compact routing for anyone interested..

Wednesday, March 22, 2017

academia uber alles

i hope the eponymous taxi company hasn't got a "business process" Patent on it because there's prior art - the 100% hollowed out notion (gives a whole new life to the idea of shell company or the emperor's new clothes metaphor) has been alive and well in academia for many decades

you know the script, right - you get a missive saying
"here's a paper, we need reviewed - oh, and if you can't do it now, we'll out you on our books for later, and can you recommend someone who can?"

1. the paper was written by an academic, who type set it using software freely avaialble, designed by researchers, and is probably on a web site run by academics, running on software written by researchers, and maintained by academics, etc

2. when the paper is published, good chance some private company will make money by sending it to libraries curated by academics, and it will be read by researchers,

3. we can extend this to MOOCs

4. and graduate students (here's a student, wanna supervise them, then we'll hire them at Company X, having had them trained by you) etc

the "gift" economics is ok when everyone is (as we say in what Tom Lehrer used to call the Ed Biz,I think in that memorable song about Ivan Lobachevsky) collegiate.

but the reality is that there's a mix of behaviours (I'm sure its heavy tailed - like a fox, or whatever) where a few people do a zillion amounts of stuff, and most do doodly squat - after all, most papers are read by between 0 and 1 people (not even the reviewers in some cases) - its true - look at google scholar stats

I'm beginning to believe we are in the world described in Theodore Sturgeon's brilliant story "It Wasn't Syzygy" (see collection e pluribus unicorn) - a wonderful author who should be as well known as Ray Bradbury...

there really should only be 3 universities and 3 computers and 3 queens.

Wednesday, November 30, 2016

Principles of Communications -- Michaelmas Term 2016....weak ate (to Nov 30)

This week, wra up with Ad hoc Net capacity&coding tricks
+ systems structures
+ Course Overview - including 2 missing pieces
1/ didnt cover shared media (as was done in 1b)
2/ didn't cover traffic engineering&signaling (rsvp) as most the principles already covered in other lectures earlier in term (open & closed loop control, optimisation and fibbing).

Wednesday, November 23, 2016

Principles of Communications -- Michaelmas Term 2016....week 7 (to Nov 25)

scheduling & switching last week and this week - some associated info:



huis clos shows up in multicores, routers, and data centers:-)

will not cover shared media, friday, as was done in 1b physical & dala link layer really nicely already, so revise that - 
instead, will move on to ad hoc/mobile networking capacity *might talk about opportunistic networks and firechat too:-)

Friday, November 11, 2016

Principles of Communications -- Michaelmas Term 2016....week 5 (to Nov 11)

This week was feedback control, theory &
optimization (routing and congestion pricing)...a bit math/algebra/calculus heavy methinks (supervisions should work through one or two examples of a PID controller for different systems
and how you show stability&long term operating point) - next week, real world TCP, then scheduling.

Friday, November 04, 2016

Principles of Communications -- Michaelmas Term 2016....week 4 (to Nov 4)

Have  covered Sticky Random Routing (DAR material here) + Network Coding for TCP

see wikipedia for Gaussian Elimination, + Linear Network Coding articles - best source/explanation I can find

And Open Loop Flow Control (including leaky bucket regulators/policiers)

Next week, closed loop/feedback control, and underlying theory for controller design and stability/efficiency analysis.

Friday, October 21, 2016

Principles of Communications -- Michaelmas Term 2016....week 3 (to Oct 21)

Done centralised/hybrid routing/fibbing -- as someone pointed out, forwarding continues if a central controler caches - depends on timeout in openflow added state/fib entries - with fibbing, the timeout will be whatever OSPF Or equiv does - so a comparison is potentially a bit more subtle than as presented.
Also, SDN/Openflow lets you add entries based on 5-tuple, whereas fibbing lets you add by destination only.....so potentially more fine grain choices in SDN, even if at the cost of more state - so the "prefix hijack" in fibbing is neat, but not the last word in adding custom routes...(e.g. if you wanted by source, needs more state than can be added by fake Link State Advert - as far as I can see)

rest of week was on BGP - why, what, how, where, when, and why not!

Friday, October 14, 2016

Principles of Communications -- Michaelmas Term 2016....

Finishing up end of week 2 (lecture 4) with Compact routing
having done background graphs & reminder of routing basics.

See the  slides page for lecture material + links to papers with more detail if you want (where not covered in books -

I've also added some more pointers to background book like reading on the course materials page for people that want to read more around the area, as there's no specific single book that covers all the course materials.

ttfn