
In recent years GCHQ has moved away from centralised mainframe computers towards distributed systems where analysts have powerful desktop computers (UNIX workstations or PCs running MS Windows). This move has had tangible benefits in providing improved interactive facilities, with more predictable response times, but is also accompanied by more difficult system management and the under utilisation of many client workstations with the consequential loss of valuable CPU cycles. The development of system administraion expertise across several heterogeneous platforms in a DCE environment has been at the heart of this work.
My responsibility is to look at information systems and advise the technical and production divisions on new technology that will impact them in the next few years. After studying DCE I am convinced that installation of this "enabling technology" will provide an infrastructure that will not only help the production divisions to better tackle some of their more challenging problems, but can also provide the department with an elegant and efficient method of better utilising our workstations. With over 1000 workstations connected to our operational network (using high-speed LAN technology) there is potential for significant cost savings if we can better utilise the CPU cycles available on the network.
The strength of DCE is that it offers an environment that supports transparent distributed computing across a wide range of heterogeneous computers, but this creates difficulty in presenting DCE to non-technical staff from the production divisions as much of the underlying technology is hidden. To overcome these problems two DCE-based applications have been developed.
The first application is a CPU-intensive application performing real-time updates to a graphical user interface (GUI). The client (GUI-based) is multi-threaded providing parallel processing with a number of compatible servers, with each server thread updating the GUI as processing elements are completed. The GUI interface allows the user a good insight of some of the internals of DCE, particularly in the way the Cell Directory Service (CDS) is used to locate compatible servers, how cross-cell operations are handled, and how errors are reported and handled.
The second application is a "B-Scheduler", which is designed to reduce the wastage of CPU cycles on the network. CPU intensive applications are executed on client workstations, but are only available to DCE-based clients when the workstation is deemed to be "non-busy". The B-Scheduler offers significant benefits over alternative techniques, for example the Condor system (as discussed by Dr. C. Gittings, HP/Works Autumn Conference 1994). B-Scheduler can handle interactive as well as batch programs, and eliminates other restrictions such as supporting multi-threaded applications, execution in a heterogeneous computing environment, and the elimination of checkpointing and aborting the whole application as the program is terminated when a client workstation becomes "busy".
I believe that B-Scheduler is just one illustration that DCE-based solutions are probably the right way to tackle problems created by distributed computing. I certainly expect some good DCE-based System Management Tools becoming available shortly.
A. Bradley