Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin
Revolucin en los sistemas de computo.
Mainframes.
10 Millones de dlares 1 instruccin por seg.
Personal Computer.
1000 dlares 10 millones de instrucciones por seg.
Ganancia precio/rendimiento.
1011
Introduccin
Invencin y desarrollo de las redes de datos.
WANs y LANs a altas velocidades. Millones de bits/segundo.
5/4/2012
Qu es un sistema distribuido?
Conjunto de entes interconectados que trabajan armoniosamente prestndose servicios unos a otros. Coleccin de computadoras independientes que aparecen ante los usuarios del sistema como una nica computadora.
5/4/2012
5/4/2012
SD vs. PC
5/4/2012
Desventajas de los SD
5/4/2012
Hardware en SD
Existen diversas maneras de organizar el hardware en un SD. Diversas clasificaciones.
Taxonomas de Flynn - 1972. Rudimentaria. Basada en dos caractersticas.
# de flujos de instrucciones. # de flujos de datos.
5/4/2012
Taxonomas de Flynn
SISD (Single Instruction, Single Data).
PCs a Mainframes.
Taxonomas de Flynn
5/4/2012
10
Taxonomas de Flynn
5/4/2012
11
5/4/2012
12
Software en SD
Aunque el hardware es importante, el software lo es ms.
Por qu?
El software y en particular los sistemas operativos no se pueden clasificar tan fcil como el hardware.
5/4/2012
13
Software en SD
Tratemos con esta separacin:
Software dbilmente acoplado.
Computadores independientes en red.
5/4/2012
14
Comunicacin primitiva.
5/4/2012
15
5/4/2012
16
5/4/2012
17
5/4/2012
18
5/4/2012
19
5/4/2012
20
5/4/2012
21
5/4/2012
22
Aspectos de diseo
Transparencia.
Cmo engaan los diseadores del sistema a todas las personas, de forma que la coleccin de mquinas es tan slo un sistema de tiempo compartido? Dos niveles:
Ocultar la distribucin a los usuarios. Hacer que el sistema sea transparente para los programas.
5/4/2012
23
Aspectos de diseo
Transparencia.
Es ms difcil colocar una venda sobre los ojos del programador que los sobre los ojos del usuario final. El concepto de transparencia puede aplicarse en varios aspectos de un sistema distribuido.
5/4/2012
24
Transparencia
5/4/2012
25
Aspectos de diseo
Flexibilidad.
Por qu es importante que un sistema operativo distribuido sea flexible?
Mantener abiertas opciones.
5/4/2012
26
Flexibilidad
5/4/2012
27
Aspectos de diseo
Flexibilidad.
Ventajas y desventajas de cmo estructurar un SOD. Comparacin detallada (Douglis et al., 1991).
Sprite (Monoltico) vs. Amoeba (Microkernel).
5/4/2012
28
Aspectos de diseo
Confiabilidad.
Uno de los principales objetivos.
Mayor confiabilidad que los sistemas de un solo procesador.
Similitud de un sistemas distribuido con un OR booleano. Similitud de un sistemas distribuido con un AND booleano.
5/4/2012
29
Aspectos de diseo
Confiabilidad.
un sistema distribuido es aquel del cual no puedo obtener un trabajo debido a que cierta mquina de la cual nunca he odo se ha descompuesto (Leslie Lamport). Qu quiere decir esto?
Irona.
5/4/2012
30
Aspectos de diseo
Desempeo.
Mejorar la velocidad de todo. Mtricas de desempeo.
Tiempo de respuesta. # de trabajos por hora. Uso del sistema.
5/4/2012
31
Aspectos de diseo
Escalabilidad.
Ejemplo del sistema telefnico francs.
Minitel.
5/4/2012
32
Aspectos de diseo
Escalabilidad.
Caractersticas de los algoritmos descentralizados:
Ningn nodo conoce el estado completo del sistema. Las decisiones se toman en base a informacin local. La falla de un nodo no compromete el algoritmo. No existe una hiptesis implcita de la existencia de un reloj global.
5/4/2012
33
5/4/2012
34
5/4/2012
35
5/4/2012
36
5/4/2012
37
5/4/2012
38
5/4/2012
39
5/4/2012
40
5/4/2012
41
5/4/2012
44
5/4/2012
45
5/4/2012
46
Forma cannica.
5/4/2012
47
Solucin alternativa.
Excepciones.
5/4/2012
49
5/4/2012
50
5/4/2012
51
5/4/2012
52
5/4/2012
53
No se garantiza nada.
Desde 0 a un nmero grande.
5/4/2012
54
5/4/2012
55
5/4/2012
56
5/4/2012
57
5/4/2012
58
5/4/2012
59
Migracin de procesos
Transferencia de una parte suficiente del estado de un proceso. Posibilidad de ejecutarse en otra mquina. Balanceo de cargas. La migracin real de procesos en ejecucin es trivial en teora, pero cerca de lo imposible en la prctica (Andrew Tanenbaum).
5/4/2012
61
Migracin de procesos
Motivacin:
Comparticin de la carga. Rendimiento de las comunicaciones. Fiabilidad. Utilizacin de caractersticas especiales.
5/4/2012
62
5/4/2012
63
5/4/2012
64
5/4/2012
65
Almacenamiento temporal.
5/4/2012
67
Un escenario de migracin
AIX de IBM (Automigracin).
1. Seleccionar una mquina destino, y enviar un mensaje de tarea remota.
Qu informacin lleva el mensaje?
2. En la mquina destino, un proceso servidor del ncleo crea un hijo y le cede el mensaje. 3. El nuevo proceso extrae la informacin del mensaje, y es el encargado de replicar la imagen del proceso a emigrar.
5/4/2012 68
Un escenario de migracin
AIX de IBM (Automigracin).
4. Se indica con una seal al proceso originario que la migracin a terminado. Este proceso enva un mensaje final de terminacin al nuevo proceso y se destruye.
5/4/2012
69
Un escenario de migracin
Cmo seria una migracin, si el que inicia la migracin no es el mismo proceso?
Ideas.
5/4/2012
70
Un escenario de migracin
Cuando la migracin la inicia otro proceso.
1. Copiar la imagen del proceso y todo su espacio de direcciones a un archivo. 2. Destruir el proceso a migrar. 3. Copiar el archivo a otra mquina va una transferencia de archivos. 4. Volver a crear el proceso en la nueva mquina, a partir del archivo.
5/4/2012
71
Negociacin de la migracin
A qu nos referimos con esto?
Ideas.
5/4/2012
72
Negociacin de la migracin
1. El iniciador que controla el sistema origen (S) decide que un proceso (P) debe emigrar a un sistema destino determinado (D). Entonces enva un mensaje al Iniciador de D solicitando la transferencia. 2. Si el iniciador de D est preparado para recibir al proceso, devuelve un acuse de recibo afirmativo.
5/4/2012 73
Negociacin de la migracin
3. El iniciador de S le comunica su decisin al ncleo de S, a travs de la llamada a un servicio (si el iniciador se esta ejecutando en S) o mediante un mensaje al KernJob (KJ) de la mquina S. 4. El ncleo de S se ofrece entonces para enviar el proceso D. En la oferta se incluyen estadsticas sobre P.
5/4/2012 74
Negociacin de la migracin
5. Si D anda escaso de recursos, puede rechazar la oferta. En otro caso, el ncleo de D propone la oferta a su iniciador. En la propuesta se incluye la misma informacin recibida de S. 6. La decisin segn la poltica del iniciador es comunicada a D por medio de una llamada MigrateIn.
5/4/2012 75
Negociacin de la migracin
7. D reserva los recursos necesarios y enva a S una aprobacin.
5/4/2012
76
Negociacin de la migracin
5/4/2012
77
Desalojo de procesos
El proceso de negociacin permite que un sistema destino rechace la migracin. Adicionalmente, puede ser til que un sistema desaloje un proceso que ha emigrado hacia l.
Bajo que circunstancias?
5/4/2012
78
Desalojo de procesos
En SPRITE.
Un proceso esta casado con una nica mquina.
Nodo de origen.
5/4/2012
79
Desalojo de procesos
1. Un proceso supervisor lleva la cuenta de carga actual para determinar cundo se pueden aceptar nuevos procesos extranjeros. Si el supervisor detecta actividad en dicha estacin, se inicia un procedimiento de desalojo para cada proceso extranjero. 2. El proceso desalojado volver a su nodo de origen.
5/4/2012 80
Desalojo de procesos
3. El desalojo se realiza para todos los procesos extranjeros en el nodo.
Consideraciones.
5/4/2012
81
Ventajas y desventajas.
5/4/2012
82
Sincronizacin
Cmo es la comunicacin en un sistema distribuido? Cmo se ataca la sincronizacin en los sistemas convencionales? Por qu no hacer lo mismo ac?
Premisa en la existencia de memoria compartida.
5/4/2012
83
Sincronizacin de relojes
Relojes
La mayora de las computadoras poseen un circuito para el registro del tiempo.
Reloj vs. Cronmetro.
5/4/2012
85
Relojes
A cada cristal se le asocian dos registros:
Contador. Registro mantenedor.
Cmo controlar el nmero de interrupciones? Cada interrupcin recibe el nombre de marca de reloj.
5/4/2012
86
Relojes
Cul es el problema con los relojes? Distorsin de reloj. Ideas para solventar esta situacin.
5/4/2012
87
Relojes
La sincronizacin no tiene que ser absoluta. Qu pasa si dos procesos no interactan? Lo que importa por lo general, no es que todos los procesos concuerden de manera exacta en la hora, sino que coincida en el orden en que ocurren los eventos (Lamport, 1990)
5/4/2012
88
Relojes
Relojes lgicos.
La importancia radica en la consistencia interna de los relojes, no su particular cercana al tiempo real.
Relojes fsicos.
Existe una consistencia interna, y adems un umbral permitido de discrepancia con el tiempo real.
5/4/2012
89
Relojes lgicos
Lamport defini una relacin llamada ocurre antes de.
A B A ocurre antes que B 1. Si A y B son eventos en el mismo proceso y A ocurre antes que B, entonces A B. 2. Si A es el evento del envo de un mensaje por un proceso y B es el evento de la recepcin del mensaje, entonces A B. 3. Si A B y B C, entonces A C.
5/4/2012 90
Relojes lgicos
Lo que necesitamos es una forma de medir el tiempo tal que, a cada evento A, le podamos asociar un valor de tiempo C(A) en el que todos los procesos estn de acuerdo. Si A B, entonces C(A) < C(B).
5/4/2012
91
Relojes lgicos
5/4/2012
92
Relojes lgicos
1. Si A ocurre antes de B en el mismo proceso, C(A) < C(B). 2. Si A y B son el envo y la recepcin de un mensaje, C(A) < C(B). 3. Para todos lo eventos A y B, C(A) C(B).
5/4/2012
93
Relojes fsicos
Mediciones con base al sol. Reloj atmico 1948. Tiempo Atmico Internacional (TAI). Coordinated Universal Time (UTC).
5/4/2012
94
Relojes fsicos
Ejemplo NTP.
5/4/2012 95
Deadlock en SD
Objetivos.
Comprender y describir el problema de abrazo mortal distribuido. Diferenciar el abrazo mortal por recursos y por comunicacin. Comprender y comparar diferentes enfoques para manejar el problema de abrazo mortal.
5/4/2012
96
Deadlock en SD
Los bloqueos en los sistemas distribuidos son similares a los bloqueos en los sistemas con un procesador, slo que peores (Tanenbaum).
5/4/2012
97
Deadlock en SD
Dos tipos de bloqueos distribuidos:
Por comunicacin.
A enva B enva C enva A.
Por recursos.
Acceso exclusivo a dispositivos de E/S, archivos, etc.
5/4/2012
98
Deadlock en SD
Estrategias para el manejo:
1. 2. 3. 4. Algoritmo del avestruz. Deteccin. Prevencin. Evitarlos.
Deadlock en SD
Definicin.
Es una situacin en la que se encuentran un conjunto de procesos donde cada proceso est esperando por un evento que slo puede ser producido por otro proceso perteneciente a ese mismo conjunto.
5/4/2012
100
Deadlock en SD
P2 P1 P3
P4
Nodo 1
Nodo 2
5/4/2012
101
5/4/2012
103
5/4/2012
104
Soluciones.
Ideas. Cmo funciona su idea?
Descrbala.
5/4/2012
105
5/4/2012
106
5/4/2012
107
5/4/2012
108
Chandy-Misra-Hass
Se utiliza cuando un proceso debe esperar por cierto recurso. Se utiliza un mensaje especial.
Mensaje de exploracin. El mensaje consta de:
El proceso recin bloqueado. El proceso que enva el mensaje. El proceso a cual se enva.
5/4/2012
109
Chandy-Misra-Hass
5/4/2012
110
Algoritmo Chandy-Misra-Hass
Todos los procesos poseen en su memoria local las siguientes estructuras para poder llevar a cabo el algoritmo propuesto:
ultimo(i): en este arreglo se almacena el nmero de secuencia ms grande en cualquier consulta enviada o recibida por Pk (el valor de m ms grande). IDUltimo(i): almacena el Id del proceso que envi el mensaje ms reciente, y cuyo valor m se almacen en Ultimo(i). num(i): almacena la cantidad de mensajes consulta(i,m,k,j) que envi Pk y an no han sido respondidos con su correspondiente mensaje respuesta(i,m,j,k). Si num(i) es 0, significa que Pk ha recibido respuesta de cada una de las consultas enviadas. espera(i): es verdadero si Pk est ocioso. Se hace falso cuando Pk pasa a estado En Ejecucin.
5/4/2012
111
Algoritmo Chandy-Misra-Hass
5/4/2012
112
Algoritmo Chandy-Misra-Hass
5/4/2012
113
Algoritmo Chandy-Misra-Hass
5/4/2012
114
Algoritmo Chandy-Misra-Hass
P2 P1 P3
P4
Nodo 1
Nodo 2
Asignacin.
Realizar la corrida del algoritmo de Chandy-MisraHass, con el estado inicial de la figura.
5/4/2012 115
Chandy-Misra-Hass
Caractersticas.
Cada nodo mantiene una porcin del grafo global. Cada nodo participa en la deteccin de un ciclo global. Son ms resistentes a fallas, y ningn nodo est sobrecargado con la deteccin de deadlock.
5/4/2012
116
Chandy-Misra-Hass
Desventajas.
Debido a las estructuras de datos su diseo resulta muy complejo.
5/4/2012
117
5/4/2012
118
5/4/2012
121
5/4/2012
122
5/4/2012
123
5/4/2012
124
5/4/2012
125
5/4/2012
126
5/4/2012
127
5/4/2012
128
5/4/2012
129
5/4/2012
130
5/4/2012
131
Limpio.
La memoria esta actualizada.
Sucio.
La memoria es incorrecta.
5/4/2012 132
5/4/2012
133
5/4/2012
134
5/4/2012
135
Modelos de consistencia
Cmo se trabaja con la memoria en un sistema de memoria compartida distribuida?
Copias de lectura. Copias de escritura. Consideraciones.
5/4/2012
136
Modelos de consistencia
Un modelo de consistencia es en esencia un contrato entre el software y la memoria (Adve y Hill, 1990). Qu ocurre si se obedecen las reglas? Qu ocurre si se violan las reglas?
5/4/2012
137
Modelos de consistencia
Estricta. Secuencial. Causal. PRAM. Dbil. Liberacin. Entrada.
138
5/4/2012
Consistencia estricta
Cualquier lectura a una localidad de memoria x regresa el valor guardado por la operacin de escritura ms reciente en x. Consideraciones.
5/4/2012
139
Consistencia estricta
5/4/2012
140
Consistencia secuencial
El resultado de cualquier ejecucin es el mismo que si las operaciones de todos los procesos fueran ejecutadas en algn orden secuencial, y las operaciones de cada proceso individual aparecen en el orden especificado por su programa (Lamport 1979). Cuando los procesos se ejecutan en paralelo en diferentes mquinas, cualquier intercalado valido es aceptable, pero los procesos deben ver las mismas referencias a memoria en el mismo orden.
5/4/2012 141
Consistencia secuencial
5/4/2012
142
Consistencia secuencial
5/4/2012
143
Consistencia secuencial
Mtodo formal para expresar la consistencia secuencial. (Ahamad et al., 1993).
La serie de operaciones de lectura y escritura de un proceso i se denotan por Hi. Para obtener el orden relativo se fusionan las cadenas de operacin de cada Hi en una nueva cada S. En S se deben cumplir dos condiciones:
Mantenerse el orden del programa. Debe ser respetada la coherencia en la memoria.
5/4/2012 144
Consistencia causal
Las escrituras potencialmente relacionadas de forma causal son vistas por todos los procesos en el mismo orden. Las escrituras concurrentes pueden ser vistas en un orden diferente en mquinas diferentes (Hutto y Ahamad, 1990).
5/4/2012
145
Consistencia causal
5/4/2012
146
Consistencia causal
5/4/2012
147
Consistencia PRAM
PRAM (Pipelined RAM).
Las escrituras realizadas por un proceso son recibidas por los otros procesos en el orden en que son realizadas, pero las escrituras de procesos diferentes pueden verse en un orden diferente por procesos diferentes (Lipton y Sandberg, 1988).
5/4/2012
148
Consistencia PRAM
5/4/2012
149
Consistencia dbil
Segn Dubois et al., 1986:
1. Los accesos a las variables de sincronizacin son secuencialmente consistentes. 2. No se permite realizar un acceso a una variable de sincronizacin hasta que las escrituras hayan terminado en todas partes. 3. No se permite realizar un acceso a los datos (lectura o escritura) hasta realizar todos los accesos anteriores a las variables de sincronizacin.
5/4/2012 150
Consistencia dbil
No es necesario mostrar inmediatamente a otros procesos cambios en la memoria hechos por cada operacin de escritura. Los resultados de varias operaciones de escritura pueden ser combinados y enviados a otros procesos slo cuando ellos lo necesitan. Implementacin.
Se usa una variable de sincronizacin.
5/4/2012 151
Consistencia dbil
5/4/2012
152
Consistencia de liberacin
Gharachorlo et al., 1990. Distingue dos tipos de acciones de sincronizacin:
Las que preceden a la entrada en secciones crticas. Las que se desarrollan despus de completarse una seccin crtica. Estas acciones de sincronizacin son conocidas comnmente como:
acquire access ( acceso de adquisicin ). release access ( acceso de liberacin ).
5/4/2012
153
Consistencia de liberacin
5/4/2012
154
Consistencia de entrada
Mejora de la consistencia de liberacin.
Ideas.
Las variables compartidas que han cambiado ya no se determinan de manera emprica. Variables de sincronizacin independientes.
5/4/2012
155
Consistencia de entrada
Bershad y Zekauskas, 1991.
1. No se permite realizar un acceso de adquisicin a una variable de sincronizacin con respecto a un proceso hasta que se realicen todas las actualizaciones de los datos compartidos protegidos con respecto a ese proceso. 2. Antes de permitir la realizacin de un acceso en modo exclusivo a una variables de sincronizacin por un proceso, ningn otro proceso debe poseer la variable de sincronizacin, ni siquiera en modo no exclusivo.
5/4/2012 156
Consistencia de entrada
Bershad y Zekauskas, 1991.
3. Despus de realizar un acceso en modo exclusivo a una variable de sincronizacin, no se puede realizar el siguiente acceso en modo no exclusivo de otro proceso a esa variable de sincronizacin hasta haber sido realizado con respecto del propietario de esa variable.
5/4/2012
157
5/4/2012
158
5/4/2012
159
5/4/2012
160
5/4/2012
Diseo bsico
Idea.
Intentar emular el cach de un multiprocesador mediante MMU y el software del sistema operativo.
5/4/2012
163
Rplica
Incrementa el rendimiento. Rplica de pedazos de solo lectura. Rplica de pedazos de lectura-escritura. Inconsistencia.
5/4/2012
164
Granularidad
Tamao del pedazo de memoria que se replica. Fallos de pgina. Traer pgina completa vs. Traer varias pginas. Comparticin falsa. Compiladores inteligentes.
5/4/2012
165
Granularidad
5/4/2012
166
5/4/2012
167
5/4/2012
168
5/4/2012
169
5/4/2012
170
5/4/2012
171
5/4/2012
172
5/4/2012
173
Bsqueda de copias
Ideas. Medio de transmisin no-confiable. Lista del conjunto de copias. Protocolo de invalidacin.
5/4/2012
174
Bsqueda de copias
5/4/2012
175
Reemplazo de pginas
Buscar pgina para sacar de memoria. Pgina poseda por otro proceso. Pgina duplicada del proceso saliente. Pgina no duplicada. Transmitir nmero de marcos libres. Problema de comparticin activa.
T.
5/4/2012
176
Servidor de archivos.
Proceso que se ejecuta en alguna mquina. Ayuda a implantar el servicio de archivo.
5/4/2012
177
Servicio de directorios.
Crear y administrar directorios. Aadir y eliminar archivos del directorio.
5/4/2012
178
5/4/2012
179
5/4/2012
180
5/4/2012
181
5/4/2012
182
5/4/2012
183
5/4/2012
184
Transparencia de nombres
Dos tipos de transparencia:
Transparencia con respecto a la posicin.
/servidor1/dir1/dir2/x
5/4/2012
185
Transparencia de nombres
Tres mtodos usuales para nombrar los archivos y directorios en un sistema distribuido:
Nombre mquina + ruta de acceso.
/maquina/ruta o maquina:ruta
Montaje de sistemas de archivos remotos en la jerarqua local de archivos. Un espacio de nombres que tenga la misma apariencia en todas las mquinas.
5/4/2012 186
Rplicas
Razones para la existencia de este servicio:
1. Aumentar la confiabilidad al disponer de respaldos independientes. 2. Permitir el acceso al archivo aunque falle el servidor de archivos. 3. Repartir la carga de trabajo entre varios servidores.
5/4/2012
187
Mtodos de replicacin
5/4/2012
188
5/4/2012
189
5/4/2012
190
Comentario
Cada operacin en un archivo es visible a todos los procesos de manera instantnea Ningn cambio es visible a otros procesos hasta que el archivo se cierre No existen actualizaciones; es ms fcil compartir y replicar Todos los cambios tiene la propiedad del todo o nada
191
Semntica de Sesin
5/4/2012
Protocolos de actualizacin
Dos mtodos para la actualizacin:
Rplica de la copia primaria. Algoritmo del voto.
Gifford, 1979. Algoritmo del voto con fantasma.
5/4/2012
192
5/4/2012
193
5/4/2012
194
5/4/2012
195
Protocolos de actualizacin
5/4/2012
196
5/4/2012
197
Funcionamiento.
Qu hace con las escrituras?
5/4/2012
198
5/4/2012
200