Nil-externality #
- Does not return an execution result or execution error
Nilext-aware Replication #
- Normal (Paxos)
- Write: 2RTT
- Read: Read from master (1 RTT)
- Nilext-aware
- Client send request to all replicas
- receive replies from super majority and master

Other approaches #
- Network Ordering
- Special underlying network
- Speculative Execution
- Exploiting Commutativity
SKYROS #
- Update
- Send to all replicas
- Wait for supermajority with leader included
- Replica write to Durability log and return
- Background Ordering and Execution
- Batch durability log
- Leader adds to consensus log
- Leader sends
prepare
to followers, followers add to consensus log - Leader applies update and removes from durability log
- Leader sends
commit
to followers - Leader applies update and removes from durability log
- Read
- If in durability log
- adds all request from the d-log, wait for followers to respond
- Serve the read
- Else
- Non-nilext Updates
- Client sends to leader only
- Leader add all and this update to consensus log
- Wait for followers => return
Recovery #
- Replica Fail
- Mark status as recovering
- Send recovery, wait for replies including leader from latest view
- copy d-log, c-log
- Master Fail
- C-Log
- Find latest log with largest view #
- D-Log
comments powered by