@PhdThesis{rauch:thesis,
  author = {Felix Rauch},
  title = {Distribution and Storage of Data on Local and Remote Disks in
  Multi-Use Clusters of PCs},
  year = {2003},
  school = {Dept. of Computer Science, Swiss Federal Institute of Technology
  (ETH Zurich)},
  address = {Zurich, Switzerland},
  note = {Full online publication to follow},
  URL = {http://www.cs.inf.ethz.ch/~rauch/diss/},
  keywords = {Cluster of PCs, commodity computing, data streams, multicast,
  cloning, data storage, distributed file systems, distributed devices,
  network-attached disks, OS image distribution, pario-bib},
  abstract = {Over the last few decades, the power of personal computers (PCs)
  has grown steadily, following the exponential growth rate predicted by
  Moore's law. The trend towards the commoditization of PC components (such as
  CPUs, memories, high-speed interconnects and disks) results in a highly
  attractive price/performance ratio of the systems built from those
  components. Following these trends, I propose to integrate the commodity IT
  resources of an entire company or organziation into {\em multi-use clusters
  of commodity PCs\/}. These include compute farms, experimental clusters as
  well as desktop PCs in offices and labs. This thesis follows a bottom-up
  architectural approach and deals with hardware and system-software
  architecture with a tight focus on performance and efficiency. In contrast,
  the Grid view of providing services instead of hardware for storage and
  computation deals mostly with problems of capability, service and security
  rather than performance and modelling thereof. \par Multi-use clusters of
  commodity PCs have by far enough storage on their hard-disk drives for the
  required local operating-system (OS) installation and therfore there is a lot
  of excess storage in a multi-use cluster. This additional disk space on the
  nodes should be put to a better use for a variety of interesting applications
  e.g.\ for on-line analytic data processing (OLAP). The specific contributions
  of the thesis include solutions to four important problems of optimized
  resource usage in multi-use-cluster environments. \par Analytic models of
  computer systems are important to understand the performance of current
  systems and to predict the performance of future systems early in the design
  stage. The thesis instroduces a simple {\em analytic model of data streams in
  clusters\/}. The model considers the topology of data streams as well as the
  limitations of the edges and nodes. It also takes into account the
  limitations of the resources within the nodes, which are passed through by
  the data streams. \par Using the model, the thesis evaluates different
  data-casting techniques that can be used to replicate OS installations to
  many nodes in clusters. The different implementations based on IP multicast,
  star-, tree- and multi-drop--chain topologies are evaluated with the analytic
  model as well as with experimental measurements. As a result of the
  evaluation, the {\em multi-drop chain\/} is proposed as most suitable
  replication technique. \par When working with multi-use clusters, we noticed
  that maintenance of the highly replicated system software is difficult,
  because there are many OS installations in different versions and
  customisations. Since it is desirable to backup all older versions and
  customisations of all OS installations, I implemented several techniques to
  archive the large amounts of highly redundant data contained in the nodes' OS
  partitions. The techniques take different approaches of comparing the data,
  but are all OS independent and work with whole partition images. The {\em
  block repositories\/} that store only {\em unique\/} data blocks prove to be
  an efficient data storage for OS installations in multi-use clusters. \par
  Finally we look at the possibilities to take advantage of the excess storage
  on the many nodes' hard-disk drives. The thesis investigates several ways to
  gather data from multiple server nodes to a client node running the
  applications. The combined storage can be used for data-warehousing
  applications. While powerful multi-CPU ``killer workstations'' with redundant
  arrays of inexpensive disks (RAIDs) are the current workhorses for data
  warehousing because of their compatibility with standard databases, they are
  still expensive compared to multi-use clusters of commodity PCs. On the other
  end several researchers in databases have tried to find domain specific
  solutions using middleware. My thesis looks at the question whether, and to
  what extent, the cost-efficient multi-use clusters of commodity PCs can
  provide an alternative data-warehousing platform with an OS solution that is
  transparent enough to run a commodity database system. To answer the question
  about the most suitable software layer for a possible implementation, the
  thesis {\em compares different distributed file systems and
  distributed-device systems\/} against the middleware solution that uses
  database-internal communication for distributing partial queries. The
  different approaches are modelled with the analytic model and evaluated with
  a microbenchmark as well as the TPC-D decision-support benchmark. \par Given
  the existing systems and software packages it looks like the domain specific
  mid\-dle\-ware-approach delivers best performance, and in the area of the
  transparent OS-only solution, distributed devices are faster than the more
  complex distributed file systems and achieve similar performance to a system
  with local disks only.},
  comment = {See also rauch:partitioncast}
}

