ISIS to 2PC: an analog

26 Mar 2017


ISIS to 2PC: an analog

The ISIS algorithm, which can maintain total ordering multicast, is similar with 2PC in that:

  1. In first phase of ISIS, the sender multicast first message (message, mssg_id), and this message is not ready to be delivered; while in 2PC, the sender asks all nodes whether to commit message.
  2. In second phase, peer nodes reply with their proposed sequence number, which means ‘commit’ similarly if sequence number is small, and means ‘commit later’ when is large; in 2PC, the reply message is ‘commit’ or not (which includes less information).
  3. In third phase, sender multicast agreed sequence number, which is similar with the ‘commit agreed’ message in later stage (while the time to deliver may be in the future); in 2PC, the leader node broadcast ‘commit’ or not.

Some Important Latency Number

Operation ns
L1 cache reference 0.5
Branch mispredict 5
L2 cache reference 7
Mutex lock/unlock 25
Main memory reference 100
Compress 1K bytes with Zippy 3,000
Send 2K bytes over 1 Gbps network 20,000
Read 1 MB sequentially from memory 250,000
Round trip within same datacenter 500,000
Disk seek 10,000,000
Read 1 MB sequentially from disk 20,000,000
Send packet CA->Netherlands->CA 150,000,000

References

  1. Latency numbers every programmer should know by Jeff Dean
comments powered by Disqus