Control de concurrencia en sist. distribuidos

Solo disponible en BuenasTareas
  • Páginas : 7 (1603 palabras )
  • Descarga(s) : 7
  • Publicado : 15 de agosto de 2010
Leer documento completo
Vista previa del texto
INSTITUTO TECNOLÓGICO SUPERIOR DE IRAPUATO

SISTEMAS DISTRIBUIDOS
PROF.: ING. SHARA ACOSTA VAZQUEZ

VÍCTOR SERRANO ELÍAS

No. control 03111051

CONTROL DE CONCURRENCIA

INGENIERÍA EN SISTEMAS COMPUTACIONALES

IRAPUATO, GTO. A 22 DE OCTUBRE DEL 2007

Índice

Introducción 3
Algoritmo cerradura 4
Algoritmo de control optimista de la concurrencia 5
Algoritmo de marcas detiempo 7
Conclusión. 9
Bibliografía. 10

Introducción

El control de concurrencia trata con los problemas de aislamiento y consistencia del procesamiento de transacciones. El control de concurrencia distribuido asegura que la consistencia de los recursos o datos mantenerse en un ambiente distribuido multiusuario. Si las transacciones son internamente consistentes, la manera más simple delograr este objetivo es ejecutar cada transacción sola, una después de otra. Sin embargo, esto puede afectar grandemente el desempeño, dado que el nivel de concurrencia se reduce al mínimo. El nivel de concurrencia, el número de transacciones activas, es probablemente el parámetro más importante en sistemas distribuidos. Por lo tanto, los mecanismos de control de concurrencia buscan encontrar unbalance entre el mantenimiento de la consistencia de la base de datos y el mantenimiento de un alto nivel de concurrencia.

Control de concurrencia

Al ejecutarse varias transacciones de manera simultánea en distintos procesos o procesadores, se necesita de un mecanismo para mantener a cada uno lejos del camino del otro. Dicho mecanismo se llama algoritmo de control de concurrencia.

Losprincipales algoritmos son:
• El de la cerradura.
• El del control optimista de la concurrencia.
• El de las marcas de tiempo.
[pic]

Algoritmo cerradura

Cuando un proceso necesita leer o escribir en un archivo (u otro objeto) como parte de una transacción, primero cierra el archivo. La cerradura se puede hacer mediante un único manejador centralizado de cerraduras, o un manejadorlocal de cerraduras en cada máquina, que maneje los archivos locales.

El manejador de cerraduras:
• Mantiene una lista de los archivos cerrados.
• Rechaza todos los intentos por cerrar archivos ya cerrados por otros procesos.

El sistema de transacciones generalmente adquiere y libera las cerraduras sin acción por parte del programador. Una mejora consiste en distinguir lascerraduras para lectura de las cerraduras para escritura.

Una cerradura para lectura no impide otras cerraduras para lectura, se establecen para garantizar que el archivo no tendrá cambio alguno, las cerraduras para lectura se comparten. Una cerradura para escritura sí impide otras cerraduras (de lectura o de escritura), las cerraduras para escritura no se comparten, es decir que deben serexclusivas.

El elemento por cerrar puede ser un archivo, un registro, un campo, etc. y lo relativo al tamaño del elemento por cerrar se llama la granularidad de la cerradura.
Mientras más fina sea la granularidad:
• Puede ser más precisa la cerradura.
• Se puede lograr un mayor paralelismo en el acceso al recurso.
• Se requiere un mayor número de cerraduras y es más probable que ocurranbloqueos.
La adquisición y liberación de las cerraduras en el preciso momento en que se necesiten o se dejen de necesitar puede conducir a cierta inconsistencia y a bloqueos, por lo tanto la mayoria de las transacciones que se implantan mediante cerraduras utilizan la cerradura de dos fases.
En las cuales el proceso adquiere todas las cerraduras necesarias durante la fase de crecimiento, despuesel proceso las libera en la fase de contracción o reducción.
[pic]

Se deben evitar situaciones de aborto en cascada:
• Se graba en un archivo y luego se libera su cerradura.
• Otra transacción lo cierra, realiza su trabajo y luego establece un compromiso.
• La transacción original aborta.
• La segunda transacción (ya comprometida) debe deshacerse, ya que sus resultados se...
tracking img