MIMD

In der Computerwissenschaft ist MIMD (vielfache Instruktion, vielfache Daten) eine Technik, die verwendet ist, um Parallelismus zu erreichen. Maschinen mit MIMD haben mehrere Verarbeiter, die asynchron und unabhängig fungieren. Jederzeit können verschiedene Verarbeiter verschiedene Instruktionen auf verschiedenen Stücken von Daten durchführen. MIMD Architekturen können in mehreren Anwendungsgebieten wie computergestützte Design/computer-Aided-Herstellung, Simulation, das Modellieren, und als Nachrichtenschalter verwendet werden. MIMD Maschinen können entweder des geteilten Gedächtnisses oder der verteilten Speicherkategorien sein. Diese Klassifikationen basieren auf wie MIMD Verarbeiter-Zugriffsgedächtnis. Geteilte Speichermaschinen können des busbasierten, erweiterten oder hierarchischen Typs sein. Verteilte Speichermaschinen können Hyperwürfel haben oder Verbindungsschemas verwickeln.

Eine Mehrkernzentraleinheit ist eine MIMD Maschine.

Geteiltes Speichermodell

Die Verarbeiter werden alle mit einem "allgemein verfügbaren" Gedächtnis, entweder über eine Software oder über Hardware-Mittel verbunden. Das Betriebssystem erhält gewöhnlich seine Speicherkohärenz aufrecht.

Aus einem Gesichtspunkt eines Programmierers wird dieses Speichermodell besser verstanden als das verteilte Speichermodell. Ein anderer Vorteil besteht darin, dass Speicherkohärenz durch das Betriebssystem und nicht das schriftliche Programm geführt wird. Zwei bekannte Nachteile sind: Die Skalierbarkeit außer zweiunddreißig Verarbeitern ist schwierig, und das geteilte Speichermodell ist weniger flexibel als das verteilte Speichermodell.

Es gibt viele Beispiele des geteilten Gedächtnisses (Mehrverarbeiter): UMA (Gleichförmiger Speicherzugang), KOMA (Geheimes Lager Nur Speicherzugang) und NUMA (Ungleichförmiger Speicherzugang).

Busbasiert

MIMD Maschinen mit dem geteilten Gedächtnis haben Verarbeiter, die ein allgemeines, zentrales Gedächtnis teilen. In der einfachsten Form werden alle Verarbeiter einem Bus beigefügt, der sie mit dem Gedächtnis verbindet.

Hierarchisch

MIMD Maschinen mit dem hierarchischen geteilten Gedächtnis verwenden eine Hierarchie von Bussen, um Verarbeiter-Zugang zu jedem Gedächtnis eines anderen zu geben. Verarbeiter auf verschiedenen Ausschüssen können durch Zwischenknotenbusse kommunizieren. Busse unterstützen Kommunikation zwischen Ausschüssen. Mit diesem Typ der Architektur kann die Maschine mehr als eintausend Verarbeiter unterstützen.

Verteiltes Gedächtnis

Im verteilten Gedächtnis MIMD Maschinen hat jeder Verarbeiter seine eigene individuelle Speicherposition. Jeder Verarbeiter hat keine direkten Kenntnisse über das Gedächtnis anderen Verarbeiters. Für zu teilende Daten muss es von einem Verarbeiter bis einen anderen als eine Nachricht passiert werden. Da es kein geteiltes Gedächtnis gibt, ist Streit nicht ein so großes Problem mit diesen Maschinen. Es ist nicht wirtschaftlich ausführbar, eine Vielzahl von Verarbeitern direkt zu einander zu verbinden. Eine Weise, diese Menge von Direktanschlüssen zu vermeiden, soll jeden Verarbeiter mit gerade vielen anderen verbinden. Dieser Typ des Designs kann wegen der zusätzlichen Zeit ineffizient sein, die erforderlich ist, eine Nachricht von einem Verarbeiter bis einen anderen entlang dem Nachrichtenpfad zu passieren. Die für Verarbeiter erforderliche Zeitdauer, einfache Nachrichtenroutenplanung durchzuführen, kann wesentlich sein. Systeme wurden entworfen, um dieses Mal Verlust zu reduzieren, und Hyperwürfel und Ineinandergreifen sind unter zwei der populären Verbindungsschemas.

Als Beispiele des verteilten Gedächtnisses (Mehrcomputer): MPP (passen massiv Verarbeitern an), und KUH (Trauben von Arbeitsplätzen).

Der erste ist kompliziert und teuer: Viele Supercomputer haben sich durch Breitbandnetze gepaart. Beispiele: Hyperwürfel und Ineinandergreifen interconections.

KUH ist die "selbst gemachte" Version für einen Bruchteil des Preises.

Hyperwürfel-Verbindungsnetz

In der verteilten Speichermaschine eines MIMD mit einem Hyperwürfel-Systemverbindungsnetz, das vier Verarbeiter enthält, werden ein Verarbeiter und ein Speichermodul an jedem Scheitelpunkt eines Quadrats gelegt. Das Diameter des Systems ist die minimale Zahl von Schritten, die es für einen Verarbeiter macht, um eine Nachricht an den Verarbeiter zu senden, der weg am weitesten ist. Also, zum Beispiel ist das Diameter eines 2-Würfel-1. In einem Hyperwürfel-System mit acht Verarbeitern und jedem Verarbeiter und Speichermodul, das in den Scheitelpunkt eines Würfels wird legt, ist das Diameter 3. Im Allgemeinen ist ein System, das 2^N Verarbeiter mit jedem Verarbeiter enthält, der direkt mit N andere Verarbeiter, das Diameter des Systems verbunden ist, N. Ein Nachteil eines Hyperwürfel-Systems ist, dass es in Mächten zwei konfiguriert werden muss, so muss eine Maschine gebaut werden, der noch viele Verarbeiter potenziell haben konnte, als es wirklich für die Anwendung erforderlich ist.

Ineinandergreifen-Verbindungsnetz

In der verteilten Speichermaschine eines MIMD mit einem Ineinandergreifen-Verbindungsnetz werden Verarbeiter in einen zweidimensionalen Bratrost gelegt. Jeder Verarbeiter wird mit seinen vier unmittelbaren Nachbarn verbunden. Bildumlauf-Verbindungen können an den Rändern des Ineinandergreifens zur Verfügung gestellt werden. Ein Vorteil des Ineinandergreifen-Verbindungsnetzes über den Hyperwürfel besteht darin, dass das Ineinandergreifen-System in Mächten zwei nicht konfiguriert zu werden braucht. Ein Nachteil ist, dass das Diameter des Ineinandergreifen-Netzes größer ist als der Hyperwürfel für Systeme mit mehr als vier Verarbeitern.

Siehe auch


Murder, Inc. / Lokapala
Impressum & Datenschutz