A related area that might well be worth revisiting is cooling. IIRC, it was someone from Google, at the Intel developer conference, who said that their power and HVAC costs were rapidly approaching the cost of their servers. He laid down a challenge for chipmakers to be more energy-efficient.
And what about all those diesel generators? How many of them are capable of running on vegetable oil rather than diesel oil? I regularly walk past a building in London that reeks because of the diesel fuel tanks in the basement. You have to wonder about the safety of storing large amounts of petroleum oil in the centers of major cities when vegetable oil is safer, and more carbon-friendly. But back to chips and heat generation. Has anyone instrumented some of these servers (and their software) to figure out how much heat various functions generate? A few months ago, I walked away from my desk to get a cup of tea, and stretch my legs for a few minutes. I was away about 25 minutes and when I came back, my laptop had a scorched smell coming out of it (probably dust on the cpu chip). I closed all my apps, shut it down, waited 5 minutes to let it cool and restarted it. After a while, I noticed the smell again, shortly after I restarted an Oracle client install that I hadn't completed during the earlier incident. This install wasn't completing because I didn't have the right information to identify which database servers to connect to and it was spinning its wheels. This particular application was generating so much heat that the dust on the CPU chip was being scorched. I closed the app, and the smell faded. So, how do we know that the heat generated by all this software on all these servers is actually providing any value at all to either the data center owners or the server owners? In order to know this, we need to measure what is generating the heat, then change the software to remove bad behaviors. Since a lot of these servers are running open source software, this is not as hard to implement as you might think. I suspect that you would need to make special modifications to the hardware of a server to install temperature and current measuring devices in key locations and feed all this data into a separate machine for analysis. Also, I expect that the embedded system industry with their experience of building low-power consumption devices, might be able to help out. --Michael Dillon