Verteiltes Gedächtnis

In der Informatik bezieht sich verteiltes Gedächtnis auf ein Computersystem des vielfachen Verarbeiters, in dem jeder Verarbeiter sein eigenes privates Gedächtnis hat. Rechenbetonte Aufgaben können nur auf lokalen Daten funktionieren, und wenn entfernte Daten erforderlich sind, muss die rechenbetonte Aufgabe mit einer oder entfernteren Verarbeitern kommunizieren. Im Gegensatz bietet ein geteiltes Gedächtnis Vielverarbeiter einen einzelnen durch alle Verarbeiter verwendeten Speicherraum an. Verarbeiter müssen nicht bewusst sein, wo Daten wohnen, außer dass es Leistungsstrafen und diese Rasse geben kann, sollen Bedingungen vermieden werden.

Architektur

In einem verteilten Speichersystem gibt es normalerweise einen Verarbeiter, ein Gedächtnis und eine Form der Verbindung, die Programmen auf jedem Verarbeiter erlaubt, mit einander aufeinander zu wirken. Die Verbindung kann mit dem Punkt organisiert werden, um Verbindungen anzuspitzen, oder getrennte Hardware kann ein umschaltendes Netz zur Verfügung stellen. Die Netzwerkarchitektur ist ein Schlüsselfaktor in der Bestimmung, wie die Mehrverarbeiter-Maschine klettert. Die Verbindungen zwischen Knoten können mit einem Standardnetzprotokoll (zum Beispiel Ethernet), mit bestellten Netzverbindungen (verwendet in zum Beispiel Transputer), oder mit getragenen Doppelerinnerungen durchgeführt werden.

Die Programmierung von verteilten Speichermaschinen

Das Schlüsselproblem in der Programmierung von verteilten Speichersystemen ist, wie man die Daten über die Erinnerungen verteilt. Abhängig vom behobenen Problem können die Daten statisch verteilt werden, oder es kann durch die Knoten bewegt werden. Daten können auf Verlangen bewegt werden, oder Daten können zu den neuen Knoten im Voraus gestoßen werden.

Als ein Beispiel, wenn ein Problem als eine Rohrleitung beschrieben werden kann, wo Daten X nachher durch Funktionen F, G, H usw. bearbeitet wird (ist das Ergebnis H (G (F (X)))), dann kann das als ein verteiltes Speicherproblem ausgedrückt werden, wo die Daten zuerst dem Knoten übersandt werden, der F durchführt, der das Ergebnis auf den zweiten Knoten passiert, der G, und schließlich zum dritten Knoten schätzt, der H schätzt. Das ist auch bekannt als systolic Berechnung.

Sich Daten können statisch in Knoten behalten werden, wenn der grösste Teil der Berechnung lokal geschieht, und nur an Rändern ändert, müssen anderen Knoten berichtet werden. Ein Beispiel davon ist Simulation, wo Daten mit einem Bratrost modelliert werden, und jeder Knoten einen kleinen Teil des größeren Bratrostes vortäuscht. Auf jeder Wiederholung informieren Knoten alle benachbarten Knoten der neuen Rand-Daten.

Verteiltes geteiltes Gedächtnis

Ähnlich im verteilten geteilten Gedächtnis hat jeder Knoten einer Traube Zugang zu einem großen geteilten Gedächtnis zusätzlich zum beschränkten nichtgeteilten privaten Gedächtnis jedes Knotens.

Geteiltes Gedächtnis gegen das verteilte Gedächtnis gegen das verteilte geteilte Gedächtnis

Der Vorteil (des verteilten) geteilten Gedächtnisses besteht darin, dass es einen vereinigten Adressraum anbietet, in dem alle Daten gefunden werden können.

Der Vorteil des verteilten Gedächtnisses besteht darin, dass es Rasse-Bedingungen ausschließt, und dass es den Programmierer zwingt, an Datenvertrieb zu denken.

Der Vorteil des verteilten (geteilten) Gedächtnisses besteht darin, dass es leichter ist, eine Maschine zu entwerfen, die mit dem Algorithmus klettert

Verteiltes geteiltes Gedächtnis verbirgt den Mechanismus der Kommunikation - es verbirgt die Latenz der Kommunikation nicht.

Siehe auch

  • Speichervirtualisierung
  • Verteiltes geheimes Lager

Sportnacht / Texas (Begriffserklärung)
Impressum & Datenschutz