Professional Documents
Culture Documents
Introduccin (1/2)
Multiprocesadores con mem. compartida vs. s. distribuidos:
HW ms complejo y difcilmente ampliable SW ms sencillo y mejor conocido
Introduccin (2/2)
Nuevo modelo de programacin en s. distribuidos
RPC (o RMI) Memoria compartida distribuida (DSM)
Memoria compartida implementada por software Simulada mediante paso de mensajes Permite comunicacin mediante datos compartidos y sincronizacin mediante semforos
Objetivo:
Sistemas fciles de construir y programar
Problema:
Obtener un rendimiento aceptable
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers 2000
Sistemas Operativos Distribuidos 5 Fernando Prez Costoya Jos Mara Pea Snchez
Accesos a DSM convencionales (LOAD/STORE) En principio, programas diseados para multiprocesador pueden usarse directamente sin adaptarlos Primer sistema IVY (Li, 1986)
Sistemas Operativos Distribuidos 6
Kernel
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers 2000
Sistemas Operativos Distribuidos 7 Fernando Prez Costoya Jos Mara Pea Snchez
Slo el dato requerido Puede ser ineficiente Unidad mayor que contiene dato Genera false-sharing
Thrashing
Procesos compitiendo por dato (realmente o por false-sharing) Puede causar sobrecarga por transferencia de mensajes
Pgina viaja continuamende de procesador a procesador
Poltica de escritura:
Write-update: dato escrito se propaga a copias Write-invalidate: escritura genera invalidacin de copias
Fernando Prez Costoya Jos Mara Pea Snchez
Modelos de coherencia
Sistemas Operativos Distribuidos 9
False-sharing
Ejemplo para un sistema DSM basado en pginas, producido por accesos a A y a B en dos procesadores distintos
A
page n
B
page n + 1
Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 Addison-Wesley Publishers 2000
Sistemas Operativos Distribuidos 10 Fernando Prez Costoya Jos Mara Pea Snchez
Modelos de coherencia
Buen rendimiento requiere mltiples copias de los datos Compromiso entre coherencia y rendimiento:
Modelos de coherencia ms relajados
Modelo de coherencia:
Contrato entre el SW y la memoria que establece qu reglas deben seguir las aplicaciones para funcionar correctamente
Procesador 2
z = 2; print x, y
Las variables valen inicialmente 0 Anlisis de resultados dependiendo del modelo de coherencia
qu valores se imprimen?
Sistemas Operativos Distribuidos 12 Fernando Prez Costoya Jos Mara Pea Snchez
Coherencia atmica
Lectura de una posicin de memoria devuelve el valor guardado por la operacin de escritura ms reciente Orden absoluto con respecto al tiempo de accesos a memoria Difcil de implementar en sistemas distribuidos nico resultado vlido:
P2: {x=1, y=1}; P1: {z=2}
Coherencia secuencial
Modelo uniforme ms dbil (Lamport, 1979) Resultado equivalente a que los accesos a memoria de los procesadores se ejecutaran en algn orden secuencial apareciendo las operaciones de cada procesador en el orden especificado por su programa. Definicin 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
Coherencia dbil
No siempre se requiere propagar escrituras inmediatamente
P. ej. proceso en sec. crtica slo necesita propagar cambios al salir
Uso de un nuevo tipo: variables de sincronizacin Slo accesos a v. sincronizacin tienen coherencia secuencial Coherencia de liberacin (Gharachorloo, 1990)
Modelo de coherencia de tipo dbil 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
Coherencia de liberacin
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
Sistemas Operativos Distribuidos 17 Fernando Prez Costoya Jos Mara Pea Snchez
Pgina W slo 1 copia en mquina propietaria Pgina R copia en varias mquinas (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 tena W, la pasa a R (degradacin)
Si no copia local:
la solicita a propietario, genera invalidacin, se hace propietario, marca W y escribe