Chapter 1. Introduction

1.1 Overview of Problem

1.2.1 What is the problem?

The amount of time that is required to compile a large project often is recorded in hours unless the machine is a large supercomputer or mainframe. This time is lost productivity and money to the software developing company. So there needs to be a solution that enables this work to be completed in a shorter period of time than before.

1.2.2 Why this project is a solution?

This project is a simple and cheap solution to implement because it could be incorporated into an existing server farm with minimal effort. The number of computers that can be incorporated depends only on the number of computers available for work. The client takes up a minimal footprint on the participating system thereby using the spare or dedicated CPU cycles for compiling projects without interfering with the prime purpose of the server farm.

1.2 Aims of the Project

The first primary aim is to produce a powerful yet small master, controlling computer, and slaves, participating computers, to perform the work normally done by one computer. Typically only one computer does compilation of software projects. In many companies, these are dedicated costly powerful machines that perform the work but become obsolete very quickly with new advances in computing. Research has been conducted in the area of distributed systems to discover similar solutions.

Researchers have been looking at ways in which more than one computer can perform this same task. One area of research is creating a collection of workstations (a.k.a nodes), often called network-of-workstations (NOW), has been done at University of California at Berkeley. By using a set of available computer and a distributed operating system a variety of tasks can be broken down into smaller parts that each node can perform. This next section will briefly cover the major attributes of what a distributed system can offer.

1.3 Overview of Report

The overall summary of the aims of this project is:

  • Create a powerful yet small master, controlling computer, and slaves, participating computers, to perform the work normally done by one computer.
  • Incorporate existing technologies, like CORBA and distributed file systems, thereby maximum software reuse.
  • Perform test on simple projects to confirm this proof of concept actually works.

Chapter 2 will go into the background information about distributed systems. Chapter 3 will cover background information on technologies that are used in this project. Chapter 4 will cover the actual design and implementation. Chapter 5 will discuss the evaluation of the project and design changes for the future. Finally Chapter 6 will draw up the conclusion and final thoughts.


Previous: Table Of Contents Home Next: Chapter 2 - Characteristics of Distributed Systems