3.1.5 Other Taxonomies



next up previous
Next: 3.2 Pipelines Up: 3.1 Flynn's Taxonomy Previous: 3.1.4 MIMD Computers

3.1.5 Other Taxonomies

 

In addition to the vacuous MISD category and the difficulty in classifying vector processors, there are other weaknesses of the Flynn taxonomy. In the MIMD category, all arrays of processors are lumped together regardless of how they are connected and how they view memory. Since these characteristics can have a dramatic effect on performance, it would be desirable if the taxonomy reflected those differences. Shore (@Shore) offered a very similar taxonomy, but expanded the SIMD category to four subcategories. He still did not distinguish the pipelined vector computer and he also did not provide for the completely independent array in the MIMD category. 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.



next up previous
Next: 3.2 Pipelines Up: 3.1 Flynn's Taxonomy Previous: 3.1.4 MIMD Computers



verena@csep1.phy.ornl.gov