Bloqueos

Páginas: 19 (4581 palabras) Publicado: 23 de febrero de 2014
Bloqueos
Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención, detección, y recuperación. También es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en los que la detección del bloqueo es demasiado costosa.
En elcaso específico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizador. Para esto existen dos formas básicas:
Autónoma: cada nodo es responsable por sus propios bloqueos de recursos.
Una transacción sobre un elemento con n replicas requiere 5n mensajesPetición del recurso
Aprobación de la petición
Mensaje de la transacción
Reconocimientos de transacción exitosa
Peticiones de liberación de recursos
Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos
Una transacción sobre un elemento con n copias requiere 2n+3 mensajes
Una petición del recurso
Una aprobación de la petición
n mensajes de la transacción
nreconocimientos de transacción exitosa
Una petición de liberación de recurso
Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a los mismos datos, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.
Concurrencia
El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo utilizado por una transacción A que a suvez solicita un recurso B que está siendo utilizado por una transacción B que solicita el recurso A.
Control de concurrencia
El problema de las actualizaciones perdidas: cuando dos transacciones concurrentes borran el efecto una de la otra
Recuperaciones inconsistentes: acceder a información modificada parcialmente por una transacción de Ian.
Soluciones
El control de concurrencia y deteccióny manejo de bloqueos es un área de mucho estudio en las bases de datos distribuidas, a pesar de esto no hay ningún algoritmo aceptado para solucionar el problema. Esto se debe a varios factores de los cuales se consideran a los siguientes tres los más determinantes:
El dato puede estar duplicada en un BDD, por tanto, el manejador de la BDD es responsable de localizar y actualizar la dataduplicada.
Si un nodo falla o la comunicación con un nodo falla mientras se realiza una actualización, el manejador debe asegurarse de que los efectos se reflejen una vez el nodo se recupere del fallo.
La sincronización de transacciones en sitios o nodos múltiples es difícil ya que los nodos no pueden obtener información inmediata de las acciones realizadas en otros nodos concurrentemente.
Para elcontrol de bloqueos mutuos no se ha desarrollado ninguna solución viable y la forma más simple y que la mayoría de productos utilizan es la implementación de un tiempo máximo de espera en las peticiones de bloqueos.
Causa de estas dificultades más de 20 algoritmos de control de concurrencia se han propuesto en el pasado, y aun así siguen apareciendo nuevos. Una revisión bibliográfica muestra que lamayoría de los algoritmos son variantes del 2PL (2-phase locking o bloqueo de dos fases) o el algoritmo de time-stamp. A continuación se explican estos dos algoritmos básicos.
Bloqueo de dos fases (2PL)
El algoritmo 2PL utiliza bloqueos de lectura y escritura para prevenir conflictos entre operaciones. Consiste en los siguientes pasos para una transacción T:
Obtiene bloqueo de lectura para unelemento L (bloqueo compartido)
Obtiene bloqueo de escritura para un elemento E (bloqueo exclusivo)
Lee el elemento L
Escribe en el elemento E
Libera el bloqueo de L
Libera el bloqueo de E
Las reglas básicas para manejar los bloqueos son: transacciones distintas no pueden tener acceso simultáneamente a un elemento (lectura-escritura o escritura-escritura), y una vez se libere un bloqueo no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • bloqueo
  • Bloqueo
  • bloqueo
  • Bloqueo
  • bloqueo
  • bloqueo.
  • Maniobras y bloqueos
  • bloqueo sinusal

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS