Distributed Compiling Environment (DCE)

INTRODUCTION
Distributed Compiling Environment (DCE) was initially designed as a proof of concept. This successfully showed that the time involved in compiling software, which is typically done by one computer, can be reduced by breaking the program into segments for individual computers to process thereby reducing the time to complete. Compiling software across many machines is not new. This project is looking at a much more generic application. Rendering of 3D images, computer animation movies and the similar tasks often require a powerful processors with large amounts of memory for producing the end product. DCE is attempting to provide the infrastructure on which this work is processed. A designer can sit at their station creating while at the same time DCE coordinates the work across multiple machines (some in server farms and spare CPU of participating machines. This leaves the designers system with minimal or no load thereby reducing the system required for development work. Any process that typically requires a large amount of times (e.g. hours) could use this system to siginificantly reduce the turn around time it takes to complete work and fix errors.

DCE is a middleware application. It is not intended to be another application that sits on the users desktop. It will have an CORBA interface that user applications can use to request work to be coordinated by the system.

DOCUMENTATION
To best understand what has progressed so far it is good idea to read the report that was done at the end of the project's first proof of concept. This report was written for my final year project at Lancaster University.

DGCC report

FUTURE
What needs to happen before the software can progress:

1) Define the environments that a system like this can be used.
2) Create a dynamic structure that is easily extendible by any developer.
3) Define and document this new structure.
4) Find individuals who share the passion of distributed computing.

KIND OF DEVELOPERS NEEDED

Programmers: C++ and CORBA languages for developing the components.

Designers: People who can develop high level solutions of the system.

Documentation Writers: Projects cannot be easily understood by users without documentation.

Documentation Translators: Not everyone prefers to read english.

Testers: People willing to break things and like doing it.

Package Managers: Packages are easier to compile, install and update.

Promoters: Every project needs their "evangelists".

Web Designers: Nice web sites that provide good revelant information are a must.

Cross-platform Developers: For a systems that wants be well used must be available on many platforms.

Sourceforge Logo