Sistemas Distribuidos - Transacciones Atomicas

Páginas: 11 (2535 palabras) Publicado: 22 de mayo de 2013
1
Espacio de trabajo privado (private workspace)
Consiste en mantener una copia de los objetos o memoria que se quiera modifica.
Por ejemplo:
1. si la transacción implica acceso a un directorio particular, mantenemos una copia.
2. Intentamos llevar a cabo la transacción en la copia
3. Si nada falla al final modificamos el original
4. Si no, descartamos la copia
Writeahead log(agenda de lectura o bitácora anticipada)
Este método consiste en realizar una copia con todas las transacciones que van siendo
ejecutadas hacia un bloque o espacio de trabajo que sea estable. Las transacciones
serán actualizadas con la informacion una vez que se ha determinado el fin de la
transacción.
Se modifican los datos pero antes se escribe en un log sobre memoria estable ladescripción de la operación. En el log también se escriben registros para indicar el inicio
y fin de la transacción, cuando se aborta la transacción se recorre el log para deshacer los
cambios. Después de una caída temporal, se debe recorrer el log. Si una transacción no
ha escrito su registro de fin se aborta, si lo ha escrito, se hacen los cambios pendientes.Para evitar recorrer todo el log después de un fallo temporal de la maquina, se usan
generalmente checkpoints.
Protocolo de Compromiso de Dos Fases.
En un sistema distribuido una transacción puede afectar a varios procesadores lo cual
dificulta la atomicidad. La solución más típica es el protocolo de compromiso de dos
fases (C2F). En este protocolo existe un coordinador que normalmente es el proceso que
inicio la transacción.Fase 1

El coordinador escribe en el log almacenado en memoria estable el registro (preparar T).
Manda un mensaje con ese contenido a los nodos implicados en la transacción. Cada
proceso implicado decide si esta listo para hacer el compromiso, escribe en su log la
decisión (listo T o no listo T) y la manda en un mensaje al coordinador.
Fase 2Si el coordinador recibe alguna respuesta negativa u obtiene alguna falla de respuesta
decide abortar la transacción. En caso contrario decide realizar el compromiso.
El coordinador escribe en el log la decisión y manda un mensaje a los procesos

implicados. Cada proceso que recibe el mensaje escribe en su log la decisión del
coordinador y realiza la acción correspondiente.La terminación de una transacción se hace mediante la regla del compromiso global. El
coordinador aborta una transacción si y solo si al menos un proceso implicado decide
abortar. El coordinador hace un compromiso de la transacción si y solo si todos los
participantes deciden realizar el compromiso.

2
Cerraduras
En los algoritmos basados en candados, las transacciones indican sus intencionessolicitando candados al despachador (llamado el administrador de candados). Los
candados son de lectura , también llamados compartidos, o de escritura , también
llamados exclusivos.
En sistemas basados en candados, el despachador es un administrador de candados . El
administrador de transacciones le pasa al administrador de candados la operación sobre
la base de datos (lectura o escritura) e información asociada, como por ejemplo elelemento de datos que es accesado y el identificador de la transacción que está enviando
la operación a la base de datos. El administrador de candados verifica si el elemento de
datos que se quiere accesar ya ha sido bloqueado por un candado. Si el candado
solicitado es incompatible con el candado con que el dato está bloqueado, entonces, latransacción solicitante es retrasada. De otra forma, el candado se define sobre el dato en
el modo deseado y la operación a la base de datos es transferida al procesador de datos.
El administrador de transacciones es informado luego sobre el resultado de la operación.
La terminación de una transacción libera todos los candados y se puede iniciar otra
transacción que estaba esperando el acceso al mismo dato....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Transacciones distribuidas SQL
  • Sistemas distribuidos
  • sistema distribuido
  • Sistemas Distribuidos
  • Sistemas Distribuidos
  • sistema distribuido
  • Sistemas distribuidos
  • Sistemas Distribuidos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS