parent
53275cc678
commit
82df267ec9
|
@ -45,7 +45,7 @@ The upsides compared to guards:
|
|||
* The timeout is not fixed.
|
||||
|
||||
* The timeout is local to the leader, and therefore can be clever. The leader's
|
||||
heuristic can take into account avalanche performance.
|
||||
heuristic can take into account turbine performance.
|
||||
|
||||
* This design doesn't require a ledger hard fork to update.
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ specific parameters will be necessary:
|
|||
|
||||
Solana's trustless sense of time and ordering provided by its PoH data
|
||||
structure, along with its
|
||||
[avalanche](https://www.youtube.com/watch?v=qt_gDRXHrHQ&t=1s) data broadcast
|
||||
[turbine](https://www.youtube.com/watch?v=qt_gDRXHrHQ&t=1s) data broadcast
|
||||
and transmission design, should provide sub-second transaction confirmation times that scale
|
||||
with the log of the number of nodes in the cluster. This means we shouldn't
|
||||
have to restrict the number of validating nodes with a prohibitive 'minimum
|
||||
|
|
|
@ -87,7 +87,7 @@ pub struct ClusterInfo {
|
|||
pub struct Locality {
|
||||
/// The bounds of the neighborhood represented by this locality
|
||||
pub neighbor_bounds: (usize, usize),
|
||||
/// The `avalanche` layer this locality is in
|
||||
/// The `turbine` layer this locality is in
|
||||
pub layer_ix: usize,
|
||||
/// The bounds of the current layer
|
||||
pub layer_bounds: (usize, usize),
|
||||
|
@ -1414,7 +1414,7 @@ impl ClusterInfo {
|
|||
}
|
||||
}
|
||||
|
||||
/// Avalanche logic
|
||||
/// Turbine logic
|
||||
/// 1 - For the current node find out if it is in layer 1
|
||||
/// 1.1 - If yes, then broadcast to all layer 1 nodes
|
||||
/// 1 - using the layer 1 index, broadcast to all layer 2 nodes assuming you know neighborhood size
|
||||
|
|
|
@ -126,7 +126,7 @@ fn run_simulation(stakes: &[u64], fanout: usize) {
|
|||
|
||||
assert!(!batches.is_empty());
|
||||
|
||||
// start avalanche simulation
|
||||
// start turbine simulation
|
||||
let now = Instant::now();
|
||||
batches.par_iter_mut().for_each(|batch| {
|
||||
let mut cluster = c_info.clone();
|
||||
|
|
Loading…
Reference in New Issue