Show performance and durability impact of leader leases VS input bounciness, single user.
A leader lease will be a period of time that the leader has to aggregate local writes into a single large write, at which point it's submitted to consensus. Leader heartbeats apply. Follower timeout.
Input
On one end, long sequences of operations on a single device, followed by a move to another. On the other end, random bounces between devices.
vary length of lease
varying connectivity (I usually use this to mean random partitions as well)
The input trace must be defined as a sequence of accesses w/ gaps in between. Runtime of an entire trace is the sum of the gaps plus the cost of each of the accesses. Latter cost is determined by the cost of consensus.
Metrics
runtime
outstanding uncommitted writes. At some point maybe bring in more realistic traces that includes "external" writes. No external write can be allowed to execute w/o consensus first.
Variants
Variant 1: Small # users
input bounciness
if we have two users, how does leader move
look at various policies for defining leases, and moving leader
Create Token Consensus simulation.
Goal
Show performance and durability impact of leader leases VS input bounciness, single user. A leader lease will be a period of time that the leader has to aggregate local writes into a single large write, at which point it's submitted to consensus. Leader heartbeats apply. Follower timeout.
Input
On one end, long sequences of operations on a single device, followed by a move to another. On the other end, random bounces between devices.
The input trace must be defined as a sequence of accesses w/ gaps in between. Runtime of an entire trace is the sum of the gaps plus the cost of each of the accesses. Latter cost is determined by the cost of consensus.
Metrics
outstanding uncommitted writes. At some point maybe bring in more realistic traces that includes "external" writes. No external write can be allowed to execute w/o consensus first.
Variants
Variant 1: Small # users
Variant 2: look at blob propagation