« A Real eBay Architect Analyzes Part 3 | Main | Latency Exists, Cope! »

Monday, January 15, 2007



Good article! This is a topic that a lot of people do not think about. Will be interesting to see the products that come out based on this.

Ashish Jain

Meaningful article after long time. For me, takeaway would be "virtualization" and "process management". We have happily developed applications on 486 in past and now, we want intel core2 to develop faster? As price per transaction is going down, companies are leaning towards ignoring txns/watt.. but they want business value.

Dossy Shiobara

Wow, Dan, I've been laughing at folks who say "yeah, we're horizontally scalable" when I ask them "how much does your scalability cost per square foot?"

Man, you make me wish that eBay had an engineering office in New Jersey. I'd totally work with someone like you. :-)


I just wanted to point out that transactions/second/Watt is the same as Transactions/Joule.


"So you now have 3 servers running at 17% utilization, essentially wasting 83% of their watts."

Umm.. No..

A computer does not consume the same amount of electricity when idle, or under full load. Similarly, when it is only partially loaded it does not draw full wattage.

Go. Try and measure it. ;-)

Dan Pritchett

I knew somebody would call me on the power utilization at load vs idle. Fair enough but there is a fixed overhead even at idle and the power doesn't reduce to 17% of max at 17% load. So there are still wasted power when running servers at partial utilization.

For anonymous, yes your unit conversion is accurate. But benchmarks tend to measure TPS and spec sheets are in watts. That makes those units far more usable.

Dan Pritchett

To further clarify, yes, I made an error by stating transactions/watt. Transactions are not a measure of business work rate which was my intention.

To state it more abstractly, measure the ratio of business benefit to power consumption. The units are irrelevant as long as you can measure them.


I agree that although premature optimization may lead to diminishing returns, we as programmers could do much more to improve the efficiency of our software and, ultimately, the power it consumes.

There also has to be a commitment from organizational leadership to allocate the time and resources necessary to achieve this goal, i.e., project schedules and budgets must be adjusted. Which begs the question, who's going to foot the bill? Customers and end-users?

Ugh, this is starting to sound like every environmental debate. Perhaps this is best presented as a cost-savings issue (and it is).

It would be great to see data centers throwing solar panels up on the roof to supplement their power supply.


This is quite an interesting discussion that often gets overlooked. Where you say something scales horizontally, you always have to ask - at the expense of what a another commentor mentions above.

I am personally leaning towards the grid concept on top of high-powered clusters. I think companies like 3tera have the right idea although I don't think the optimal pricing model is there. ergo - while you've scale horizontally via hardware, your entire software infrastructure can utilize the underlying resources more effectively and efficiently. But this again comes at the cost of ensuring the network backbone is there to support such feats.

Jim Stogdill

Great discussion.

A while back I was reading about Google's determination of the maximum latency that they could allow to achieve user satisfaction (and more importantly, keep the user from cancelling the request).

About the same time I read that Google will typically spend more on the electricity for a server over its life than they spend on the hardware itself.

It got me wondering whether, not just system architects, but user experience architects would at some point have to consider the cost per click of their design decisions. If you are curious you can read the post here: https://limnthis.typepad.com/limn_this/2006/12/juice_per_click.html

On a related note, some of our enterprise customers are beginning to look hard at the cost of powering data centers and are asking us for advice.

I agree with your recommendations though none of them yet address the most fundamental issue in my view, and that is the efficiency of the servers themselves. Virtualization and utilization can only go far when the underlying servers are using 100 or more watts each. Kind of like telling someone with a 5 Liter V8 to make sure they take trips with the car full and accelerate gradually.

Addressing more aggressively the underlying cost to power a chip will also have tremendous aggregated value with improving the efficiency of those impossible-to-virtualize personal computers (even if an individual user could not yet care less rather their PC uses 125 watts or only 75).

The parallels with the automotive industry and CAFE rules become kind of striking in that context.


See: https://www.ecologee.net the Wiki for environmental friendly IT and Hosting with green power for more information!

The comments to this entry are closed.