Wednesday, August 31, 2011

The Datacenter as a Computer (Chapters 1, 2)

Motivation:
Introduce the concept of warehouse scale computers and outline the
differences with traditional datacenters. The first two chapters
introduce the architecture and software components such clusters.

Main Ideas:
- There is a broad shift to server-side computation due to the ease of
deployment and the growing influence of large scale workloads like
websearch.
- Warehouse-scale computers are defined as clusters consisting of
thousands of machines and services which are deployed across them.
With such large scale, failures are commonplace and are a part of the
design.
- The architecture of the warehouse scale computer consists of a set of
servers arranged in racks and connected by a rack-level switch. The
racks are then connected by a cluster-level switch which could be
over-subscribed by a factor of 5 or 10.
- The bandwidth and latency varies a lot for memory / disk accesses
on a local machine vs. machines in the same rack vs. machines in other
racks.
- There are many levels of software components in a warehouse scale
computer. The resource manager, storage servers and monitoring
infrastructure are examples of lower-level software components
- Applications in warehouse scale clusters could be latency senstive
like websearch or batch processing jobs like indexing and article
similarity.

Trade-offs, influence
- This work analyzes many trade-offs involved in constructing a
warehouse scale computer. These include
- Using NAS storage solutions vs. distributed file system like GFS.
GFS provides better availability and performance benefits for locality
aware applications.
- Choice between buying and building software components for warehouse
scale computing. Building components in-house gives more flexibility
and ease of maintenance.
- Software components can also trade-off between advanced features and
performance. For example, Bigtable does not support multi-row
transactions and GFS does not have POSIX semantics. These are not
frequently used in the workloads observed at Google, Microsoft etc.
- The advent of warehouse scale computers has been a key driving factor
for the rise of cloud computing. With increasing operating costs for power
consumption, warehouse scale computers can help in building more
efficient systems to support newer applications.
However, there will be a client-side component for most of the
applications (the authors acknowledge this) in say a mobile device or
a web-browser. With changing hardware costs, there could be a shift in
the most efficient way to split the computation between the server and clients.