rand-chain / rust-randchain

(WIP) Official implementation of the RandChain protocol
GNU General Public License v3.0
1 stars 0 forks source link

Experimental design #93

Closed SebastianElvis closed 3 years ago

SebastianElvis commented 3 years ago

Problem

We should do experimental evaluation for RandChain.

Description

We can follow OHIE's experimental designs. We should test the following things:

Alternatives

Additional context

OHIE paper: https://arxiv.org/abs/1811.12628 OHIE code: https://github.com/ivicanikolicsg/OHIE

Implementation

SebastianElvis commented 3 years ago

Specification of the experiment

Hardware

Software

OS: AWS basic AMI (CentOS) Rust version: 1.45.0 RandChain version: TBD Blocktime: 60s

Methodology

  1. Run RandChain on all instances for 1 hour
  2. Shutdown instances
  3. Collect logs
  4. Parse logs

Micro benchmarks

1. Solve/Prove/Verify efficiency

2. CPU utilisation

Marco benchmarks

1. Block propagation delay (BPD)

2. Decentralisation factor

3. Network bandwidth utilisation

ChrisLinn commented 3 years ago

Method: Collect when nodes receive the block, calculate time difference

say a block A is rolled back to be block B, then block B is rolled back to be block A again,how do we test this case?

SebastianElvis commented 3 years ago

Method: Collect when nodes receive the block, calculate time difference

say a block A is rolled back to be block B, then block B is rolled back to be block A again,how do we test this case?

Rollback is in fact irrelevant to BPD. BPD only considers when a block is received, but does not consider when a block becomes stable.