Sistemas Operativos Distribuidos

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

Algoritmos y Programas
“Fundamentos de Sistemas Distribuidos”
Tabla de Contenido Concurrencia.
Internet y tecnologías web
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
Multiprocesadores 3.1 Dominios de aplicación
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
INTRODUCCIÓN A JAVA.
ESTRUCTURA DEL SISTEMA OPERATIVO
Arquitecturas Paralelas 12-13
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
Sistemas Distribuidos y Paralelos
Introducción a los Sistemas Operativos Memoria Virtual
MANEJO DE ARRAYS EN C.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Sistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
Memoria Compartida Distribuida
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
El procesador: la ruta de datos y el control (II Parte)
INTRODUCCIÓN A LA PROGRAMACIÓN
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Universidad Centroamericana
Funciones en lenguaje C
Introducción a los Conceptos de Bases de Datos Docente: Ing. Marleny Soria Medina.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
PROCESAMIENTO PARALELO.  Organización lógica ◦ Visión que tiene el programados  Capacidad de expresar tareas paralelas (Estructura de control)  Método.
Universidad de SonoraArquitectura de Computadoras1 PROGRAMA CION PARALELA Y DISTRIBUIDA PRESENTA: JESUS BECERRIL PACHECO MODELOS DE ACCESO A LA MEMORIA.
Introducción a los SSOO Sebastián Sánchez Prieto.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Tema 10: Gestión de Memoria
Unidad III Administración de procesos

Memoria Compartida Distribuida
INSTITUTO TECNOLÓGICO DE CD. GUZMÁN
Sistemas Concurrentes: Paso de mensajes
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Overview Sistemas Computacionales
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Arquitecturas Paralelas
ARQUITECTURAS PARALELAS
Memoria Compartida Distribuida Memoria Compartida Distribuida Universidad Simón Bolívar Departamento de Computación y T.I Sistemas de operación III CI-4822.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Tema 5: Multiprocesadores
Sistemas Operativos en Ambientes Distribuidos
Términos algoritmo diseñar algoritmo implementar algoritmo
Protocolos de Sondeo SNOOPY
Arquitectura de Sistema Operativo para Sistemas con múltiples núcleos Microprocesadores para Comunicaciones Jesús A. Díaz Sánchez Curso 2009/2010.
1 Temas fundamentales del Curso Conceptos básicos de Sistemas Distribuidos. Caracterización de los sistemas distribuidos. Concurrencia en Sistemas Distribuidos.
Elementos y tipos de sistemas operativos
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Gestión de Memoria – Parte 2
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Estructura del sistema operativo
Consistencia y Replicación
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

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

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

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

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

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

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

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

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

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

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. 3 © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 10

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

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

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

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

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

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

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. 3 © Addison-Wesley Publishers 2000 Sistemas Operativos Distribuidos 17

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

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