Multiprocessing
Multiprocessing ist die koordinierte Verarbeitung von Programmen von mehr als einem Computer-Prozessor. Multiprocessing ist ein allgemeiner Begriff, der einerseits die dynamische Zuordnung eines Programms zu einen von zwei oder mehreren zusammenarbeitenden Prozessoren und andererseits die gleichzeitige Bearbeitung eines Programms durch mehrere Computer bezeichnen kann.
Seit dem Aufkommen von Parallel Processing teilt man Multiprocessing in symmetrisches Multiprocessing (SMP) und Massively Parallel Processing (MPP) auf. Beim symmetrischen Multiprocessing teilen sich die Prozessoren den gemeinsamen Speicher und den I/O-Bus oder Datenpfad. Dabei ist eine einzige Kopie des Betriebssystems für alle Prozessoren verantwortlich.
Beim Massively Parallel Processing können hunderte Prozessoren auf der gleichen Anwendung arbeiten. Jeder Prozessor hat dabei sein eigenes Betriebssystem und eigenen Speicher, während eine Interconnect-Anordnung von Datenpfaden es ermöglicht, dass Nachrichten zwischen Prozessoren gesendet werden können. Typischerweise ist das Setup für MPP komplizierter und erfordert mehr Konzeption, wie eine gemeinsame Datenbasis zwischen den Prozessoren aufgeteilt werden kann, und wie die Arbeit unter den Prozessoren zuzuweisen ist.
Multiprocessing sollte dabei nicht mit Multiprogramming oder der verschachtelten Ausführung von zwei oder mehr Programmen auf einem Prozessor verwechselt werden. Inzwischen wird der Begriff aber nur noch selten genutzt, da die meisten Computer-Betriebssysteme Multiprogramming unterstützen.