Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen symmetrischer und asymmetrischer Multiprocessing

Es gibt zwei Arten von Multiprocessing, Symmetric Multiprocessing und Asymmetric Multiprocessing. Das Multiprocessing-System verfügt über mehr als einen Prozessor und kann mehrere Prozesse gleichzeitig ausführen. Bei Symmetric Multiprocessing teilen sich Prozessoren den gleichen Speicher. In Asymmetric Multiprocessing gibt es einen Einmasterprozessor, der die Datenstruktur des Systems steuert. Der Hauptunterschied zwischen symmetrischem und asymmetrischem Multiprocessing besteht darin, dass bei Symmetric Multiprocessing alle Prozessoren im System im Betriebssystem ausgeführt werden. In Asymmetric Multiprocessing wird jedoch nur der Master-Prozessor im Betriebssystem ausgeführt.

Sie können den symmetrischen Multiprozessor und den asymmetrischen Multiprozessor an einigen anderen Punkten unterscheiden, die in der unten gezeigten Vergleichstabelle erläutert werden.

Vergleichstabelle

VergleichsgrundlageSymmetrisches MultiprocessingAsymmetrisches Multiprocessing
BasicJeder Prozessor führt die Tasks im Betriebssystem aus.Nur der Master-Prozessor führt die Aufgaben des Betriebssystems aus.
VerarbeitenDer Prozessor nimmt Prozesse aus einer gemeinsamen Bereitschaftswarteschlange an, oder es kann eine private Bereitschaftswarteschlange für jeden Prozessor vorhanden sein.Der Masterprozessor weist den Slave-Prozessoren Prozesse zu, oder diese verfügen über vordefinierte Prozesse.
Die ArchitekturAlle Prozessoren in Symmetric Multiprocessing haben dieselbe Architektur.Alle Prozessoren in Asymmetric Multiprocessing können dieselbe oder eine andere Architektur haben.
KommunikationAlle Prozessoren kommunizieren über einen gemeinsam genutzten Speicher mit einem anderen Prozessor.Prozessoren müssen nicht kommunizieren, da sie vom Master-Prozessor gesteuert werden.
FehlerWenn ein Prozessor ausfällt, verringert sich die Rechenkapazität des Systems.Wenn ein Master-Prozessor ausfällt, wird ein Slave zum Master-Prozessor gewechselt, um die Ausführung fortzusetzen. Wenn ein Slave-Prozessor ausfällt, wird seine Task auf andere Prozessoren umgestellt.
LeichtigkeitSymmetrischer Multiprozessor ist komplex, da alle Prozessoren synchronisiert werden müssen, um das Lastgleichgewicht aufrechtzuerhalten.Asymmetrischer Multiprozessor ist einfach, da der Masterprozessor auf die Datenstruktur zugreift.

Definition von Symmetrisches Multiprocessing

Symmetrisches Multiprocessing ist ein Verfahren, bei dem der Prozessor die Tasks im Betriebssystem ausführt. Es gibt keine Master-Slave- Beziehung wie asymmetrische Multiprocessing. Alle Prozessoren hier kommunizieren über den gemeinsam genutzten Speicher .

Die Prozessoren beginnen mit der Ausführung der Prozesse aus der Warteschlange "Common Ready". Jeder Prozessor kann auch über eine eigene Warteschlange mit Bereitschaftsprozessen verfügen, um ausgeführt zu werden. Der Scheduler muss darauf achten, dass nicht zwei Prozessoren denselben Prozess ausführen.

Symmetrisches Multiprocessing verfügt über einen ordnungsgemäßen Lastausgleich, eine bessere Fehlertoleranz und verringert außerdem die Wahrscheinlichkeit eines CPU- Engpasses . Es ist komplex, da der Speicher von allen Prozessoren gemeinsam genutzt wird. Bei Symmetric Multiprocessing führt ein Prozessorfehler zu einer Verringerung der Rechenkapazität .

Definition von Asymmetrisches Multiprocessing

Asymmetrisches Multiprocessing hat die Master-Slave- Beziehung zwischen den Prozessoren. Es gibt einen Master-Prozessor, der den verbleibenden Slave-Prozessor steuert. Der Master-Prozessor weist dem Slave-Prozessor Prozesse zu, oder er hat möglicherweise eine vordefinierte Aufgabe.

Der Masterprozessor steuert die Datenstruktur . Die Planung von Prozessen, E / A- Verarbeitung und anderen Systemaktivitäten wird vom Master-Prozessor gesteuert.

Falls ein Masterprozessor ausfällt, wird ein Prozessor unter dem Slaveprozessor zum Masterprozessor gemacht, um die Ausführung fortzusetzen. Falls ein Slave-Prozessor ausfällt, übernimmt der andere Slave-Prozessor seinen Job. Asymmetrisches Multiprocessing ist einfach, da nur ein Prozessor die Datenstruktur und alle Aktivitäten im System steuert.

Hauptunterschiede zwischen symmetrischer und asymmetrischer Multiprocessing

  1. Der am meisten unterscheidbare Punkt zwischen symmetrischer und asymmetrischer Multiprocessing ist, dass die Aufgaben in OS nur vom Master-Prozessor in Asymmetric Multiprocessing erledigt werden. Auf der anderen Seite führen alle Prozessoren im symmetrischen Multiprocessing die Tasks im Betriebssystem aus.
  2. Bei der symmetrischen Mehrfachverarbeitung hat jeder Prozessor möglicherweise eine eigene private Warteschlange für betriebsbereite Prozesse oder er kann Prozesse aus einer gemeinsamen betriebsbereiten Warteschlange übernehmen. Beim asymmetrischen Multiprocessing weist der Master-Prozessor den Slave-Prozessoren jedoch Prozesse zu.
  3. Alle Prozessoren in Symmetric Multiprocessing haben dieselbe Architektur. Die Struktur der Prozessoren in asymmetrischen Multiprozessoren kann jedoch unterschiedlich sein.
  4. Prozessoren im symmetrischen Multiprocessing kommunizieren über den gemeinsam genutzten Speicher miteinander. Die Prozessoren in Asymmetric Multiprocessing müssen jedoch nicht miteinander kommunizieren, da sie vom Master-Prozessor gesteuert werden.
  5. Falls der Master-Prozessor ausfällt, wird ein Slave-Prozessor zum Master-Prozessor umgeschaltet, um die Ausführung fortzusetzen. Wenn jedoch ein Prozessor in der symmetrischen Mehrfachverarbeitung ausfällt, wird die Rechenkapazität des Systems reduziert.
  6. Asymmetrischer Multiprozessor ist einfach, da nur ein Masterprozessor auf die Datenstruktur zugreift, während ein symmetrischer Multiprozessor komplex ist, da alle Prozessoren synchron arbeiten müssen.

Fazit:

Multiprozessoren erhöhen die Geschwindigkeit des Systems, da mehrere Prozesse gleichzeitig ausgeführt werden können. Asymmetrisches Multiprocessing ist einfach: Nur ein Prozessor (Master) kann auf die Datenstruktur zugreifen. Symmetric Multiprocessing ist zwar komplex, da die Datenstruktur von allen Prozessoren gemeinsam genutzt wird und alle Prozessoren synchron arbeiten müssen.

Top