An interesting machine that is a hybrid with attributes of both SIMD and distributed memory MIMD machines is the CM-5 from Thinking Machines. The basic machine consists of a tree of processing nodes, where each node has a SPARC microprocessor, optional vector processors, and up to 32MB of local memory. The interconnection network is based on the idea of a ``fat tree,'' a tree that has wider communication channels near the root in order to handle the higher volume of traffic expected to flow in that region of the network Figure 19 on page 67. Each communication link in the CM-5 has a bandwidth of 20 Mbps. There are two upward links from each leaf node. The links are attached to different switches, both for higher bandwidth and to provide alternative routes to avoid congestion in the network. First level interior switches have two upward links, but higher level switches have four upward links to implement the fat tree idea of higher bandwidth closer to the root.
Figure 19: Thinking Machines Corporation CM-5.
The CM-5 has a control network consisting of a set of control processors interconnected with their another tree-shaped network. The control processors and their tree are a completely separate subsystem. Control processors are also SPARC microprocessors, but since they do little if any data processing they do not have as much memory or any vector coprocessors. It is the control network that allows the system to operate as an SIMD or SPMD machine by synchronizing sets of data processors when they are all working on the same program.