next up previous

3.1.5 Other Taxonomies     continued...

There have been other attempts to modify the Flynn taxonomy. For example in Hwang [14] the MIMD category is subdivided into shared memory systems, distributed memory systems and reconfigurable systems. Unfortunately, this mixes memory organization with communication organization, and although it is a useful distinction it is not very satisfactory as a basis for a taxonomy. Bell [3] divided the MIMD category into systems with shared memory and those without shared memory.

One addition to the Flynn taxonomy that has become very popular is SPMD, which stands for Single Program / Multiple Data stream (see for example Karp [17]). In some sense it represents a style of computing rather than an architecture. Physically the system is an MIMD multiprocessor because there are several independent processors, each with its own data set and program memory. However, the same program is executed by each processor, and the processors are synchronized periodically. This is a much simpler way to approach an MIMD system than to have to manage many individual instruction streams. It also provides more flexibility than the SIMD system because different processors may be at different parts of the program at any time.

By far the most ambitious attempt at a taxonomy is given by Hockney and Jesshope [13] where the motivation was to treat pipelined vector processors as a distinct architecture and to differentiate among the many multiprocessor possibilities. The notation resembles chemical notation for organic compounds and its complexity is beyond the scope of this discussion, but it does lead to a classification that provides a unique identifier for all of the systems that have been proposed or manufactured. However, that same complexity is the probable explanation for the lack of acceptance of the taxonomy.