Memoria compartida

Revisión del 11:13 30 may 2020 de Ileana.hernandez (discusión | contribuciones) (Página creada con «{{Definición |nombre=Memoria Compartida |imagen= |tamaño= |concepto=Son un tipo especial de memoria en la que escriben y leen varios procesadores al mismo tiempo. }} ==Me…»)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Memoria Compartida
Información sobre la plantilla
Concepto:Son un tipo especial de memoria en la que escriben y leen varios procesadores al mismo tiempo.

Memoria compartida

La Memoria Compartida es un término que define las memorias usadas en la Arquitectura paralela con Memoria Compartida en la cual escriben y leen varios procesadores en un instante de procesamiento. Esta permite que un procesador pueda acceder a los valores escritos por otros procesadores en un mismo espacio de dirección lógico.

Mecanismos de sincronización

Para evitar problemas de coherencia en caché y otros relacionados con el uso de memorias de este tipo se implementan en la arquitectura un conjunto de mecanismos de sincronización, entre los cuales se puede citar:[1]

  1. Red de interconexión: Los procesadores se comunican entre sí a través de un red de interconexión la cual posee una topología que permite velocidad en la comunicación y la reducción de la sobrecarga de paralelización lo que aumenta la aceleración(Speedup).
  2. Sincronización de barrera: Consiste en la implementación de una barrera en la que un hilo de procesamiento se detiene y no continúa hasta que el resto de hilos no haya alcanzado ese punto y de ahí seguir ejecutando la instrucción siguiente.
  3. Condición de carrera: Situación descrita por primera vez en 1965 por el científico Edsger Dijkstra en la que dos o más procesadores intentan acceder al mismo tiempo a un recurso compartido en memoria provocando fallos en tiempo de ejecución. Para evitar esta situación se establece un mecanismo de exclusión mutua en el cual se define dicho recurso como zona crítica y por tanto uno de los procesadores accede al recurso y los otros que así lo deseen deben esperar a que este último termine y salga de la zona.[2]

Fuentes

  1. ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000.
  2. DUNCAN, Ralph. A survey of parallel computer architectures. Computer, 1990, vol. 23, no 2, p. 5-16.