Title: SISTEMAS DISTRIBUIDOS Y PARALELOS
1 SISTEMAS DISTRIBUIDOS Y PARALELOS -2006- Dto. de
informática UNSL Argentina
2Protocolo de Commit de Dos Fases (Two - Phase
Commit)
- Uno de los procesos que intervienen funciona como
el coordinador.
Write prepare en el log Send (prepare,
all) Collect all replies Write commiting en
el log Send (commit, all)
Write ready en el log Send (ready,
coordinador) Write commiting en el
log Send (end, coordinador )
3Control de Concurrencia
- Los algoritmos de control de concurrencia son
necesarios cuando se ejecutan varias
transacciones de manera simultánea en distintos
procesos o en distintos procesadores. - Los principales algoritmos son
- Locking.
- Control optimista de la concurrencia.
- Timestamp
4Locking
- Cuando un proceso debe leer o escribir en un
archivo (recurso crÃtico) como parte de una
transacción, primero cierra con llave el
archivo (locks file). - Las cerraduras serán responsabilidad de
- Un único administrador centralizado de
cerraduras. - Un administrador local de cerraduras en cada
máquina. - El administrador de cerraduras
- Mantiene una lista de los archivos cerrados y
rechaza todos los intentos por cerrar archivos ya
cerrados. - El sistema de transacciones generalmente adquiere
y libera las cerraduras sin acción por parte del
programador.
5Locking
- Una mejora consiste en distinguir las cerraduras
para lectura de las cerraduras para escritura. - Una cerradura para lectura no impide otras
cerraduras para lectura (Las cerraduras para
lectura se comparten). - Una cerradura para escritura sà impide otros
intentos de cerrar con llave para lectura o
escritura (son exclusivas).
6Two Phase Locking
- Cómo evitar inconsistencias cerrando y abriendo
recursos crÃticos? - Cerradura de dos fases
- El proceso adquiere todas las cerraduras
necesarias durante la fase de crecimiento. - El proceso las libera en la fase de reducción.
7Two Phase Locking
F.CRECIMIENTO
F.REDUCCIÓN
TIEMPO
8Strict Two Phase Locking
- La fase de reducción no ocurre hasta que las
transacción hay o hecho commit o abort. - Dos ventajas
- 1- las trasacciones siempre leen un valor
actualizado por otra transacción - 2- se eliminan los abortos en cascada
9Strict Two Phase Locking
- Se deben evitar situaciones de aborto en cascada
Abort(T1)
10Strict Two Phase Locking
- Se deben evitar situaciones de aborto en cascada
Administrador
r1
T1-Lw
T1-UL
T2-Lw
T2-UL
T3-L
T3-UL
11Control optimista de la concurrencia
- Cada transacción hace todo lo que se deba hacer,
sin prestar atención a lo que hacen los demás - De presentarse algún problema se actúa a
posteriori.
12Control optimista de la concurrencia
w(r1)
Begin(T1)
w(r2)
Begin(T2)
w(r3)
w(r1)
13Control optimista de la concurrencia
- Las principales ventajas son
- Ausencia de DEADLOCKS
- Paralelismo máximo ya que no se esperan por
locks. - La principal desventaja es
- Re-ejecución de la transacción en caso de falla.
- La probabilidad de abort puede crecer si la carga
de trabajo es muy alta.
14Timestamps
Se asocia a cada transacción una marca del tiempo
al iniciar (begin_transaction). Se garantiza que
las marcas son únicas mediante el algoritmo de
Lamport. Cada archivo del sistema tiene
asociadas una marca de tiempo para la lectura y
otra para la escritura, que indican la última
transacción (que logró commit) que realizó la
lectura o escritura.
15Timestamps
- Cuando un proceso intente acceder a un archivo,
lo logrará si las marcas de tiempo de lectura y
escritura son menores (más antiguas) que la marca
de la transacción activa. - Si la marca de tiempo de la transacción activa es
menor que la del archivo que intenta acceder - Una transacción iniciada posteriormente ha
accedido al archivo y ha efectuado un commit. - La transacción activa se ha realizado tarde y se
aborta.
16Timestamps
- En el método Timestamps no preocupa que las
transacciones concurrentes utilicen los mismos
archivos, pero sà importa que la transacción con
el número menor esté en primer lugar. - Las marcas de tiempo tienen propiedades distintas
a las de los bloqueos - Una transacción aborta cuando encuentra una marca
del tiempo mayor (posterior). - En iguales circunstancias y en un esquema de
cerraduras podrÃa esperar o continuar
inmediatamente.
17Timestamps (ejemplos)
Ts,110
Ts,225
Ts,2 es mayor que Ts,1 entonces T2 tiene permiso
de escritura