You are on page 1of 22

Control de Concurrencia

Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquema de la clase
Conceptos Preliminares
Aspectos positivos y negativos de la ejecucin concurrente
Planificaciones y Secuencialidad
Recuperabilidad
Esquemas de Control de Concurrencia
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Conceptos Preliminares
Transaccin
Propiedades Estados
Aislamiento
Atomicidad
Consistencia
Parcialmente
Comprometida
Activa
Fallida
Comprometida
Abortada
Durabilidad
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Ejecucin Concurrente
Aspectos positivos y negativos
Mayor Productividad
Mejor utilizacin de los recursos
Tiempo de espera reducido
Mayor probabilidad de inconsistencias
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Planificaciones
Secuencias de ejecucin de las instrucciones componentes de las transacciones.
Planificaciones Secuenciales
T
1
T
2
Leer(A)
A:= A 25
Escribir(A)
Leer(B)
B:= B + 25
Escribir(B)
Leer(A)
Temp:= A * 0.2
A:= A - Temp
Escribir(A)
Leer(B)
B:=B + Temp
Escribir(B)
T
1
T
2
Leer(A)
A:= A 25
Escribir(A)
Leer(B)
B:= B + 25
Escribir(B)
Leer(A)
Temp:= A * 0.2
A:= A - Temp
Escribir(A)
Leer(B)
B:=B + Temp
Escribir(B)
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Planificaciones
Planificaciones no Secuenciales
Equivalente No Equivalente
T
1
T
2
Leer(A)
A:= A 25
Leer(A)
Temp:= A * 0.2
A:= A - Temp
Escribir(A)
Leer(B)
Escribir(A)
Leer(B)
B:= B + 25
Escribir(B)
B:=B + Temp
Escribir(B)
T
1
T
2
Leer(A)
A:= A 25
Escribir(A)
Leer(A)
Temp:= A * 0.2
A:= A - Temp
Escribir(A)
Leer(B)
B:= B + 25
Escribir(B)
Leer(B)
B:=B + Temp
Escribir(B)
Estado inconsistente
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Secuencialidad
En cuanto a conflictos
Una planificacin P es secuenciable en cuanto a conflictos si es
equivalente en cuanto a conflictos a una planificacin secuencial
Si una planificacin P se puede transformar en otra P por medio
de una serie de intercambios de instrucciones no conflictivas.
Si las instrucciones (de las distintas transacciones) a intercalar:
No operan sobre el mismo elemento de datos
Operan sobre el mismo elemento de datos, pero ninguna de
ellas consituye una operacin escribir.
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Secuencialidad
En cuanto a conflictos
T
1
T
2
Leer(A)
Leer(A)
Escribir(A)
Escribir(A)
Leer(B)
Escribir(B)
Leer(B)
Escribir(B)
T
1
T
2
Leer(A)
Escribir(A)
Leer(B)
Escribir(B)
Leer(A)
Escribir(A)
Leer(B)
Escribir(B)
T
1
T
2
Leer(A)
Escribir(A)
Leer(A)
Escribir(A)
Leer(B)
Escribir(B)
Leer(B)
Escribir(B)
Planificacin Secuencial Planificacin Secuenciable
en cuanto a conflictos
Planificacin no Secuenciable
en cuanto a conflictos
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Secuencialidad
En cuanto a vistas
Una planificacin P es secuenciable en cuanto a vistas si es
equivalente en cuanto a vistas a una planificacin secuencial
3 condiciones:
Si la transaccin T
i
lee el valor inicial de Q en P, entonces debe
hacerlo tambin en P.
Si la transaccin T
i
ejecuta lee(Q) en P, y el valor lo ha producido
T
j
, entonces debe hacerlo tambin en P.
La transaccin que realice la ltima operacin escribir(Q) en P,
debe hacerlo tambin en P.
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Secuencialidad
En cuanto a vistas
T
1
T
2
Leer(Q)
Escribir(Q)
Escribir(Q)
T
3
Escribir(Q)
T
1
T
2
Leer(Q)
Escribir(Q)
T
3
Escribir(Q)
Escribir(Q)
Planificacin Secuencial
Planificacin
Secuenciable
en cuanto a vistas
Planificacin
no Secuenciable
en cuanto a conflictos
Escrituras a ciegas
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Recuperabilidad
T
1
T
2
Escribir(A)
Escribir(A)
Leer(A)
A:= A 25
Leer(A)
Temp:= A * 0.2
A:= A - Temp
Fallo
Planificaciones recuperables
Planificaciones sin cascada
T
j
lee elementos de datos que ha escrito T
i
T
i
debe comprometerse antes que T
j
T
j
lee elementos de datos que ha escrito T
i
T
i
debe comprometerse antes que T
j
lea
dichos elementos de datos
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Protocolos basados en el bloqueo
Gestor de Control
de Concurrencia
concede Lectura Compartido Compartido (C) (C)
Bloqueos
Lectura
Exclusivo Exclusivo (X) (X)
Escritura
Interbloqueos
Inanicin
Consistencia
C X
C
X
Compatibilidad
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Protocolos basados en el bloqueo
Protocolo de bloqueo de dos fases
Estricto Riguroso
Secuencialidad en
cuanto a conflictos
Probabilidad de
Interbloqueos
Prob. de retroceso
en cascada
Cantidad de
bloqueos
INICIO FIN
bloquea
desbloquea
Punto de bloqueo
Duracin de
la transaccin
Fase 1
Crecimiento
Fase 2
Decrecimiento
e
v
i
t
a
n
Una transaccin debe conservar todos los
bloqueos exclusivos hasta que se comprometa.
Una transaccin debe conservar todos
los bloqueos hasta que se comprometa.
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Protocolos basados en marcas temporales
Sistema de Base
de Datos
Valor del reloj del
sistema
asigna
Marcas
Temporales
Contador lgico
Transacciones Elementos de datos
T
1
T
2
T
n
MT(T
1
)
mt-E (Q)
MT(T
2
)
Q
MT(T
n
)
mt-L (Q)
MT(T
1
) < MT(T
2
) < MT(T
n
)
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Protocolos basados en marcas temporales
Protocolo de ordenacin por marcas temporales
T
i
ejecuta la operacin leer(Q)
Rechazo de la operacin leer
Retroceso de T
i
MT(T
i
) < mt-E (Q)
Ejecucin de la operacin leer
Asignacin del mx. entre MT(T
i
) y mt-L (Q), a mt-L (Q)
Se asigna una nueva
Marca Temporal a T
i
y se inicia de nuevo
MT(T
i
) mt-E (Q)
T
i
ejecuta la operacin escribir(Q)
MT(T
i
) < mt-L (Q)

