ISIS to 2PC: an analog
The ISIS algorithm, which can maintain total ordering multicast, is similar with 2PC in that:
- 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.
- 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).
- 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 |