Skip to content

Long-duration protocol exercise in simulation #125

Open
@anorth

Description

@anorth

Before production use, we should extensively exercise the protocol for long durations under different simulated chain and network conditions. This is an umbrella issue motivating a number of specific items to improve.

The simulator was mostly constructed to allow hand-crafting of specific situations to exercise protocol and coordination boundaries, mostly scoped to a single protocol instance. This is good, but limited to specific scenarios that we can think of. We should complement this with stochastic exercise over many instances under different macro conditions. The existing simulator can probably be used as a base, but the EC chain views and network need more complexity.

Some things to consider:

  • More complexity in the EC chain, different view of head, different propagation of EC information to nodes, long-running forks etc (see Support divergent EC chain views in simulator #115)
  • Network instability, periodic network halt, dropped messages
  • Dynamic participation, some nodes refusing to participate
  • Realistic network sizes of thousands of participants
  • Highly uneven or more even power distribution

Some such exercises will be too slow to run in CI, but we should set up the capability to run multi-hour simulations on demand.

These exercises should be accompanied by some more metrics so we can measure things like the total network traffic, signature verification rate, count of instances that make progress vs basechain, etc (this might warrant a separate issue).

Metadata

Metadata

Assignees

Labels

testingRelated to testing and validation

Type

No type

Projects

  • Status

    Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions