« The Scenario-ator's Dilemma | Main | More Bus Adventures »

February 15, 2006

Servers by the Yard

Someone was talking today about the numbers of servers that MSN uses. Basically a whole bunch, and a lot more coming.

Now in the early days of data centers, it was considered a radical and mind-expanding notion to think of a server as a single component. Meaning that if anything on a server broke you just took it out, plopped in a new one, and only then did you bother to try to diagnose what was actually wrong with it (if you even bothered at all). In contrast with desktops where still to this day if the hard drive breaks you replace only the hard drive, if the network card melts down you replace only the network card, etc. (maybe some corporate desktops are not managed this way, but home machines certainly are).

Fine, but now with the giant data centers you need to think outside the box, as it were. Because in the future you may want to deal with servers in units of more than one. So you might swap your servers out in units of eight, once, say, two of them stop working. Think of it like shopping for servers at Costco--they come bundled in multi-packs.

To aid in wrapping our minds around this brave new world, I hereby propose that we (meaning everybody in the world) adopt the term "yard" to mean 96 rack-mounted servers. With this nomenclature, a data center with 200 servers would be a two-yard data center, a data center with 10,000 machines would be a hundred-yard data center, etc.

96 was chosen because it's a multiple of lots of numbers that servers tend to be racked in -- 16, 24, 48, etc (although racks seem to come in whatever random number of slots will fit a certain cabinet size, like 26 or 42). But, there is also the lovely imprecision caused by the 96-vs-100 factor. I like the fact that a K is not exactly 1000 (of course, I'm a big geek). Similarly, a yard is not exactly 100. But since it is less than 100, it tends to correct itself in large numbers. A kiloyard (1024 yards) is 98,304 servers, which is proportionally closer to 100,000 than 96 is to 100. And when you get up to 9 digits, a megayard of servers is 100,663,296 servers, which is pretty close to 100 million. Sure it's off by 600,000+ servers, but it's much closer than a megabyte is to 1 million, and nobody seems to mind that one.

Posted by AdamBa at February 15, 2006 03:45 PM

Trackback Pings

TrackBack URL for this entry:


"kiloyard" is just wrong. You cannot mix English and metric like that! The right unit should be a "mile" of servers, which is 1,760 yards or 168,960 servers.

Many big datacenters measure things in units of racks. "we have 2 racks of storage here and 4 racks of compute blades here". This is because successful (and therefore growing) datacenters are constantly constrained by space, power and cooling. Maybe you could just measure servers in units of watts or BTUs. Of course it is not just servers in the racks, also switches and storage arrays, etc.

Posted by: jvert at February 15, 2006 04:46 PM

The problem with measuring it in racks is that a rack is not precise. For a given datacenter it may mean a certain number of servers, but there's no consistency between them. That's why you need a term for lotsa servers that is not dependent on the size of your rack (ahem).

You (separately) make a good point, a yard is 96 servers plus the appropriate network switches, power supplies, etc. I suppose at some point in the future you will swap servers in and out one entire yard at a time.

John, you can spread the term in HPC, that'll be a start. Thanks.

- adam

Posted by: Adam Barr at February 15, 2006 11:27 PM

Dude, you have too much free time... Get a book! :D

Posted by: Andrés at February 16, 2006 04:13 AM