TreadMarks es un sistema de memoria compartida distribuida para Unix. Está implementado como una biblioteca del lenguaje C. Este sistema permite que varios procesos en diferentes computadoras compartan su memoria para dar la apariencia de tener una memoria local. Así entonces, en lugar de utilizar explícitamente paso de mensajes, el programador tiene que utilizar variables de sincronización. TreadMarks admite la computación paralela en redes de estaciones de trabajo al proporcionar a la aplicación una abstracción de memoria compartida. La memoria compartida facilita la transición de la secuencia a programas paralelos.
Memoria compartida
- Memoria física global igualmente accesible para todos los procesadores
- Facilidad de programación y portabilidad.
- El aumento de la contención y las latencias más largas limitan la escalabilidad.
Memoria distribuida
- Múltiples nodos de procesamiento independientes conectados por una red de interconexión general.
- Escalable, pero requiere pasar el mensaje.
- Programador gestiona la distribución de datos y la comunicación.
Memoria compartida como una matriz lineal de bytes a través de un modelo de memoria relajado llamado coherencia de publicación.
- Utiliza hardware de memoria virtual para detectar accesos.
- Protocolo de escritor múltiple para aliviar problemas causados por desajustes entre el tama~no de p�agina y la granularidad de la aplicación
- Portátil, ejecute a nivel de usuario en la máquina Unix sin modificaciones al kernel
- Sincronizaciones: bloqueos, barreras