MT(T
i
) < mt-E (Q)
Rechazo de la operacin escribir
Retroceso de T
i
Se asigna una nueva
Marca Temporal a T
i
y se inicia de nuevo
MT(T
i
) mt-E (Q)

MT(T
i
) mt-L (Q)
Ejecucin de la operacin escribir
Asignacin de MT(T
i
) a mt-E (Q)
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Protocolos basados en marcas temporales
Protocolo de ordenacin por marcas temporales
Secuencialidad en cuanto a
conflictos.
Ausencia de Interbloqueos.
Probabilidad de Inanicin.
Prob. de planificaciones no
recuperables y retrocesos en
cascada.
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Granularidad mltiple
Jerarqua de granularidad
BD
Z
2
A
b
r
a1
Z
1
A
c
A
a
r
a2
r
bk
r
b1
r
c1
r
cm
r
an

Nodo de Base de Datos
Nodos de Zona
Nodos de Archivo
Nodos de Registro
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Granularidad mltiple
Jerarqua de granularidad
BD
Z
2
A
b
r
a1
Z
1
A
c
A
a
r
a2
r
bk
r
b1
r
c1
r
cm
r
an

Bloqueo implcito de los registros
pertenecientes al archivo A
a
Bloqueo explcito
del archivo A
a
Bloqueo intencional
de la BD
Bloqueo intencional
de la zona Z
1
Modo de bloqueo intencional
Intencional Exclusivo (IX)
Intencional Compartido (IC)
Intencional Exclusivo y
Compartido (IXC)
Compatibilidad
IC
IC
IX
IX C
C
IXC
IXC X
X
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Granularidad mltiple
Protocolo de bloqueo de granularidad mltiple
BD
Z
2
A
b
Z
1
A
c
r
bk
r
b1
r
c1
r
cm

