La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Operativos Distribuidos

Presentaciones similares


Presentación del tema: "Sistemas Operativos Distribuidos"— Transcripción de la presentación:

1 Sistemas Operativos Distribuidos
7 Memoria compartida distribuida (DSM, Distributed Shared Memory) 7- Memoria Compartida Distribuida

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 Sistemas Operativos Distribuidos 2

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 Sistemas Operativos Distribuidos 3

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 Sistemas Operativos Distribuidos 4

5 Visión general de la DSM
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 5

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) Sistemas Operativos Distribuidos 6

7 DSM basada en páginas Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 7

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 Sistemas Operativos Distribuidos 8

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 Sistemas Operativos Distribuidos 9

10 False-sharing Ejemplo para un sistema DSM basado en páginas, producido por accesos a A y a B en dos procesadores distintos Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 10

11 Sistemas Operativos Distribuidos
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. Sistemas Operativos Distribuidos 11 7- Memoria Compartida Distribuida

12 Ejemplo de acceso compartido
Procesador 1 Procesador 2 Orden de ejecución real x = 1; z = 2; P1: x = 1; y = 1; print x, y P2: z = 2; print z P1: y = 1; P2: print x,y P1: print z Las variables valen inicialmente 0 Análisis de resultados dependiendo del modelo de coherencia ¿qué valores se imprimen? Sistemas Operativos Distribuidos 12

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} Sistemas Operativos Distribuidos 13

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 Sistemas Operativos Distribuidos 14

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} Sistemas Operativos Distribuidos 15

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 Sistemas Operativos Distribuidos 16

17 Coherencia de liberación
Process 1: acquireLock(); // enter critical section a := a + 1; b := b + 1; releaseLock(); // leave critical section Process 2: print ("The values of a and b are: ", a, b); Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 17

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) Sistemas Operativos Distribuidos 18

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 Sistemas Operativos Distribuidos 19


Descargar ppt "Sistemas Operativos Distribuidos"

Presentaciones similares


Anuncios Google