Beruflich Dokumente
Kultur Dokumente
LS
i
[init]:t =t_init j in(i ) /* Invalid FLOODfor current snapshot. */
send ECHO(i ;init; t_init;w) to j.
LS
i
[init]:t =t_init j in(i ) /*Valid FLOODfor current snapshot. */
LS
i
[init ]:s =false
send ECHO(i ;init; t_init;w) to j;
LS
i
[init ]:s =true
LS
i
[init]:in LS
i
[init]:in j ;
send SHORT(init; t_init ;w) to init .
LS
i
[init]:t >t_init discardthe FLOODmessage. /*Out-datedFLOOD. */
A. Kshemkalyani andM. Singhal Deadlock Detectionin DistributedSystems
ECHO_RECEIVE(j , init , t_init , w)
/*Executedby node i onreceiving an ECHOfromj. */
/*Echo for out-dated snapshot. */
LS
i
[init]:t >t_init discardthe ECHO message.
LS
i
[init]:t <t_init cannot happen. /*ECHOfor unseensnapshot.
*/
LS
i
[init]:t =t_init /*ECHOfor current snapshot. */
LS
i
[init ]:out LS
i
[init]:out j ;
LS
i
[init ]:s =false send SHORT(init ;t_init ;w) to init .
LS
i
[init ]:s =true
LS
i
[init]:p LS
i
[init]:p 1;
LS
i
[init]:p =0 /*gettingreduced*/
LS
i
[init]:s false;
init =i declare not deadlocked; exit.
send ECHO(i; init; t_init ;w=LS
i
[init ]:in ) to all
k LS
i
[init ]:in;
LS
i
[init]:p =0
send SHORT(init; t_init ;w) to init .
A. Kshemkalyani andM. Singhal Deadlock Detectionin DistributedSystems
SHORT_RECEIVE(init, t_init , w)
/*Executedby node i (whichis always init ) on receiving a SHORT. */
[
/*SHORT for out-dated snapshot. */
t_init <t_block
i
discardthe message.