B
l
o
q
u
e
o
D
e
s
b
l
o
q
u
e
o
Asegura la
secuencialidad.
Probabilidad de
Interbloqueos.
Reduce sobrecarga
de bloqueos.
T
i
puede bloquear un nodo Q siguiendo estas reglas:
Considerar la tabla de compatibilidad de bloqueos.
Bloquear 1 la raz del rbol, en cualquier modo.
Bloquear el nodo en modo C o IC slo si
el padre est bloqueado en modo IX o IC.
Bloquear el nodo en modo X, IXC o IX slo si
el padre est bloqueado en modo IX o IXC.
Bloquear el nodo slo si no ha desbloqueado
ningn nodo antes (dos fases).
Desbloquear el nodo slo si no ha bloqueado
ninguno de sus hijos.
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Esquemas multiversin
Ordenacin por marcas temporales multiversin
Q Q
1
Q
2
Q
3
Q
n
.
.
.
n versiones
asociadas
al elemento
de datos Q
T
1
T
2
.
.
.
T
n
MT(T
1
)
MT(T
2
)
MT(T
n
)
.
.
.
Marcas temporales
asociadas a las
transacciones
Q
1
contenido
mt-E (Q
1
) mt-L (Q
1
)
Valor de la versin Q
1
Marca temporal de la
transaccin que cre
la versin Q
1
> Marca temporal de
las transacciones que
leyeron con xito Q
1
Q
1
Q
2
Q
3
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Esquemas multiversin
Ordenacin por marcas temporales multiversin
Sea Q
k
la versin de Q con mt-E(Q
k
) MT(T
i
)
T
i
ejecuta la operacin leer(Q)
Asegura la secuencialidad.
Las peticiones de lectura no
fallan y no tienen que esperar.
Las lecturas requieren
actualizar el campo mt-L(Q)
(acceso extra al disco).
Prob. de planificaciones no
recuperables y retrocesos en
cascada.
Los conflictos se resuelven
por medio de retrocesos.
Se muestra el contenido de la versin ms
reciente de Q [ mt-E(Q) < MT(T
i
) ].
T
i
ejecuta la operacin escribir(Q)
MT(T
i
) < mt-L(Q
k
) Retroceso de T
i
MT(Ti) > mt-L(Qk)
y
MT(T
i
) = mt-E(Q
k
)
Sobreescritura del
contenido de Q
k
MT(Ti) > mt-L(Qk)
y
MT(T
i
) > mt-E(Q
k
)
Creacin de una
nueva versin de Q
k
Sistemas de Datos
Curso: Ernesto Chinkes
Control de Concurrencia
Esquemas de Control de Concurrencia
Esquemas multiversin
Bloqueo de dos fases multiversin
Transacciones de slo lectura
T
i
ejecuta la operacin leer(Q)
Se muestra el contenido de la versin ms
reciente de Q [ mt(Q) < MT(T
i
) ].
Q
Q
1
Q
2
Q
n
.
.
n versiones
asociadas
T
1
T
2
.
.
T
n
Valor actual
contador_mt
MT(T
1
)
MT(T
2
)
MT(T
n
)
.
.
Q mt(Q)
(Una sola marca
temporal para Q)
Transacciones de actualizacin
Realizan un bloqueo de 2 fases riguroso
T
i
ejecuta la operacin escribir(Q)
T
i
obtiene un bloqueo exclusivo sobre Q.
T
i
crea una nueva versin de Q.
T
i
ejecuta la operacin leer(Q)
T
i
obtiene un bloqueo compartido sobre Q.
T
i
lee la versin ms reciente de Q.
Compromiso de T
i
:
- Asigna mt(Q) (cont.+1)
a la versin creada
- Seteo Cont.= Cont.+1
Asegura secuencialidad.
Las transacciones de
slo lectura no tienen
que esperar.
Planif. recuperables y
sin cascada.
Prob. de Interbloqueos.

You might also like