Está en la página 1de 3

El problema de multitransmisión atómica (realización distribuida.

) implica lograr
que una operación sea realizada por cada miembro de un grupo o por ninguno en
Absoluto. En un esquema simple, en la cual comunica a todos los demás
participantes Si deben realizar o no (localmente) la operación de la que se trate.

Este esquema se refiere a un protocolo de realización monofásico, y tiene la


desventaja evidente de que si uno de los participantes no puede realizar la
operación, no hay forma de comunicárselo al coordinador. Por lo cual, el caso de
transacciones distribuidas, no es posible implementar una realización local porque
violaría las restricciones de control de concurrencia. Debido a esto se requieren
esquemas más complejos, de los cuales el más común es el protocolo de
realización bifásico.

Bifásico

El protocolo de realización bifásico opera sin perder la mayor parte de la


transacción, considerando que la transacción distribuida implica la participación
de varios procesos, donde cada participante realice el trabajo en una máquina
diferente.

Suponiendo que no ocurren fallas, el protocolo bifasico se compone de las


siguientes dos fases.

Fase 1
1. El coordinador envía un mensaje de VOTE_REQUEST a todos los
participantes.

2. Cuando un participante recibe un mensaje VOTE_REQUEST, regresa el


mensaje VOTE_COMMIT al coordinador para que se prepare ah realizar
localmente su parte de la transacción, o de lo contrario envía un mensaje
VOTE_ABORT.
Fase 2
3. El coordinador reúne todos los votos de los participantes. Si todos los
participantes votaron para realizar la transacción, entonces también lo hará
el coordinador, y enviara un mensaje GLOBAL_COMMIT a cada
participantes. Sin embargo, si un participante ha votado por abortar la
transacción, el coordinador también devera abortar la transacción y enviar
el mensaje GLOBAL_ABORT a todos los participantes.

3. Cada participante que votó por la realización, espera la respuesta final del
coordinador. Si un participante recibe un mensaje GLOBAL_COMMIT,
entonces realiza la transacción localmete. De lo contrario, cuando se recibe
un mensaje GLOBAL_ABORT, la transacción también es abortada
localmente por el participante.

El defecto principal de este protocolo es que no puede manejar con eficiencia la


falla del coordinador. Y Con esta finalidad, se ha creado un protocolo trifásico para
tratar de disminuir estos defectos.

Realización trifásica
Un problema del protocolo bifásico es que cuando el coordinador se congela, es
posible que los participantes no puedan llegar a una decisión final, y deban
permanecer bloqueados hasta que el coordinador se recupere.
Skeen (1981) desarrolló un protocolo, llamado protocolo de realización trifásica
que impide a los procesos bloquearse ante la presencia de congelaciones
Por detención. Aunque el protocolo trifásico no se aplica a menudo ya que las
condiciones en que se encuentra el protocolo bifásico rara vez se bloqueara. Este
protocolo da una idea más completa de cómo resolver la tolerancia a fallas que se
presentan en sistemas distribuidos.

También podría gustarte