a series of pipes …

No, no, this is for illustrating bandwidth, not a deranged description of the internet by a mad trapper.

This week’s problem

Recently I was in a discussion of pipeline performance with a number of folks, ranging from a networking engineer, to a developer and to some dev/ops folks. We were trying to compare a bunch of incommensurables like threads, processor load, network bandwidth (in powers-of-two bits per second) and disk throughput (in powers-of-ten bytes per second). It was confusing enough that it was leading us astray.

So we drew a picture, the usual boxes-and-arrows on the whiteboard, and annotated it with everything we knew, but we were still a bit fuzzy.

Then we converted everything into bits/second and drew something like this:


We knew the fastest part was the network, at 2 Gbit/S, so we drew the diagram from 0 to  2 Gbit/S, and it became obvious that the middle part (in red) was the bottleneck.

This concentrated our attention most wonderfully, and the devs and dev/ops guys beat it into submission later that day.


Drawing scale models is as good in software engineering as it is in civil engineering.

Go thou and do likewise.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s