-
Notifications
You must be signed in to change notification settings - Fork 2
vc replication
f : max failure replicas
Q : quorum, |Q| = f + 1
Instance a add all seen instance into a.deps.
Broadcast a to a Q.
On other replica, if there is a x: x ∉ a.deps is seen, response x to leader of a La.
La commit a if no such x replied.
Otherwise, La creates an empty instance a₁, with all such x included in
a₁.deps and run FastAccept with a₁.
All a.deps must be executed before a.
Then a is ready to execute, but cant execute it yet.
a can be executed when there is a z depends-on a: a ∈ z.deps.
If x ∈ a.deps and a wait too long for x to be present.
A recovery process is started to increment ballot and run paxos to commit an
empty x.
An instance a only depends-on instances that are initiated before a.
∴ there is no cycle of depends-on.
∵ a wont change after initiated.
∴ all replicas have the same view of all instances.
periodically propose execution seed by every leader. seed interferes with each other.