Department of Electrical and Computer Engineering
University of Toronto

 

ECE496Y Final Report

“Building computer clusters using surplus computer systems”

Project # 1442000

 

Prepared by:

Davison Avery <davery@aquezada.com>

David Cheung <cheungd@sympatico.ca>

Julian Dunn <jdunn@aquezada.com>

Edward Son <son@ophelia.aquezada.com>

Supervisors:

Prof. Raymond Kwong

Prof. Angelos Bilas

Project Coordinator:

R. Gillett

Section Number:

4

Date:

April 11, 2001


1                      Executive Summary

In this report we describe the results of an eight-month long project whose objective was to build a distributed computing cluster out of a collection of obsolete Sun SPARCstation computers owned by the Department of Electrical and Computer Engineering at the University of Toronto. We begin by outlining the contributions of each group member to the project, as well as both our original and revised schedules. We then give a condensed summary (from our original technical proposal) of the paradigms of cluster computing with reference to some of the published literature on the topic. This is followed by detailed information about each of the software packages we tested, the qualitative and quantitative results obtained from those tests, and a description of the methodology used for obtaining those results. We end by giving specific suggestions for the use of these machines, as well as ideas for future research. In particular, we see the need to develop a systematic methodology for performance testing of cluster computers, and we outline how our results from the performance testing of the Beowulf cluster could be used as the foundation to develop such a methodology.


2                     Team Member Contributions

2.1                 Davison Avery

I contributed to this project with my research into Transparent Parallel Computing (TPC), and then further with TPC application and benchmark surveys. After this phase of the project was completed, I assisted in the operating system, software installation and configuration for the LVS package. I assisted in the evaluation of the Webstone data collection and final analysis. I also assisted in the evaluation of the LHA package.

I participated in the Oral Presentation preparation and delivery. After this, the MPV Package Evaluation phase was started, where I assisted in the installation and configuration of the operating system for the Beowulf cluster. I installed the PVM libraries and setup the PVM environment, after which I assisted to install our PVM benchmarking application.


2.2                 David Cheung

During the course of the project, my major responsibilities were set up and testing for the High-Availability Linux Project (LHA), building a regression model to assess the performance of our IPC Beowulf cluster, and research on initial benchmark, WebStone. In this report, I am responsible for the LHA and the Performance Assessment of Beowulf Cluster chapters and its Appendices.

2.2.1               High-Availability Linux Project

During the month of January and February, I concentrated on setting up and testing the various features of LHA. This process was rather straightforward.

2.2.2               Performance Assessment of Beowulf Cluster

During the month of March, I had been working on assessing the performance of our Beowulf cluster. After my colleagues have successfully set up the Beowulf cluster and installed the required components, I started my assessment process. My plan was to generate thirty data points with a few different configurations; due to our limited resources, I decided to perform the rendering with a Beowulf cluster with SPARC IPC workstations only, and a Beowulf cluster with a SPARC Classic as the dispatcher and SPARC IPC workstations as internal nodes. Then, regression models are created for both of the configurations, and I was able to come up with the following hypothesis:

The performance of a Beowulf Cluster is inversely related to the number of nodes in the Beowulf cluster.

 


2.3                 Julian Dunn

I contributed to the project in many different areas, but my primary role was as the architecture/infrastructure support person. Since I have substantial systems administration experience, I assisted with the hardware and software setup during the various phases of the project.

2.3.1               Setup of Support Machines

Early in the project it became evident that we would need more than one machine for support purposes. As such, I decided to assemble a group of support machines, each of which would have a small number of roles. Their setup and roles will be detailed later on in the report, but I was responsible for setting up the machines named fs, vader, metaxa and muon. The first three were support machines, and muon was a machine we used as our Beowulf dispatcher. I maintained the machines throughout the life of the project.

2.3.2               Cluster Setup

I helped with setting up some of the Linux installations on our cluster machines (the IPCs), as well as helping in the various ways with the different projects:

