Fallacies of Distributed Computing: 3. Bandwidth is infinite
Tags: distributedcomputing
Published: 2020-05-05 00:00:00

---
title: "Fallacies of Distributed Computing: 3. Bandwidth is infinite"
date: "2020-05-05T00:00:00.000Z"
tags: ["distributedcomputing"]
---

[The fallacies of distributed computing](https://web.archive.org/web/20171107014323/http://blog.fogcreek.com/eight-fallacies-of-distributed-computing-tech-talk/) are a set of assertions describing false assumptions made about distributed systems. 

[L. Peter Deutsch](https://en.wikipedia.org/wiki/L._Peter_Deutsch) drafted the first 7 fallacies in 1994, with the 8<sup>th</sup> added by [James Gosling](https://en.wikipedia.org/wiki/James_Gosling) in 1997.

The 8 fallacies are:

1. [The network is reliable](https://dereklawless.ie/fallacies-of-distributed-computing-1-the-network-is-reliable)
1. [Latency is zero](https://dereklawless.ie/fallacies-of-distributed-computing-2-latency-is-zero)
1. [Bandwidth is infinite](https://dereklawless.ie/fallacies-of-distributed-computing-3-bandwidth-is-infinite)
1. [The network is secure](https://dereklawless.ie/fallacies-of-distributed-computing-4-the-network-is-secure)
1. [Topology doesn't change](https://dereklawless.ie/fallacies-of-distributed-computing-5-topology-doesnt-change)
1. [There is one administrator](https://dereklawless.ie/fallacies-of-distributed-computing-6-there-is-one-administrator)
1. [Transport cost is zero](https://dereklawless.ie/fallacies-of-distributed-computing-7-transport-cost-is-zero)
1. [The network is homogeneous](https://dereklawless.ie/fallacies-of-distributed-computing-8-the-network-is-homogeneous)

## 3. Bandwidth is infinite

### The problem

Bandwidth is the capacity of a network to transmit data over a period of time. While [bandwidth has increased significantly](https://www.nngroup.com/articles/law-of-bandwidth/) over the past few decades, it is not infinite. 

Users may not be fortunate enough to enjoy reliable, high-bandwidth network connections or may experience highly-variable connectivity at times e.g. when using mobile networks. Further, as bandwidth-in-general has increased, so has the requirement to support large volumes of data such as audio and video streams.

### Solutions
Although latency is ultimately a physics problem, bandwidth issues can be ameliorated by throwing more capacity at the problem. However, this can be a financially expensive approach with an upper-bound and may not be applicable to every usage scenario.

In terms of system design, architectural approaches such as [CQRS](https://docs.microsoft.com/en-us/azure/architecture/patterns/cqrs) coupled with a clear understanding of user journeys can assist when optimising data payloads and in establishing the resultant bandwidth requirements. 

Recall that one solution to the [Latency is zero](https://dereklawless.ie/fallacies-of-distributed-computing-2-latency-is-zero/) fallacy is to transmit more data upfront, thus reducing the number of network requests required. This introduces a __potential tension__ with solutions for fallacy 3 given that bandwidth reductions will require less data be sent over a network. Finding the correct balance between the two requires an appropriate level of demand modelling and knowledge of how the system will be used.