Last week, Professor Mor Harchol-Balter visited us at the University of Toronto to deliver a talk as part of the Department of Computer Science’s Distinguished Lecture Series. During her excellent talk, she showed how intuition often fails us when scaling systems to meet a given load, even with perfect information of load patterns, whereby the amount of computers is over-estimated (thereby increasing energy use due to over-provisioning) and presented some results that will be appearing in conferences soon with experimental results related to power saving policies in data centres. One of the examples she gave of intuition breaking down is, given n computers serving r requests per unit time, load l, and a response time of t per request, how many computers are required to maintain response time t and load l if r increases by, say, a factor of one hundred?
During her talk, Professor Harchol-Balter mentioned that banks refuse to share computing power with anyone else. This seemed like a missed opportunity for energy savings in the form of virtualization, although, in the short term economic analysis, millions of dollars of power saved is chump change for these institutions. I later asked her about this and she conceded that they’d be willing to share their servers with other instances of their own software, given certain constraints. Which brings us to a continuation of my previous depth paper excerpt blog post Energy-proportional computing.
Consolidating load
One approach used in the past was to run distributed computations on these computers in an attempt to make use of idle CPU time. Unfortunately, many people began running computers for the sake of contributing more to the project. Another approach that has recently been gaining popularity is the use of virtualization technology. A more powerful version of early timesharing systems, virtualization was previously the domain of mainframe computers but has made its way into readily available solutions that run on conventional servers and desktop systems. Hypervisors such as Xen and virtualization software requiring a host operating system such as VMWare Workstation and VirtualBox now allow better utilization of the CPU, hard drives, RAM, and other computer components — all of which consume power. Some of this software permits live migration of running systems to new machines when utilization of existing machines becomes high.