Was ist eine aktive Nachricht?

Eine aktive Nachricht (AM) ist eine Art von Kommunikation zwischen Prozessen, die beim Rechnen verwendet wird, wobei die Unterroutine oder Funktion eines Computerprogramms von einem völlig anderen Computer ausgeführt werden kann als dort, wo es sich befindet. Dieser Nachrichtentyp hat ein so grundlegendes Format, dass die Netzwerkbandbreite über Standard-Internetprotokolle (IP) besser genutzt werden kann. Es wird auch als asynchrones Nachrichtenübermittlungssystem angesehen, da es sofort bearbeitet wird, anstatt auf einen bestimmten Moment zu warten, um sich mit dem Programm zu synchronisieren.

Mit dem aktiven Messaging-Kommunikationsmodell geschieht ein Großteil der Arbeit auf der Hardwareebene, auf der die Hardware mit den Treibern des Betriebssystems interagiert. Da diese untere Ebene normalerweise für das Geschäft des Betriebssystems reserviert ist, sind die Nachrichten so aufgebaut, dass sie Anweisungen für den Zugriff auf eine Abfolge von Benutzerfunktionen der oberen Ebene enthalten können. In der Kopfzeile eines AM befindet sich die Adresse eines sogenannten Handlers. Der Handler ist eine spezielle Anweisung auf Benutzerebene, mit der der Nachrichtentext durch eine Berechnung verarbeitet werden kann, die durch den Prozessor läuft. Der Hauptteil einer aktiven Nachricht ist dann das Argument der Funktion oder die Daten, auf die die Berechnung reagieren muss.

In Anbetracht der wesentlichen Natur des Aufbaus einer aktiven Nachricht ist sie in der Lage, vorhandene IP-Netzwerkkommunikationsprotokolle zu übermitteln. Der Hauptunterschied besteht jedoch darin, dass sofort nach dem Empfang reagiert wird, anstatt dass eine mehrphasige Versand-, Bestätigungs- und Zustellungsmethode erforderlich ist. Auf diese Weise betrachtet eine aktive Nachricht das Netzwerk einfach als eine offene Pipe zum Durchqueren. Die einzigen Einschränkungen betreffen das physische Netzwerk, bei dem die Entfernung zwischen den Knoten die Nachrichtenlatenz beeinflussen kann.

Ein aktives Nachrichtensystem funktioniert so, dass ein Absender das Netzwerk mit Nachrichten füllt. Auf der empfangenden Seite gibt es keine Pufferung. Die einzige Antwort auf einen AM besteht darin, die Berechnung für den Handler der Nachricht kurz zu unterbrechen, die Nachricht aus dem Netzwerk abzurufen und den Vorgang fortzusetzen. Die einzige Zeit, in der die Nachrichten gepuffert werden, liegt am Ende des Absenders. Dort werden Nachrichten abhängig davon zurückgehalten, ob das Netzwerk an seine Grenzen stößt. Eine Abfragemethode überwacht das Netzwerk, damit das System weiß, wann weitere Nachrichten eingehen müssen. Aktive Nachrichten ermöglichen dadurch die ständige Überlappung von Nachrichten, die mit den auf entfernten Maschinen auftretenden Berechnungen gesendet werden, und halten sie alle koordiniert.

Während die Methode für aktive Nachrichten einfacher Natur sein kann, treten bei der Implementierung einige Probleme auf. Obwohl sie von solch primitiver Konstruktion sind, werden häufig kundenspezifische Schnittstellentreiber benötigt, um die Nachrichten für ein Computersystem zu verarbeiten. Die aktiven Nachrichten sind auch für den Betrieb auf Computerknoten ausgelegt, auf denen alle dasselbe Programm ausführen. Auf diese Weise beziehen sich die gesendeten und empfangenen Anweisungen auf das Programm, das bereits auf dem Zielcomputer ausgeführt wird.

Aufgrund ihrer Natur haben aktive Nachrichten in Umgebungen mit paralleler Datenverarbeitung, wie Anwendungen mit einem Prozess und mehreren Daten (Single Process, Multiple Data, SPMD), umfangreiche Verwendung gefunden. Diese Programme werden in großen Netzwerken von Computersystemen ausgeführt, in denen aktive Nachrichten zum Weitergeben von Anweisungen und Daten zwischen den Maschinen verwendet werden. Solche verteilten Systeme nutzen die Methode, um große Datenmengen effizient zu verarbeiten, die ansonsten auf einer einzelnen Maschine zu lange dauern würden.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?