Linux Virtual Servers: Set up Apache web server on cluster machines, and performed runs of Webstone benchmarking program.

Beowulf: Compiled POV-Ray benchmark on orpheus, our baseline test machine. Collected results from uniprocessor POV-Ray runs on orpheus. Assisted Davison and David with setup of multiprocesor PVM-POV on cluster, particularly with set up of X terminal display for poster presentation demo.


2.4                 Edward Son

My contributions to the design project involved both background support, setup of applications and hardware, and installation of operating systems. I also played a large role in terms of documentation and public relations. Specifically, I was partly responsible for compiling and editing the technical proposal, final report, poster board, and the presentations that our group ran. I also composed different versions of our technical proposal for various paper competitions, the Ontario Engineering Competition and the Canadian Conference of Electrical and Computer Engineers.

2.4.1               Setup Phase

·         Researched applications and benchmarks that could be implemented on our cluster

·         Assisted David with the hardware configuration survey

·         Assisted Julian with the test machine(s) setup

·         Acquired Solaris operating system CDs from Peter Pereira

·         Acquired Design Centre Space and Cabinets from Norm Baccari

 

2.4.2               Linux Virtual Server

·         Performed some Linux operating system installations

 

2.4.3               Beowulf

·         Assisted in the setup and installation of Beowulf software

·         Assisted in the installation of PVM/MPI libraries

·         Assisted in setting up POV-Ray for the Beowulf cluster

 

2.4.4               EnFuzion

·         Installed Solaris operating system

·         Assisted with setup of cluster for EnFuzion

·         Performed EnFuzion application setup


 

2.5                 Team Members’ Contributions to Final Report

The following table will describe each team member’s contributions to this report.

Team Member

Contribution

Davison Avery

·         Wrote Section 8.2: LVS

·         Co-wrote Section 8.4: Beowulf

·         Wrote Appendix A

David Cheung

·         Wrote Section 8.3: LHA

·         Co-wrote Section 8.4: Beowulf

·         Wrote Appendices B & C

Julian Dunn

·         Wrote Executive Summary

·         Wrote Section 8.1: Infrastructure

·         Co-wrote Conclusions

·         Wrote Appendix D

Edward Son

·         Wrote Introduction

·         Wrote Section 8.5: EnFuzion

·         Co-wrote Conclusions

·         Wrote References

 


3                     Old Milestones

Because it may be difficult to discern from the following Gantt chart the responsibilities of each group member, we summarize them in point form here as well, sorted by group member.

Davison Avery: Parallel package, application and benchmark research. Operating system and package setup for transparently parallel cluster software (e.g. Linux Virtual Servers). Assist with setup of Beowulf Linux.

David Cheung: Hardware configuration survey. Installation of operating system and test suite for some transparently parallel software (e.g. Linux High Availability). Performance testing of Beowulf cluster.

Julian Dunn: Operating system selection, installation and support. Hardware requirements research, setup of test machine(s). Benchmark setup for Parallel Virtual Machine (PVM) data-gathering.

Edward Son: Assist with hardware configuration and test machine setup. Setup of some PVM packages. Beowulf performance testing.


Gantt Chart: Old Milestones


4                     Revised Schedule


5                     Acknowledgements

Thanks to:


6                     Table of Contents

1      Executive Summary. 2

2      Team Member Contributions 3

2.1        Davison Avery. 3

2.2       David Cheung. 4

2.2.1     High-Availability Linux Project 4

2.2.2     Performance Assessment of Beowulf Cluster 4

2.3       Julian Dunn. 6

2.3.1     Setup of Support Machines 6

2.3.2     Cluster Setup. 6

2.4       Edward Son. 8

2.4.1     Setup Phase. 8

2.4.2     Linux Virtual Server 8

2.4.3     Beowulf 8

2.4.4     EnFuzion. 8

2.5       Team Members’ Contributions to Final Report 9

3      Old Milestones 10

4      Revised Schedule. 13