Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción .................................................................................................... 4
Desarrollo ....................................................................................................... 5
Caching ..................................................................................................... 13
Replicación................................................................................................ 14
Propiedades.................................................................................................. 15
Bloqueos ....................................................................................................... 20
Bloqueos ................................................................................................... 21
Sistemas Distribuidos
Prof. Rubén Báez
Modos de bloqueo ..................................................................................... 22
3
Diseño de una transacción ........................................................................ 22
Estructura ..................................................................................................... 28
Consistencia Relajada............................................................................... 33
Bibliografía .................................................................................................... 35
Sistemas Distribuidos
Prof. Rubén Báez
Sistemas de archivos distribuidos, 4
Introducción
Los Sistemas Distribuidos funcionan, en gran medida, con paradigmas que los
hacen bastante complejos al momento de su diseño, implementación o
mantenimiento.
Sistemas Distribuidos
Prof. Rubén Báez
de Datos Distribuidas y llegando hasta la propia gestión de la Memoria
5
Compartida.
Desarrollo
Principales características
Sistemas Distribuidos
Prof. Rubén Báez
► Es posible el acceso concurrente desde varios procesos
6
► En sistemas multiusuario proporciona protección de accesos
Sistemas Distribuidos
Prof. Rubén Báez
► Actualizaciones concurrentes: soporta varios clientes modificando los
7
mismos datos de manera concurrente
► Replicación de archivos: puede ser implementada por redundancia o
caching
► Heterogeneidad: del hardware y sistema de operación
► Seguridad: mecanismos de control de acceso y autenticación
► Eficiencia: el desempeño debe ser similar a sistemas de archivos locales
Aspectos de diseño
Aspectos importantes:
Sistemas Distribuidos
Prof. Rubén Báez
Servicio de Directorios: ofrece operaciones sobre directorios: crear y borrar
8
directorios, copiar y mover archivos entre directorios.
Aspectos importantes:
Aspectos importantes:
Aspectos de Implementación
Sistemas Distribuidos
Prof. Rubén Báez
Mediciones dinámicas en el uso de archivos 9
Sistemas Distribuidos
Prof. Rubén Báez
► Separados:
10
o abrir un archivo implica ir al Servidor de directorios, localizar el
archivo y luego ir al Servidor de Archivos para llevar a cabo la
lectura o escritura
o requiere mayor comunicación, pero es más flexible y el software es
más sencillo
Sistemas Distribuidos
Prof. Rubén Báez
► Servidores con estado
11
o Los servidores guardan información del estado de los clientes entre
solicitudes: tabla que asocia los descriptores de archivos con los
archivos propiamente dichos.
Sistemas Distribuidos
Prof. Rubén Báez
Servidores sin estado Servidores con estado
12
Tolerante a fallos La recuperación quedará a cargo del cliente
Sistemas Distribuidos
Prof. Rubén Báez
Caching 13
Ventajas: hay espacio, se requiere sólo una copia de cada archivo, archivos
accesibles a todos los clientes, no hay problemas de consistencia
Sistemas Distribuidos
Prof. Rubén Báez
desempeño a costa de mayor complejidad y posible semántica más
14
difusa.
► En memoria principal: en el espacio de direcciones del cliente,
administrado por librerías con llamadas al sistema. Cuando el proceso
termina, los archivos modificados se actualizan en el servidor.
► En el kernel: la ventaja es que el caché sobrevive al proceso. La
desventaja es que siempre hay que llamar al kernel.
► En un administrador de caché en espacio de usuario: libera al kernel
del sistema, fácil de programar, más flexible.
Replicación
Sistemas Distribuidos
Prof. Rubén Báez
Transacciones distribuidas 15
Conceptos básicos
Dentro de los Sistemas Distribuidos, hay muchos casos en que una sola
comunicación no resuelve problemas específicos de interacción entre dos
procesos. La interacción entre los procesos suele ser una secuencia de
comunicaciones y cálculos. En estas situaciones es adecuado operar en base a
transacciones.
Propiedades
Una transacción que se aplica a datos recuperables, puede estar formada por
operaciones simples o compuestas y su intención es que sea atómica.
Sistemas Distribuidos
Prof. Rubén Báez
► Durabilidad: una vez que se completó con buen éxito, una transacción
16
no se puede cancelar (al menos que se aplique otra transacción)
Es obligatorio que una transacción cumpla con las propiedades establecidas por
el estándar ACID: Atomicity, Consistency, Isolation, Durability. Cada una de
estas cuatro condiciones tiene que cumplirse para asegurar que una transacción
esté correctamente diseñada.
Esta condición asegura que la operación sea exitosa solamente si todas sus
partes se realizaron correctamente. Si una parte falla, la transacción se declara
no exitosa.
Para soportar la atomicidad ante fallas y la durabilidad, los ítems de datos deben
ser recuperables.
Sistemas Distribuidos
Prof. Rubén Báez
► Fallas por caídas del sistema, de los medios de E/S, de los procesadores,
17
de las líneas de comunicación, fallas de energía, etc. Recuperación de
caídas
► Para ello, el sistema es quien tiene la responsabilidad de decidir qué hacer
ante la recuperación de una falla:
o Terminar de ejecutar el resto de las acciones
o Deshacer las acciones que se había realizado
o Para proveer la recuperación se usan técnicas de almacenamiento
estable
Es la condición que asegura que sólo se empieza aquello que se puede acabar.
Por este motivo solamente se ejecutan aquellas operaciones que no van a
romper ninguna regla o directriz de integridad de la base de datos.
Esta condición asegura que una operación no puede afectar a otras. Esto permite
que la realización de dos transacciones simultáneas sobre la misma porción de
información nunca generará ningún tipo de error.
Sistemas Distribuidos
Prof. Rubén Báez
Tipos de transacciones 18
Sistemas Distribuidos
Prof. Rubén Báez
19
Sistemas Distribuidos
Prof. Rubén Báez
Diagrama de Transición de Estados de una 20
transacción
2.
PARCIALMEN
TE
COMPROMETI
DA
1. ACTIVA COMPROMETI
DA
5. ABORTADA 4. FALIIDA
Bloqueos
Sistemas Distribuidos
Prof. Rubén Báez
Bloqueos 21
Niveles de bloqueo
Sistemas Distribuidos
Prof. Rubén Báez
Modos de bloqueo 22
Sistemas Distribuidos
Prof. Rubén Báez
Base de datos distribuida 23
Una Base de Datos Distribuida (BDD) viene a ser una colección de base de datos
construida sobre una red y que pertenecen, lógicamente, a un solo sistema
distribuido, la cual cumple las siguientes condiciones:
Las Bases de Datos Distribuidas son como unidades virtuales, cuyas partes se
almacenan físicamente en varias bases de datos "reales" distintas, ubicadas en
diferentes sitios.
Sistemas Distribuidos
Prof. Rubén Báez
Ejemplo de Base de Datos Distribuida 24
Veamos el ejemplo de un banco que tiene tres sucursales, en cada sucursal, una
computadora controla las terminales de la misma y el sistema de cuentas. Cada
computadora con su sistema de cuentas local en cada sucursal constituye un
"sitio" de la BDD; las computadoras están conectadas por la red. Durante las
operaciones normales, las aplicaciones en las terminales de la sucursal
necesitan sólo acceder la base de datos de la misma. Como sólo acceden a la
misma red local, se les llaman aplicaciones locales.
Una transacción normal será una transferencia de fondos de una sucursal a otra.
Esta aplicación requiere de actualizar datos en dos diferentes sucursales y
asegurarse de la real actualización en ambos sitios o en ninguno. Asegurar el
buen funcionamiento de aplicaciones globales es una tarea difícil.
Sistemas Distribuidos
Prof. Rubén Báez
► Economía. Existen dos aspectos a tener en cuenta. 25
Sistemas Distribuidos
Prof. Rubén Báez
Desventajas de las Bases de Datos Distribuidas 26
Sistemas Distribuidos
Prof. Rubén Báez
Memoria distribuida 27
[Li, 1986] y [Li and Hudak, 1989] fueron los primeros en proponer el paradigma
de Memoria Compartida Distribuida y ha sido implementado sobre el paso de
mensajes.
Características y funcionamiento
Sistemas Distribuidos
Prof. Rubén Báez
Estructura 28
Modelo de Sincronización
Multiprocesadores
Sistemas Distribuidos
Prof. Rubén Báez
► Para comunicación: un proceso escribe y los otros leen
29
► Para la sincronización: se usan regiones críticas y existen herramientas
que ofrecen la exclusión mutua (semáforos, contadores, monitores)
► Los programas son más cortos y fáciles de comprender que los programas
escritos con pase de mensajes
► Es difícil diseñar una máquina donde varios procesadores utilicen la
misma memoria. Si la arquitectura está basada en bus, no es escalable.
Con switches se obtiene una mayor escalabilidad pero son costosos,
lentos, complejos
Multicomputadoras
Sistemas Distribuidos
Prof. Rubén Báez
30
► Consistencia Estricta
► Consistencia Secuencial
► Consistencia Causal
► Consistencia Relajada
Sistemas Distribuidos
Prof. Rubén Báez
Consistencia Estricta 31
La consistencia estricta garantiza que los valores que se ven en memoria estén
en estricto orden de escritura.
Consistencia Secuencial
Sistemas Distribuidos
Prof. Rubén Báez
Consistencia Causal 32
P1 escribe X
Sistemas Distribuidos
Prof. Rubén Báez
Consistencia Relajada 33
MODELOS DE
DESCRIPCIÓN
CONSISTENCIA
Sistemas Distribuidos
Prof. Rubén Báez
Los datos compartidos están consistentes cuando se
34
RELAJADA sale de la región crítica. Estos modelos pueden ser más
eficientes pero requieren más esfuerzo del programador
Aproximaciones a la implementación
Sistemas Distribuidos
Prof. Rubén Báez
Bibliografía 35
Sistemas Distribuidos
Prof. Rubén Báez