Documentation ¶
Index ¶
Constants ¶
View Source
const ADAPTIVE_TIMEOUT_ENABLED = false
variable controlling toggle mode
View Source
const ADAPT_TIME_SEC = 10
View Source
const BATCH_INTERVAL = 100 * time.Microsecond
View Source
const BEACON_FAILURE_THRESHOLD = 1
Detect failure if miss >= BEACON_FAILURE_THRESHOLD beacons in a row
View Source
const BEACON_MISS_INTERVAL = 1000 * 1e6 // 110 ms
Miss a beacon if time since last beacon received >= BEACON_MISS_INTERVAL
View Source
const BEACON_SENDING_INTERVAL = 100 * 1e6 // 100 ms
Heartbeat/Beacon
View Source
const BF_K = 4
View Source
const BF_M_N = 32.0
View Source
const CHECKPOINT_PERIOD = 10000
View Source
const COMMIT_GRACE_PERIOD = 10 * time.Millisecond // 10 ms
View Source
const DO_CHECKPOINTING = false
View Source
const DS = 1
View Source
const FALSE = uint8(0)
View Source
const FAST_PATH_TIMEOUT = 5 * 1e6 // 5ms
View Source
const HIGH_PRIORITY_LEADER = 0
View Source
const HT_INIT_SIZE = 200000
View Source
const INJECT_SLOWDOWN = false
injecting slowdown
View Source
const LATENCY_THRESHOLD = 180 * time.Second
View Source
const LATENT_PIILOT_DELAY = 10 * time.Millisecond
delay for latent copilot
View Source
const MAX_BATCH = 5000
View Source
const MAX_CLIENTS = 100 // increase this if experimenting with >100 clients
View Source
const MIN_NEW_COMMITS_TO_BECOME_LATENT = 50
View Source
const MIN_NEW_PROPOSALS_TO_BECOME_ACTIVE = 50
View Source
const NUM_LEADERS = 2
View Source
const PINGPONG = false
Enable/Disable Pingpong optimization 1
View Source
const PINGPONG_TIMEOUT = 1000 * time.Microsecond
View Source
const PINGPONG_TIMEOUT_ENABLED = true
View Source
const PRINT_STATS = false
printing stats
View Source
const RECORD_EXEC_STATS = false
record execution stats
View Source
const REPLICA_ID_BITMASK = int32(1<<REPLICA_ID_NBITS - 1)
View Source
const REPLICA_ID_NBITS = 4
Ballot number is comprised of 3 parts: - subballot: 24 bits - replicaId of original proposer: 4 bits - replicaId of current owner: 4 bits total nbits should be 32 (we use int32 for ballot)
View Source
const SWITCHING_MODE_WINDOW = 100 * time.Millisecond
View Source
const TRUE = uint8(1)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BatchExecLatency ¶
type BatchExecLatency struct {
// contains filtered or unexported fields
}
type ExecStats ¶
type ExecStats struct {
// contains filtered or unexported fields
}
Execution stats
type LeaderBookkeeping ¶
type LeaderBookkeeping struct {
// contains filtered or unexported fields
}
type RecoveryInstance ¶
type RecoveryInstance struct {
// contains filtered or unexported fields
}
type Replica ¶
type Replica struct { *genericsmr.Replica InstanceSpace [][]*Instance // the space of all instances (used and not yet used) CommittedUpTo []int32 // highest committed instance per replica that this replica knows about ExecedUpTo []int32 // instance up to which all commands have been executed (including iteslf) IsLeader1 bool // does this replica think it is the leader 1 IsLeader2 bool // does this replica think it is the leader 2 IsActive bool // active or latent pilot // contains filtered or unexported fields }
type Result ¶
type Result struct { //Cache state.Value Replied bool }
Helper map to check duplicating execution
var execMap map[state.OperationId]bool
type ViewChangeState ¶
type ViewChangeState struct {
// contains filtered or unexported fields
}
type ViewManagerBookkeeping ¶
type ViewManagerBookkeeping struct {
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.