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:

tubes

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.

Conclusions

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

Go thou and do likewise.

 

Advertisements

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 )

Google+ photo

You are commenting using your Google+ 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 )

w

Connecting to %s