MIMD

MIMD
MIMD.svg
v · d · e Flynn's taxonomy
  Single instruction Multiple instruction
Single data SISD MISD
Multiple data SIMD MIMD

In computing, MIMD (multiple instruction, multiple data) is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be executing different instructions on different pieces of data. MIMD architectures may be used in a number of application areas such as computer-aided design/computer-aided manufacturing, simulation, modeling, and as communication switches. MIMD machines can be of either shared memory or distributed memory categories. These classifications are based on how MIMD processors access memory. Shared memory machines may be of the bus-based, extended, or hierarchical type. Distributed memory machines may have hypercube or mesh interconnection schemes.

Contents

Shared Memory Model

The processors are all connected to a "globally available" memory, via either a software or hardware means. The operating system usually maintains its memory coherence.[1]

From a programmer's point-of-view, this memory model is better understood than the distributed memory model. Another advantage is that memory coherence is managed by the operating system and not the written program. Two known disadvantages are: scalability beyond thirty-two processors is difficult, and the shared memory model is less flexible than the distributed memory model.[1]

There are many examples of shared memory (multiprocessors): UMA (Uniform Memory Access), COMA (Cache Only Memory Access) and NUMA (Non-Uniform Memory Access).[2]

Bus-based

MIMD machines with shared memory have processors which share a common, central memory. In the simplest form, all processors are attached to a bus which connects them to memory.

Hierarchical

MIMD machines with hierarchical shared memory use a hierarchy of buses to give processors access to each other's memory. Processors on different boards may communicate through inter-nodal buses. Buses support communication between boards. With this type of architecture, the machine may support over nine thousand processors.

Distributed memory

In distributed memory MIMD machines, each processor has its own individual memory location. Each processor has no direct knowledge about other processor's memory. For data to be shared, it must be passed from one processor to another as a message. Since there is no shared memory, contention is not as great a problem with these machines. It is not economically feasible to connect a large number of processors directly to each other. A way to avoid this multitude of direct connections is to connect each processor to just a few others. This type of design can be inefficient because of the added time required to pass a message from one processor to another along the message path. The amount of time required for processors to perform simple message routing can be substantial. Systems were designed to reduce this time loss and hypercube and mesh are among two of the popular interconnection schemes.

As examples of distributed memory(multicomputers): MPP (massively parallel processors) and COW (Clusters of Workstations). The first one is complex and expensive: lots of super-computers coupled by broad-band networks. Examples: hypercube and mesh interconections. COW is the "home-made" version for a fraction of the price. [3]

Hypercube interconnection network

In an MIMD distributed memory machine with a hypercube system interconnection network containing four processors, a processor and a memory module are placed at each vertex of a square. The diameter of the system is the minimum number of steps it takes for one processor to send a message to the processor that is the farthest away. So, for example, the diameter of a 2-cube is 1. In a hypercube system with eight processors and each processor and memory module being placed in the vertex of a cube, the diameter is 3. In general, a system that contains 2^N processors with each processor directly connected to N other processors, the diameter of the system is N. One disadvantage of a hypercube system is that it must be configured in powers of two, so a machine must be built that could potentially have many more processors than is really needed for the application.

Mesh interconnection network

In an MIMD distributed memory machine with a mesh interconnection network, processors are placed in a two-dimensional grid. Each processor is connected to its four immediate neighbors. Wraparound connections may be provided at the edges of the mesh. One advantage of the mesh interconnection network over the hypercube is that the mesh system need not be configured in powers of two. A disadvantage is that the diameter of the mesh network is greater than the hypercube for systems with more than four processors.

See also

References

  1. ^ a b Ibaroudene, Djaffer. "Parallel Processing, EG6370G: Chapter 1, Motivation and History." Lecture Slides. St Mary's University, San Antonio, Texas. Spring 2008.
  2. ^ Tanenbaum, Andrew S. Organizacion de Computadoras Un Enfoque Estructurado, pag 551
  3. ^ Tanenbaum, Andrew S. Organizacion de Computadoras, Un Enfoque Estructurado, pag 551

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • MIMD — Taxonomía de Flynn   Una instrucción Múltiples instrucciones Un dato SISD MISD Múltiples datos SIMD MIMD En Computación, MIMD (del inglés Multiple Instruction, Multiple …   Wikipedia Español

  • MIMD —   [Abk. für Multiple Instructions, Multiple Data, dt. »mehrere Befehle, mehrere Datenwörter«], Merkmal eines Multiprozessor Rechnersystems (Multiprozessor), dessen Prozessoren mehrere Befehle parallel ausführen, wobei die Befehle auf mehrere… …   Universal-Lexikon

  • MIMD — Классификация по Флинну   Одиночный поток команд (Single Instruction) Множество потоков команд (Multiple Instruction) Одиночный поток данных (Single Data) SISD (ОКОД) MISD (МКОД) Множество потоков данных (Multiple Data) SIMD (ОКМД) MIMD… …   Википедия

  • MIMD — Flynnsche Klassifikation   Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD Die Flynnsche Klassifikation [1] …   Deutsch Wikipedia

  • MIMD — Multiple Instructions on Multiple Data Multiple Instructions multiple data ou MIMD désigne les machines multi processeurs où chaque processeur exécute son code de manière asynchrone et indépendante. Pour assurer la cohérence des données, il est… …   Wikipédia en Français

  • MIMD — Multiple Instructions Multiple Data (Computing » General) * Management Information of Metrology Data (Academic & Science » Electronics) …   Abbreviations dictionary

  • MIMD — Multiple Instruktionen, Multiple Daten Klasse von Rechnersystemen mit parallel arbeiteten Prozessoren auf parallelen Daten …   Acronyms

  • MIMD — ● ►en sg. adj. ►ARCHI Multiple Instruction Multiple Data. Plusieurs données traitées en même temps par plusieurs instructions. Utilisé dans certains ordinateurs parallèles, mais les traitements qui peuvent être effectués de cette façon sont assez …   Dictionnaire d'informatique francophone

  • MIMD — Multiple Instruktionen, Multiple Daten Klasse von Rechnersystemen mit parallel arbeiteten Prozessoren auf parallelen Daten …   Acronyms von A bis Z

  • MIMD — Multiple Instructions/Multiple Data Contributor: CASI …   NASA Acronyms

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”