Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmark Block Processing Time at Scale #573

Closed
terencechain opened this issue Sep 26, 2018 · 4 comments
Closed

Benchmark Block Processing Time at Scale #573

terencechain opened this issue Sep 26, 2018 · 4 comments

Comments

@terencechain
Copy link
Member

terencechain commented Sep 26, 2018

Background:
Refer to this issue which was discussed in the 3rd eth2.0 implementers call

Goal:
Run some time analysis of block processing for the beacon node. This involves validating both the block and attestations. The following parameters were suggested:
10M ETH deposit, 300k validators, 64 slots
5000 validators per slot
1000 shards across 64 slots which is 16 shards per slot
Each block estimates to 16 attestations with ~300 validators each.

Results from other clients:
Lighthouse (Rust):

BenchmarkParams { total_validators: 312500, cycle_length: 64, shard_count: 1024, shards_per_slot: 16, validators_per_shard: 305 }
test state::block::validation::benches::bench_block_validation ... bench: 345,134,640 ns/iter (+/- 33,842,738)

That's 0.34 sec, Paul said he was able to get it down to 0.11 sec by optimizing the signature library, and 0.062s with concurrency

@terencechain
Copy link
Member Author

#258 is blocking this effort

@djrtwo
Copy link

djrtwo commented Sep 26, 2018

Paul got this test case down to 0.062s with concurrency

@paulhauner
Copy link

FYI, these results were on my laptop: a Lenovo X1 Carbon 5th Gen with an Intel i5-7300U @ 2.60GHz running Arch Linux with a low CPU load at the time.

@rauljordan
Copy link
Contributor

We can close this as it is handled automatically by the state transition e2e tests done in the YAML config such as in #1221.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants