The same problems of power and heat appear to be emerging as limiting factors in the design of large scale web-centric systems. Scaling up or scaling out from a logical perspective involves adding more servers, but again only to a point because tens of thousands of servers will eat prodigious amounts of power and in turn cast off considerable heat. Thus, it's no surprise the Google is building many of its new centers near rivers, where there exists the promise of cheap electricity and relatively free cooling. However, the costs of energy are not that elastic: for small systems, one can largely ignore the power bills, but there comes a threshold one crosses where power and heat at the macro level become part of the systems design problem. Adding a few thousand more servers might seem like the right logical thing to do, but it may be physically and/or economically impractical.
Software developers have gotten away with being sloppy because of the abundance and rate of growth of compute cycles. However, the problems of large numbers start to intrude: just as power and heat become factors in the presence of tens of millions of transistors, power and heat become architectural considerations in the presence of teraflops of computation and petraflops of storage.
Quote of the day: