Multiprocessing

Redakteur: Gerald Viola

Multiprocessing ist die koordinierte Verarbeitung von Programmen durch mehr als einen Computer-Prozessor. Multiprocessing ist ein generischer Begriff, der die dynamische Zuordnung

Anbieter zum Thema

Multiprocessing ist die koordinierte Verarbeitung von Programmen durch mehr als einen Computer-Prozessor. Multiprocessing ist ein generischer Begriff, der die dynamische Zuordnung eines Programms zu einem oder mehreren Computern, die sequentiell arbeiten; genauso gut kann es um mehrere Computer gehen, die gleichzeitig (parallel) dasselbe Programm verarbeiten.

Seit der Erfindung der parallelen Verarbeitung wird Multiprocessing in symmetrisches Multiprocessing (SMP) sowie massiv paralleles Processing (MPP) eingeteilt.

Im symmetrischen (oder "eng verknüpften") Multiprocessing teilen sich die Prozessoren den Speicher sowie den I/O-Bus bzw. Datenpfad. Eine einzige Instanz des Betriebssystems verwaltet alle Prozessoren. In einem SMP gibt es in der Regel nicht mehr als 16 Prozessoren.

In der massiv parallelen Verarbeitung arbeiten unter Umständen über 200 Prozessoren an derselben Anwendung. Jeder Prozessor verfügt über ein eigenes Betriebssystem und eigenen Speicher. Eine Maschenanordnung der Datenpfade ermöglicht die Übertragung von Nachrichten zwischen den Prozessoren. In der Regel ist das Setup für MPP komplex und erfordert einige Überlegungen in Bezug auf die Partitionierung einer gemeinsamen Datenbank unter den Prozessoren sowie auf die Verteilung der Arbeitslast zwischen den Prozessoren. Im MPP-System wird „nichts gemeinsam genutzt“.

Multiprocessing ist nicht mit Multiprogrammierung zu verwechseln, der verschachtelten Ausführung von zwei oder mehreren Programmen durch einen Prozessor. Heute wird der Begriff nur selten benutzt, weil die meisten Computer-Betriebssysteme unterstützen die Multiprogrammierung. Multiprocessing wird teilweise auch mit Multitasking verwechselt, der Verwaltung von Programmen und den von ihnen angeforderten Systemdiensten als Tasks, die verschachtelt werden können; oder aber auch mit Multithreading, der Verwaltung multipler Ausführungspfade durch den Computer, oder von mehreren Benutzern, die sich eine Kopie eines Programms teilen.

(ID:2021116)