Jan 12 2008

greener hosting through smaller machines?

Published by matt at 21:33 under

To keep a weblog like this on the Internet requires a computer to be running, somewhere, 24 hours a day, seven days a week. My weblog, in short, consumes natural resources so that my blather can be read by a handful of wonderful, beautiful people.

In truth, there is much more running on this machine than just this weblog; services that provide support for collaboration on software development, writing, and research run on the same host. So, the environment is not being destroyed purely for my own vanity. And furthermore, the “machine” this weblog lives only consumes part of the resources of a real machine: the blog lives on a “virtual computer,” one of many running on a single, physical computer in a datacenter somewhere in England.

But that physical computer is resource hungry; it probably has seven to ten fans, a large power supply, and multiple hard drives. It draws a substantial current and generates a non-trivial amount of heat. That heat is death to a data center, and must be moved; this implies some kind of air conditioning or environmental control. All of this, ultimately, adds up to a lot of resources to keep computers running all day and all night, every day of the year.

There are such things as green hosting facilities. The Green Data Center is one. They run on 100% renewable energy with a 100% uptime service level agreement. Now, please keep in mind that I am currently in love with our current hosting provider, Bytemark Hosting. They are professional, responsive, and excellent providers. I’ve never worked with anyone else, but I find it hard to imagine anyone providing a better service. Equivalent, perhaps, but not better.

Running a colocation facility on wind power is one way to go green. Another is to reduce the resources involved in running a colocation facility. Specifically, can we provide good hosting opportunities to customers that draw fewer resources while providing suitable amounts of computational power and storage?

Going virtual

One way to achieve this is to virtualize—to run multiple, virtual computers on one physical computer. Lets consider the Apple Xserve; this beast has 8 processing cores, and contains either one or two 650W power supplies. That wattage, one way or another, is turned into heat. With 8 cores and a maximum of 32GB of RAM, I could run a lot of virtual machines. In fact, let’s play pretend, and get specific: an Xserve with 8 cores, 8GB of RAM, and a pair of (fast) 300GB drives with hardware support for three years costs roughly $8000.

If I assume a 3-to-1 ratio of virtual machines to processor cores, I have 24 virtual computers running on this one physical host. I can allocate roughly 250MB of RAM to each VM (leaving 2GB for the host), and 10GB of disk for each. If we assume that these 24 virtual machines keep the server running reasonably hard all the time, then we might estimate that each virtual machine is responsible for drawing 25W. If I want to attach a cost to these virtual machines, they cost me $330 each in my initial cash outlay. (I have no idea if these numbers are at all indicative of how hosting providers provision machines in the real world.)

Conclusion: Each virtual machine draws 25W, has 160MB of RAM, 10GB of disk, and roughly 800MHz of processing power. (Because these are shared values, and I’m unsure about the performance penalties of this kind of virtualization, we’ll have to take all these numbers with a grain of salt. And my power guestimate is just that… a brute-force division of 650W by 8 VMs on the host.)

Going small

What struck me today was that we could also go small. One might be to build systems on something like the pico-ITX standard. VIA makes the only motherboard in this class right now. The motherboard can easily be configured with a 1GHz processor, 1GB of RAM, and compact flash for storage. The motherboard costs $230, RAM around $20, and a large flash card (say 16GB for the OS) runs around $90. A power supply will add another $50, which puts us at approximately $390 for a dedicated host. The neat thing is that, running flat out, a pico-ITX-based system like this is likely to draw less than 15W (based on this review at mini-itx.com). At idle, I expect that number to be even lower.

Conclusion: A pico-ITX based computer draws 2/3rds the power, has 4x the RAM, and roughly the same processing power as my proposed virtual machines, at roughly the same cost/machine.

Apples and oranges?

No pun intended, really. Is this comparing apples and oranges? It is certainly the case that, per machine, a host based on a tiny motherboard and flash-based memory is going to draw less power and dissipate less heat—there are no moving parts. (Hard drives are, I believe, a substantial source of heat generation in colocation facilities… and also prone to failure.) Whether flash-based storage is (one) more reliable and (two) faster or slower than a shared system built on a 15K RPM disk is something I’m not interested in figuring out right now, so I leave those as questions.

While a small machine like this has a higher initial cost, they can be bought piecemeal (unlike Apple Xserves). This means that a hosting provision based on it can be grown with limited capital over time. Each machine is dedicated to a single customer, who enjoys more RAM and processor power than if they were on a shared host. Special configurations can easily be offered; for example, we might want to run RAID1 on a pair of flash drives. And, it is possible that environmental control would be easier with racks of smaller machines (generating less heat) as opposed to racks with fewer, larger machines. Certainly, 8x machines of this class must draw far less power when idling than an Xserve ever will. Unless, that is, the entire Xserve idles somewhere around 40W.

Is this just wild fancy?

It is possible I’ve wandered off into a land that I shouldn’t, and this is all just wild speculation. Perhaps my gustimations about power consumption of these little computers is way off, and it would be far more inefficient than virtualization. The TCO of many small machines may be much, much higher than maintaining one big one. At the same time, there is something appealing about a colocation facility that uses small, low-power, dedicated machines to support common hosting tasks. Or, perhaps we’re all going to be using Amazon EC2 instances in the future? Who knows.

However, I’d really like to get my hands on such a system and find a colo facility that would let me experiment with it in a production environment. Perhaps I’ll write Bytemark, and see if they’re interested in taking part in an experiment…

2 responses so far

2 Responses to “greener hosting through smaller machines?”

  1. Noel Welshon 13 Jan 2008 at 04:00

    Interesting idea dude. It could be fun to play with these, and I really like the idea of using a flash HD. There certainly is a small but steady demand for PLT Scheme hosting, but that is probably another issue…

  2. Daveon 14 Jan 2008 at 13:40

    Certainly a worthwhile chain of thought, considering that in 2006 Data Centers used a staggering 1.5 percent of all U.S. electricity (source: http://yosemite.epa.gov/opa/admpress.nsf/0de87f2b4bcbe56e852572a000651fde/4be8c9799fbceb028525732c0053e1d5!OpenDocument)

    Of course, that doesn’t even begin to attack the 800 lb. gorilla in the room – personal computers and other electronics. It boggles my mind that I’m somehow okay with constantly running a hot and energy-hungry television-recording PC, yet I carefully turn off my 40-60 watt lightbulbs whenever I leave the house.

Trackback URI | Comments RSS

Leave a Reply