0
$\begingroup$

Singhal–Kshemkalyani’s differential technique is based on the observation that between successive message sends to the same process, only a few entries of the vector clock at the sender process are likely to change. This is more likely when the number of processes is large because only a few of them will interact frequently by passing messages. In this technique, when a process Pi sends a message to a process Pj , it piggybacks only those entries of its vector clock that differ since the last message sent to Pj.

I am understanding above but not the following statement

this technique requires that the communication channels follow FIFO discipline for message delivery. link

Chapter 3 -Logical clock from above book and sub topic is Efficient implementations of vector clocks

Thanks lot.

$\endgroup$
1
  • 2
    $\begingroup$ Welcome to the site! Could you cite the source of the text you quote? $\endgroup$ Commented Sep 8, 2018 at 18:45

2 Answers 2

3
$\begingroup$

All it's saying is that the messages between two processes need to be received in the order they are sent. If I'm going to send only differences between the previous message, we both better agree on what "the previous message" is.

For example, if I send "increment the first and second component" and then "increment the first and third component" but you receive them in the opposite order, you are likely to make form incorrect assumptions about how these messages relate to messages you're receiving from other processes. The correct intermediate state will have a vector clock that looks like $(1,1,0)$ but the one you'd reconstruct from the out of order messages is $(1,0,1)$. A message from another process with vector clock $(2,0,1)$ might then look like its strictly after the out-of-order message when, in fact, it is concurrent with it.

$\endgroup$
0
$\begingroup$

Say P1 sent a message to P2 saying ((1,x1),(3,x3),(4,x4)) informing P2 of updates in the values on 1,3, 4 Process ids. Later, it sends another msg to P2 saying ((1,x11),(5,x7)). This time it sends information only about itself and pid 7. If the second message reaches P2 before the first message; then P2 will know only about the update in process 1 and 7 and may go ahead sending further msgs to other processes say P10. Later it would realise that the msg he had sent P10 is incorrect as it does not reflect the updates on pid 3 and 4 and hence was incorrect

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.