En computación, la Distributed Shared Memory (DSM, o memoria distribuida compartida) es un tipo de implementación hardware y software, en la que cada nodo de un cluster tiene acceso a una amplia memoria compartida que se añade a la memoria limitada privada, no compartida, propia de cada nodo.
En contraste, los sistemas de software DSM implementados en una biblioteca no son transparentes y los desarrolladores tienen que programarlos separadamente.
En la memoria compartida, los procesos utilizan variables que pueden leer/escribir para poder comunicarse.
Cuando cualquiera de las CPUs realiza una llamada a STORE o LOAD en una página que no existe dentro de su contexto, produce una interrupción al sistema operativo.
En el momento que una CPU hace referencia a una página en una dirección remota se produce una interrupción, el software de DSM obtiene la página que contiene la dirección y retorna a la instrucción fallida que ahora puede proseguir.