The computing industry is evolving toward a world where an increasing fraction of global computation and storage will be delivered from a relatively small number of dense data centers. I think that is yet another very exciting to be in computing as we are once again in the process of reinventing what the computing model will look like ten years out. Here I will talk about some of the drivers behind this trend. A comprehensive discussion of these issues and more can be found in James Hamilton’s excellent Perspectives.
The driving forces behind this evolution are economics and convenience. From an economic perspective, energy costs, rather than initial capital outlay, can dominate the cost of operating computing and storage equipment. In this environment, operating large numbers of computers in regions of the world with cheap and clean power can incur an order of magnitude less cost while simultaneously making computing more environmentally friendly. Similarly, a well-run, dense data center may require an order of magnitude fewer people to operate than similar amounts of computing spread across multiple organizations and physical locations.
Finally, most computers operate at less than 10% (and often less than 1%) overall utilization when measured over long time scales. The advent of virtualization technologies allows for the multiplexing of multiple logical virtual machines onto individual physical machines, allowing for more efficient hardware utilization and also enabling end users and organization to only pay for the resources that they actually require at fine granularity. Using 100 computers for 1 hour costs the same as using 1 computer for 100 hours without the need to procure and manage 100 computers for the long term.
Much of the computation running in data centers today run in parallel on hundreds, thousands, or even tens of thousands of processors. A simple search request to Google, Yahoo!, etc. runs in parallel across a multi-petabyte dataset on thousands of computers. Results must be returned interactively (e.g., less than 300 ms) for queries that require significant computation and communication. At the other end of the interactivity spectrum, companies wish to run very large-scale data processing and data mining on their own petabyte-scale datasets. For example, consider queries running over all the items stocked and sold by Walmart.
My group has become very interested in some of the issues in:
- building out large-scale data centers, particularly the data center network infrastructure;
- programming and managing applications running across multiple wide area data centers.
I will summarize some of our work in these areas in subsequent posts.