In Sections 3.4 and 3.5, we discussed basic characteristics of complex systems. In fact, many ``real world examples'' are a mixture of these fundamental architectures. This is illustrated by Figure 3.10, which shows a very conventional computer network with several different architectures. We cannot only regard each individual computer as a complex system but the whole network is, of course, a single complex system as we have defined it. We will term such complex systems compound. Note that one often puts together a network of resources to solve a ``single problem'' and so an analysis of the structure of compound complex systems is not an academic issue, but of practical importance.
Figure 3.10: A Heterogeneous Compound Complex System Corresponding
to a Network of Computers of Disparate Architectures
Figure 3.10 shows a mixture of temporal, synchronous and
asynchronous, and spatial, hypercube, and von Neumann architectures.
We can look at both the architecture of the individual network
components or, taking a higher level view, look at the network itself
with member computers, such as the hypercube in Figure 3.10,
viewed as ``black boxes.'' In this example, the network is an
asynchronous complex system and this seems quite a common circumstance.
Figure 3.11 shows two compound problems
coming from the aerospace and battle management fields,
respectively. In each case we link asynchronously problem modules
which are synchronous, loosely synchronous, or asynchronous. We have
found this very common. In scientific and engineering computations,
the basic modules are usually synchronous or loosely synchronous.
These modules have large spatial size and naturally support ``massive
data parallelism.'' Rarely do we find large asynchronous modules;
this is fortunate as such complex systems are difficult to
parallelize. However, in many cases the synchronous or loosely
synchronous program modules are hierarchically combined with an
asynchronous architecture. This is an important way in which the
asynchronous problem architecture is used
in large scale computations. This is explored in detail in
Chapter 18. One has come to refer to systems such as those
in Figure 3.10 as metacomputers.
Correspondingly, we designate the applications in
Figure 3.11 metaproblems.
Figure: Two Heterogeneous Complex Systems Corresponding
to: a) the Integrated Design of a New Aircraft, and b) the Integrated
Battle Management Problem Discussed in Chapter 18
If we combine Figures 3.10 and 3.11, we can formulate the process of computation in its most general complicated fashion.
``Map a compound heterogeneous problem onto a compound heterogeneous computer.''