Distributed Processing
in Decision Support Systems
Introduction
High performance decision support systems using parallel
processing require distributed processing to overcome the
limitations imposed by single processor systems.
However, when moving from local to distributed
programming, the conventional method of intertask communication by
message passing poses major problems. Message passing forces the
programmer to deal with problems ( multiple message
sources, destinations, transmission protocols, formats )
which can become quite complex in
rapidly evolving distributed systems, especially
if there is no software layer translating the programmers
communication requests into the lower level communication
requests. A general solution to the problem of providing
transparent communication links is provided by using shared memory (figure 1).
Shared memory gives the programmer a shared address space
linking separate processes, separating coding
requirements from the complexity of the data transfer (figure 2).
Figure 1. The Basic Concept of Shared Memory.
Figure 2. The Implimentation Reality of Shared Memory.
Figure 3. The Actual Implimentation of Shared Memory.
Distributed shared memory (DSM) represents shared memory when
applied to separate CPU systems where true shared memory cannot be
supported (figure 3). However, inherent problems associated with loosely
coupled systems have resulted in few widely accepted DSM implementations.
Project description
Figure 4. The Distributed Heterogeneous Architecture Support Harness
We have developed a distributed shared memory system
designed for networks of computers with differing architectures (figure 4).
The system was developed for industrial process control
applications requiring extensive computational power, but
involving only moderate interprocess communication. In
particular, it has been used to support the implementation a
large software suite for real time water network monitoring and
control (
TCLAS
). The system is based on the use of the X11
Windows property events, since this offers the advantage of both
portability and an integrated graphics environment for the
development of graphics user interfaces (figure 5). This is reflected in
its name: the X11-based Distributed Shared Memory system - XDSM.
Figure 5. How X11 Windows can be used to support distributed
memory.
XDSM is constructed on the basis of various library modules which
are used for creating graphical user interfaces (GUI's), user
language code interfacing, and GUI message generation.
At the center of an X11 client there is an infinite loop checking
the input event queue for incoming information (figure 6). X11 I/O events
are extracted and processed by XDSM library code on the basis of
whether they may be intended for the X11 GUI tool kit, or are
control area X11 property change events required by the control
module. Reception of relevant property change events causes the
configuration and control module to instruct the data access
module to copy XDSM control data to a local copy of the control
area.
Figure 6. X11 and XDSM main event procesing
Using the XDSM, the following functionality can be provided for
an application suite:
- Definition of shared data areas - with user monitoring and
control of the shared data provided by an interactive GUI
graphics user interface.
- Shared or exclusive access to global data.
- Task coordination and control, including automatic task
start-up and local task control.
- Distributed error handling and recovery - achieved by
maintaining shadow copies of the shared data, and by error
handlers.
Performance
Early work used a network of 4 Sun SC Sparcstations running the
simulation, telemetry, estimation, and operator interface
modules respectively. The cycle time achieved for a 65 node
network was approximately 10 seconds. This is at least an order
of magnitude better than would be expected in real life.
Projecting the results for larger networks, it was expected that
the communications overhead would, at worst, increase linearly
with network size, so the communication to computation time
ratio would actually decrease.
Detailed performance tests were done using SLC Sparcstations
with 16 Mb RAM, each connected by a 10 Mb rated ethernet. The
tests used from 1 to 5 clients, each on a separate Sparcstation
using asynchronous TCP/IP communication sockets. Testing
consisted of clients reading or writing 1 megabyte of data using
various sizes of shared memory block to a central server. The
timings from clients using TCP/IP where compared with clients
using XDSM. It was found that the X11/XDSM communication system
compares favorably with the simpler socket based communication
system with respect to timings, with a 32 Kilobyte optimum.
However, very small shared memory sizes should be avoided (0 to
8 Kilobytes). Indeed, other researchers work using small
blocksizes (0 to 2 Kilobytes) suggests that 1 Kilobyte
represents a performance minimum. We consider that
the user and TCP level transmission overheads associated with
small datagrams may outweigh the lower IP level fragmentation
overheads of larger datagrams. The communications protocol
required to support mutual exclusion imposes asignificant
overhead, depending on the nature of the algorithm used.
Within the limited network size range studied it was arguably
demonstrated that the communications overhead increased linearly
with network size. It was also observed that distributed
communicationsare considerably faster than local communications
(unpublished results). This may be attributed to local
bottlenecking due to competitive access needs in the underlying
TCP/IP communication system.
Conclusion
XDSM has been used to successfully facilitate the distributed
implementation of a decision support system for the monitoring
and control of water distribution networks. The suite comprises
network and telemetry simulators, state estimators and an
operator interface, configured to provide a classical feedback
control loop. Other modules, which are scheduled for future
incorporation into the suite, are concerned with optimal control
and telemetry confidence limit analysis. A
BSP
interface based on XDSM has also been devised.
References
- ARGILE.A.D.S., Distributed Processing in Decision Support
Systems, Ph.D. Thesis, Nottingham Trent University, 1995.
- ARGILE.A.D.S., An Investigation of X11 based intertask
communication and HCI in water network simulations, M.Sc Thesis,
Nottingham Polytechnic, 1991.
- ARGILE.A.D.S., and BARGIELA.A., Using X11 Windows to Provide
Shared Task Memory in Distributed Computer Systems, Leicester
Conference on Integrated Computer Applications in Water Supply,
1993.
- ARGILE.A.D.S., and BARGIELA.A., Distributed Water Monitoring
supported by X11 Windows, Handout produced for the Leicester
Conference on Integrated Computer Applications in Water Supply,
1993.
- ARGILE.A.D.S., and BARGIELA.A., XDSM - an X11 based Virtual
Distributed Shared Memory System, Proceedings 2nd Int. Conf.
SMSTPE, 1994.
Copyright (c) 1997 RTTS
Last update: 7/11/97
Simulation Modelling - home page