This article is about the most important networking term you’ve never heard of: ‘stationarity’.
How to fetch two pints of milk from the store?
Do you have kids? Good. If not, just imagine for a moment that you’re a parent.
You regularly send your teenage child to the shops to buy some fresh milk. You know it’s a dependable 25 minute trip: ten minutes to walk each way, five to make the purchase.
“Don’t take too long – we’ve got guests coming later!”.
“OK, I’ll be quick!”.
Being a teenager, she likes to stop by the movies on a Saturday with friends, so the trip takes 3 hours instead. The store is closed on Sundays. Not a problem. You adjust your expectations accordingly. On Saturdays you need to allow more time for stocks to be replenished, and you also need to get more milk in anticipation of the demand on Sunday.
Add in dogs and dating
One day, your family gets a pet dog, which she takes with her during her walks. It’s just a puppy, and lots of people like to stop and pet it. Trips to the shops can now take up to 60 minutes. The dog doesn’t go on Saturdays. Not a problem. You adjust your expectations accordingly. You know you need to send her out for more milk when stocks are a bit higher, so you don’t run out of milk for your tea and coffee.
Time passes. Not only does your daughter have a dog, but now she also has a boyfriend. Whilst some trips to the shop take 25 minutes, others mysteriously drag on for a very long time. Sometimes, on Saturdays, she even comes home without milk with sheepish explanations of having ‘forgotten’. Problem. The unpredictability of her service makes it impossible for you to adjust your expectations, and to plan accordingly.
From pints to packets
What we saw in this story was an increasing variation in the delay to get the milk, and also a form of intermittent loss. Eventually the parent couldn’t compensate for this variability.
This story mirrors what goes on in telecoms networks. Rather than sending pints of milk, we send packets. Control loops make resource allocation decisions about the future. Examples of control loops include TCP and adaptive codecs.
These control loops use information about the past to anticipate how much resources they will need, and when. To operate, they need the information about the past to be predictive of the future.
What is it ‘stationarity’?
This property of the past and the future being related is called ‘stationarity’. Technically it is the absence of change in the probability distribution of some random variable (in this case of packet loss and delay). You can think of it as being the ‘predictability’ of the network transport.
Note that it’s not the same as ‘jitter’. There was always variability in our little story, but it was the ‘unpredictability’ (or ‘non-stationarity’) that kept growing. This different does matter!
There comes a point when the level of stationarity falls below what can be tolerated by the control loop or application. The control system makes ‘wrong’ predictions, so resources are misallocated. ‘Running out of milk’ is a glitch in your VoIP call; ‘too much milk’ means you’re carrying excessive inventory costs of a perishable good, and wasting resources.
In the extreme the system becomes unstable and you have ‘droughts’ and ‘deluges’.
Why should care about stationarity?
Non-stationarity has a growing effect on the ability of networks to deliver value. For example, the early Internet was about simple file transfers intermixed with a small amount of interactive traffic. Modern broadband networks are being asked to carry a much wider range of payloads in terms of quality and quantity. As a result, demand is more sensitive to this variability.
Attempts to hide effects of the variability, say through packet loss concealment, are ultimately self-defeating. They just add more load to the network, and thus more non-stationarity. It is impossible – both in principle as well as in practise – to ‘adapt’ to non-stationarity.
Meanwhile, that nature of network supply is changing in ways that create more non-stationarity. The number of multiplexing points is growing, so data flows have more opportunity to interact. The ability of small groups of users to saturate their shared backhaul is rising. At each multiplexing point there are more extreme outliers of packet contention, as a result of a bid for ever-more speed.
Thus the growth of non-stationarity undermines the value of networks to users. Attempts to combat it through over-provisioning and idle resources undermine the economic sustainability of packet networks.
What should we do about non-stationarity?
There are two things that the broadband industry needs to master as a result.
The first is to measure (non-)stationarity. Present network measures capture the wrong data, and thus the wrong things are being managed. Regulators in particular need to grasp this, since measurement is de facto regulation.
The second is to schedule the traffic so that the most quality-demanding flows get the stationarity they need, and that the non-stationarity is experienced by those flows that can most withstand it.
If we make these changes, it will help to secure the value customers seek, as well as a sustainable cost structure.
For the latest fresh thinking on telecommunications, please sign up for the free Geddes newsletter.