@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} }