Professional Documents
Culture Documents
Distribuidos
Definicin
Conceptos de base
Sistema Distribuido: coleccin de mquinas interconectadas por una red
de comunicacin.
Mquina: puede ser una estacin o un mainframe
Recursos locales: recursos con los que cuenta la mquina
Recursos remotos: el resto de las mquina y sus recursos
Servicio: software ejecutndose en una o ms mquinas que
proporcionan un tipo particular de funcin
Servidor: software de servicio en una sola mquina
Un servidor es un proceso que implementa servicios
Cliente: proceso que puede invocar un servicio a travs de un conjunto
de operaciones que forman su interfaz de cliente
Caractersticas
DFS proporciona servicios de archivos a clientes
Clientes, servidores, y dispositivos de almacenamiento se encuentran
dispersos entre las mquinas de un sistema distribuido
Diversidad de clientes y de archivos
Desempeo:
tiempo para satisfacer varias peticiones de servicio.
convencional:
tiempo acceso disco + tiempo procesamiento CPU
DFS:
sobrecarga debido a la estructura distribuida
Principales componentes
Servicio directorio
Servicio sistema
Nombramiento y Transparencia
Nombramiento:
mapeo entre objetos lgicos y fsicos
usuario = objetos lgicos de datos
sistema = objetos fsicos
Transparencia
esconder el lugar de la red donde se encuentra
el archivo (file replication)
Nociones de Nombramiento
Importante diferencias dos nociones relacionadas que involucran
mapeo de nombres dentro de los DFS
- Transparencia de la ubicacin
- Independencia de la ubicacin
Independencia de ubicacin
vs
transparencia esttica de la ubicacin
Esquemas de nombramiento
Tcnicas de implementacin
Montaje de archivos
Una operacin de montaje del cliente ata un sistema de archivos
remoto a la jerarqua del sistema de archivos del cliente
El punto de montaje generalmente es una hoja de la jerarqua que
contiene un subdirectorio vaco.
Montajes son operaciones privilegiadas que pueden realizarse en tres
diferentes instantes:
Montaje explcito
Montaje de booteo
Automontaje
Desventaja: requiere conocimiento de la localizacin de los servidores
Registro de servidores
til en el caso de un sistema con mltiples servidores que proporcionan
el mismo servicio de archivos.
Servidor puede localizarse de dos formas:
1. Servidores se registran en un servicio de registro
2. Clientes realizan un broadcast de una peticin de automontaje
Estas dos formas son esencialmente un protocolo de resolucin de
nombres o direcciones.
Algunas veces el montaje de archivos se hace en forma de cascada,
un sistema de archivos montado puede contener subdirectorios montados
de otros directorios.
Tipos operaciones
Simple RW (Lectura/Escritura)
Cada operacin de lectura y escritura es un acceso
independiente de tipo peticin/respuesta al servidor
Transaccin
Una secuencia de operaciones lectura/escritura es tratada
como una unidad fundamental de acceso a archivo
Sesin
acceso
remoto
acceso
cache
acceso
carga down/up
control
coherencia
control
coherencia
RW simple
no es un verdadero
DFS
transaccin
sesin
no aplicable
no aplicable
ignora el
compartir
Control de la versin
Ignorar el conflicto
Una nueva versin es creada sin importar lo que pas
Solucin del conflicto de versin
Suponer que la informacin modificada en la versin tentativa
no est ligada con la informacin de la nueva versin
actual.
Solucin del conflicto de serializacin
Suponer que los datos modificados en la versin tentativa
fueron modificados por la nueva versin actual.
Caractersticas principales
Ubicacin de la cach
Problema: dnde almacenar los datos cach, (disco o mem. principal)
La cach de disco tienen una ventaja sobre el cach de memoria
principal: la disponibilidad
Dos polticas:
1. Escribir los datos en la copia maestra tan pronto como sean
modificados los de la memoria cach
2. Modificaciones son escritas en la cach y tiempo despus
son escritas en la copia maestra.
Consistencia
Objetivo:
Decidir cuando una copia local en la cach es consistente
con la copia maestra, (y por lo tanto puede ser usada).
Dos enfoques:
Ventajas statefull
Tolerancia a fallas
No necesita llamadas open/close
No se desperdicia el espacio del
servidor en tablas
No existe lmite para el nmero
de archivos abiertos
No hay problemas si un cliente
falla
Requerimiento de idempotencia
Mecanismo de bloqueo de archivos
Sesin de manejo de llave
Consistencia cach
Rplica de archivos
Se dispone de varias copias de algunos archivos, donde cada
copia est en un servidor de archivos independiente.
Razones de justificacin del servicio:
1. Aumentar la confiablilidad de respaldos independientes
de cada archivo
2. Permitir el acceso al archivo aunque falle un servidor de
archivos
3. Repartir la carga de trabajo entre varios servidores
Implementacin de la rplica
Rplica a travs un grupo
Rplica retrasada
Rplica explcita
s1
s1
1
s1
Despus
cliente
2
s2
s2
s2
Ahora
3
Despus
s3
s3
s3
servidor
Grupo
Protocolos de actualizacin
Encargado de la transaccin
Realiza la transaccin
Administrador
Se asegura de la consistencia de una ejecucin
concurrente de una transaccin
Seriabilidad, (introduccin)
Transacciones consisten de una secuencia de operaciones que pueden leer o escribir
en objetos de datos
Para diferenciar una lectura concurrente de una escritura exclusiva se utiliza un
lock compartido y un lock exclusivo respectivamente
Locks deben liberarse despus de operaciones y antes del final de una transaccin
Transaccin bien formada: sigue la convencin anterior para cada acceso de
lectura/escritura en un objeto compartido
Una lista legal es aquella que impide conflictos de locks, para lo cual se fija en el
orden interno de las operaciones en cada transaccin
No todas las listas legales provocaran resultados consistentes o se completaran
Solo son interesantes las listas legales que se terminen y produzcan resultados
consistentes
Una lista es seriable si el resultado de sus ejecucin es equivalente al de una lista
serial.
Una lista serial es una lista legal especial que es formado ejecucin secuencial
estricta.
Si cada encargado de objetos sigue el orden de las estampillas para ejecutar las
operaciones, la ejecucin de transacciones satisface las condiciones de seriabilidad.
Cuando una operacin sobre un objeto compartido es invocada, el objeto registra la
estampilla de la transaccin invocada.
Si despus se requiere otra operacin sobre el mismo objeto:
si la transaccin tiene una estampilla ms grande que la del objeto
se permite que la operacin se lleve a cabo, (y se registra la nueva estampilla)
si la transaccin tiene una estampilla ms chica se debe de abortar
Transacciones jvenes (estampilla grande), deben esperar por viejas, (estampillas chicas)
y viejas transacciones deben morir y reinicializarse cuando se confrontan a una
transaccin ms joven
Ejemplo protocolo
OK
abortar
esperar
lectura
lecturas en espera
RD
WR
Tmin
intentos de escritura
escritura
efectuar la tentativa de escritura
abortar
RD
abortar
RD
WR
Tmin
WR
Tmin
completar
abortar transacciones
aceptar si no hay
conflicto r-w y w-w
conflicto
TVk
fase validacin
TVi
aceptar si no hay
conflicto r-w
conflicto
fase actualizacin
TVi
TVi
aceptar