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.
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.