Thursday, May 19, 2016

SSD Sneakernet

Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.
-Andrew S. Tanenbaum, Computer Networks, 4th ed., p. 91
Twenty years ago the standard of measure of a high-throughput Sneakernet was a station wagon full of tapes. In 2016, we can do a little better. Let's see what we can do with a station wagon and modern storage. First, let's start with a fancy Volvo XC90. It has 85.7 cu.ft. of cargo space and a maximum load of 1521 lbs (148089.6 and 24336 ounces, respectively). (For those nostalgia Volkswagen fans, you can mentally think of 1982 Vanagon which has similar cargo capacity of 93 cu.ft.)

You might jump to a large HDD, like a WD Blue 6TB HDD. It has the dimensions of 5.8 x 4 x 1 inches and a hefty weight of 15.8 ounces. Those dimensions give us 23.2, meaning we could fit 6383 drives into the XC90. When you look at the weight of all those drives, adds up to 100851.4 ounces (6303lbs), which is way more than the car can handle. So, we can look at it the other way, how many can we fit by weight. The answer is 1540 drives, providing 9240 TB (9.24 PB) of bandwidth.

If we were to consider the edge cases of loading the data on to and off the disks (left to the reader to add to the calculations), we have to take into consideration the transfer speeds of the drives. In which case we should also consider SSD's, since they do offer significantly superior transfer speeds. For example, the highly rated Samsung 850 PRO 2 TB SSD. It has the dimensions of 3.9 x 2.8 x 0.3 inches (3.276 and a feather-weight of 1.9 ounces. I almost can't believe it, but that means the XC90 could fit 45204 drives. Though we run into the weight issue again and have to limit ourselves to 12808 drives. That provides for 25616 TB (25.62 PB) of bandwidth. So, clearly SSDs are the way to go.

One angle I don't see discussed often is the units for this kind of transfer. We can't just take the total bandwidth and say "per second". The same data is transferring in half a second and over an hour. We all know that cars are driven in miles per hour. So the units we have available are TB * miles / hour. We can make the simple conversion to seconds to make it feel more like a fiber OC192 link, but we eventually have to deal with the distance aspect of the units, which for us is miles.

Let's compare transferring the data from the car (travelling at 80mph) versus a Gigabit ethernet, a 10 Gig and a 100 Gig connection:

The larger scales make it hard to see, so here are the numbers:

The times are in seconds, so 4.50E+02 is 450 seconds, which is 7.5 minutes. So, this is saying over the course ten miles, it'll take the car 7.5 minutes to transfer the 25.62 PB while the 100 Gig Ethernet will take 569 hours (2,049,280 seconds divided by 60 seconds in a minute and divided again by 60 minutes in an hour). The station wagon wins! Only until about 45,000 mile mark does the 100 Gig Ethernet catch up. Logically, the 10 Gig Ethernet catches up around 450,000 miles and the 1 Gig Ethernet catches up at 4,500,000 miles.

A quarter million miles is an interesting number because it's the distance to the moon. So.... an XC90 could drive to the moon with 25.62 PB of SSD drives and still be twice as fast as a direct 10 Gig Ethernet connection to the moon. Sneakernet FTW!

(Apologies to every country except the USA for use of the Imperial system.)