La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Operativos Distribuidos Memoria compartida distribuida (DSM, Distributed Shared Memory ) Memoria compartida distribuida (DSM, Distributed Shared.

Presentaciones similares


Presentación del tema: "Sistemas Operativos Distribuidos Memoria compartida distribuida (DSM, Distributed Shared Memory ) Memoria compartida distribuida (DSM, Distributed Shared."— Transcripción de la presentación:

1 Sistemas Operativos Distribuidos Memoria compartida distribuida (DSM, Distributed Shared Memory ) Memoria compartida distribuida (DSM, Distributed Shared Memory )

2 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 2 Contenidos del Tema Introducción Estrategias de implementación Aspectos de diseño de DSM Modelos de coherencia Ejemplo de implementación de DSm: –Sistema basada en páginas con coherencia secuencial

3 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 3 Introducción (1/2) Multiprocesadores con mem. compartida vs. s. distribuidos: –HW más complejo y difícilmente ampliable –SW más sencillo y mejor conocido Modelo de programación en sistemas con mem. compartida –Llamadas a procedimiento (o invocación de métodos) –Comunicación mediante datos compartidos –Sincronización mediante semáforos Modelo de programación tradicional en s. distribuidos –Basado en paso de mensajes

4 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 4 Introducción (2/2) Nuevo modelo de programación en s. distribuidos –RPC (o RMI) –Memoria compartida distribuida (DSM) Memoria compartida implementada por software Simulada mediante paso de mensajes Permite comunicación mediante datos compartidos y sincronización mediante semáforos Objetivo: –Sistemas fáciles de construir y programar Problema: –Obtener un rendimiento aceptable

5 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 5 Visión general de la DSM Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

6 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 6 Estrategias de implementación (1/2) DSM basada en hardware: –Multiprocesadores con arquitectura NUMA (p. Ej. Dash) –HW permite a un procesador acceder a memoria privada de otro –Dado carácter HW, queda fuera de esta exposición DSM basada en páginas: –Único espacio de direcciones virtuales para todo el sistema Intenta imitar a un multiprocesador –Fallo de página puede implicar solicitarla a máquina remota SO notifica fallo a módulo DSM que envía mensaje solicitando página –Accesos a DSM convencionales (LOAD/STORE) –En principio, programas diseñados para multiprocesador pueden usarse directamente sin adaptarlos –Primer sistema IVY (Li, 1986)

7 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 7 DSM basada en páginas Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

8 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 8 Estrategias de implementación (2/2) DSM basada en variables compartidas: –Sólo se comparten variables marcadas como tal en programa –Compilador + entorno de ejecución encargados de gestionar accesos a estas variables –Acceso a DSM se convierte en llamada a entorno de ejecución –Ejemplos: Munin y Midway DSM basada en objetos: –Se comparten objetos –DSM=Colección de objetos compartidos –Acceso a datos compartidos mediante métodos Facilita control de accesos –Ejemplos: Linda, Orca

9 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 9 Aspectos de diseño de DSM Granularidad de los datos compartidos –Proceso accede a dato no presente en su máquina –¿Qué se solicita? Sólo el dato requerido Puede ser ineficiente Unidad mayor que contiene dato Genera false-sharing –Inevitable en DSM basada en páginas Thrashing –Procesos compitiendo por dato (realmente o por false-sharing ) –Puede causar sobrecarga por transferencia de mensajes Página viaja continuamende de procesador a procesador Política de escritura: – Write-update : dato escrito se propaga a copias – Write-invalidate : escritura genera invalidación de copias Modelos de coherencia

10 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 10 False-sharing Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Ejemplo para un sistema DSM basado en páginas, producido por accesos a A y a B en dos procesadores distintos

11 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 11 Modelos de coherencia Buen rendimiento requiere múltiples copias de los datos Compromiso entre coherencia y rendimiento: –Modelos de coherencia más relajados Modelo de coherencia: –Contrato entre el SW y la memoria que establece qué reglas deben seguir las aplicaciones para funcionar correctamente Aplicables a coherencia de cache en multiprocesadores Numerosos modelos propuestos en literatura(Mosberger 1993) –Dependiendo de si distinguen entre tipos de accesos o no: Modelos uniformes: P. ej. Coherencia secuencial Modelos híbridos: P. ej. Coherencia de liberación –Coherencia causal(U),de procesador(U),PRAM(U),de entrada(H), etc.

12 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 12 Ejemplo de acceso compartido Las variables valen inicialmente 0 Análisis de resultados dependiendo del modelo de coherencia –¿qué valores se imprimen? z = 2; print x, y x = 1; y = 1; print z Procesador 1 Procesador 2 P1: x = 1; P2: z = 2; P1: y = 1; Orden de ejecución real P2: print x,y P1: print z

13 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 13 Coherencia atómica Lectura de una posición de memoria devuelve el valor guardado por la operación de escritura más reciente Orden absoluto con respecto al tiempo de accesos a memoria Difícil de implementar en sistemas distribuidos Único resultado válido: –P2: {x=1, y=1}; P1: {z=2}

14 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 14 Coherencia secuencial Modelo uniforme más débil (Lamport, 1979) Resultado equivalente a que los accesos a memoria de los procesadores se ejecutaran en algún orden secuencial apareciendo las operaciones de cada procesador en el orden especificado por su programa. Definición similar a la seriabilidad de las transacciones Todos los procesadores ven accesos a memoria en el mismo orden que puede ser distinto del tiempo real

15 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 15 Coherencia secuencial en el ejemplo Algunos resultados válidos adicionales: –P2: {x=0, y=0}; P1: {z=2} Posible orden: z=2; print x,y; x=1; y=1; print z –P2: {x=1, y=0}; P1: {z=2} Posible orden: x=1; z=2; print x,y; y=1; print z Algunos resultados inválidos (no hay un orden posible) –P2: {x=0, y=0}; P1: {z=0} –P2: {x=1, y=0}; P1: {z=0} –P2: {x=0, y=1}; P1: {z=2}

16 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 16 Coherencia débil No siempre se requiere propagar escrituras inmediatamente –P. ej. proceso en sec. crítica sólo necesita propagar cambios al salir Modelo de coherencia híbrido (Dubois, 1986): –Se distinguen distintos tipos de variables Uso de un nuevo tipo: variables de sincronización Sólo accesos a v. sincronización tienen coherencia secuencial Coherencia de liberación (Gharachorloo, 1990) –Modelo de coherencia de tipo débil –2 operaciones sobre v. sincro: acquireLock y releaseLock –En acquireLock se recogen escrituras remotas –En releaseLock se propagan escrituras locales –Datos se mantienen incoherentes en ciertas partes del programa

17 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 17 Coherencia de liberación Process 1: acquireLock();// enter critical section a := a + 1; b := b + 1; releaseLock();// leave critical section Process 2: acquireLock();// enter critical section print ("The values of a and b are: ", a, b); releaseLock();// leave critical section Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

18 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 18 Ejemplo de implementación de DSM DSM basada en páginas con coh. secuencial e invalidación Múltiples copias de páginas para mejorar rendimiento Cada página tiene asociado: –Un estado: R (sólo lectura) o W (lectura/escritura) –Un propietario: el último proceso que la modificó Página W sólo 1 copia en máquina propietaria Página R copia en varias máquinas (1 propietaria) Lectura: –Si tiene copia local: lee de la misma –Si no: la solicita a propietario y la marca R Si el propietario la tenía W, la pasa a R (degradación)

19 Fernando Pérez Costoya José María Peña Sánchez Sistemas Operativos Distribuidos 19 Ejemplo de implementación de DSM Escritura: –Si propietario y W: escribe copia local –Si propietario y R: invalida copias, escribe local y marca W –Si copia local pero no propietario: genera invalidación, se hace propietario, marca W y escribe –Si no copia local: la solicita a propietario, genera invalidación, se hace propietario, marca W y escribe Requiere poder localizar propietario y poseedores de copias –Mediante broadcast –1 o más controladores mantienen información sobre las páginas Reparto estático dependiendo del número de la página


Descargar ppt "Sistemas Operativos Distribuidos Memoria compartida distribuida (DSM, Distributed Shared Memory ) Memoria compartida distribuida (DSM, Distributed Shared."

Presentaciones similares


Anuncios Google