Distributed Shared Memory (verteilter gemeinsamer Speicher, DSM) ist ein Ausdruck aus der Informatik und bezieht sich auf die Verteilung des Arbeitsspeichers von Computerclustern. Da sich die einzelnen CPUs nicht auf einem gemeinsamen Mainboard befinden, existiert auch kein gemeinsamer Speicherbus, über den sie den Zugriff auf den Speicher (z. B. mittels MESI) aushandeln könnten. Daher werden in der Regel Verzeichnis-basierte Protokolle verwendet.
DSM ist eine Zwischenform der bekannten Distributed-Memory- und Shared-Memory-Architekturen. Im Allgemeinen versteht man unter einem DSM einen virtuellen gemeinsamen Speicher, das heißt, der Anwender hat die Sicht auf eine Shared-Memory-Architektur. Der eigentliche Speicher ist allerdings auf verschiedene, voneinander getrennte und unabhängige physikalische Speicher verteilt. Ein DSM-System stellt somit eine Vermittlungsschicht zwischen Anwender und Hardware dar.
Man unterscheidet folgende Gruppen:
- Virtual Shared Memory (VSM), Systeme mit Hardwareunterstützung, das heißt die Konsistenz der Daten wird zum Teil oder vollständig durch Mechanismen der Hardware sichergestellt
- Shared Virtual Memory (SVM), der Speicher wird ohne Hardwareunterstützung aktuell gehalten
- Distributed Shared Memory (DSM), eine Speicherverwaltung ohne Replikation der Daten, das heißt, es gibt keine Kopien. Dadurch werden Inkonsistenzen des Hauptspeichers vermieden (siehe auch NUMA).