forked from facebookresearch/narwhal
-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Alberto Sonnino
committed
Sep 13, 2021
1 parent
8a6e62b
commit 7cfcde7
Showing
266 changed files
with
10,906 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Experimental Data | ||
|
||
This folder contains the raw data and plots used in the evaluation section of the paper [Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus](https://arxiv.org/pdf/2105.11827.pdf). The data are obtained running a geo-replicated benchmark on AWS as explained in the [benchmark's readme file](https://github.com/asonnino/narwhal/tree/master/benchmark#readme). The results are taken running the code tagged as [v0.2.0](https://github.com/asonnino/narwhal/tree/v0.2.0). | ||
|
||
### Filename format | ||
The filename format of raw data is the following: | ||
``` | ||
bench-FAULTS-NODES-WORKERS-COLLOCATE-INPUT_RATE-TX_SIZE.txt | ||
``` | ||
where: | ||
- `FAULTS`: The number of faulty (dead) nodes. | ||
- `NODES`: The number of nodes in the testbed. | ||
- `WORKERS`: The number of workers per node. | ||
- `COLLOCATE`: Whether the primary and its worker are collocated on the same machine. | ||
- `INPUT_RATE`: The total rate at which clients submit transactions to the system. | ||
- `TX_SIZE`: The size of each transactions (in bytes). | ||
|
||
For instance, a file called `bench-0-50-1-True-100000-512.txt` indicates it contains results of a benchmark run with 50 nodes, 1 worker per node collocated on the same machine as the primary, 100K input rate, a transaction size of 512B, and 0 faulty nodes. | ||
|
||
### Experimental step | ||
The content of our [settings.json](https://github.com/asonnino/narwhal/blob/master/benchmark/settings.json) file looks as follows: | ||
```json | ||
{ | ||
"key": { | ||
"name": "aws", | ||
"path": "/absolute/key/path" | ||
}, | ||
"port": 5000, | ||
"repo": { | ||
"name": "narwhal", | ||
"url": "https://github.com/facebookresearch/narwhal", | ||
"branch": "master" | ||
}, | ||
"instances": { | ||
"type": "m5d.8xlarge", | ||
"regions": ["us-east-1", "eu-north-1", "ap-southeast-2", "us-west-1", "ap-northeast-1"] | ||
} | ||
} | ||
``` | ||
We set the following `node_params` in our [fabfile](https://github.com/asonnino/narwhal/blob/master/benchmark/fabfile.py): | ||
```python | ||
node_params = { | ||
'header_size': 1_000, # bytes | ||
'max_header_delay': 200, # ms | ||
'gc_depth': 50, # rounds | ||
'sync_retry_delay': 10_000, # ms | ||
'sync_retry_nodes': 3, # number of nodes | ||
'batch_size': 500_000, # bytes | ||
'max_batch_delay': 200 # ms | ||
} | ||
``` | ||
|
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-10-1000-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 1,000 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 901 tx/s | ||
Consensus BPS: 461,166 B/s | ||
Consensus latency: 513 ms | ||
|
||
End-to-end TPS: 900 tx/s | ||
End-to-end BPS: 460,904 B/s | ||
End-to-end latency: 15,434 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 1,000 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 901 tx/s | ||
Consensus BPS: 461,117 B/s | ||
Consensus latency: 509 ms | ||
|
||
End-to-end TPS: 900 tx/s | ||
End-to-end BPS: 460,907 B/s | ||
End-to-end latency: 15,410 ms | ||
----------------------------------------- |
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-10-500-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 500 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 10,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 399 tx/s | ||
Consensus BPS: 204,365 B/s | ||
Consensus latency: 572 ms | ||
|
||
End-to-end TPS: 399 tx/s | ||
End-to-end BPS: 204,205 B/s | ||
End-to-end latency: 898 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 500 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 10,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 399 tx/s | ||
Consensus BPS: 204,269 B/s | ||
Consensus latency: 537 ms | ||
|
||
End-to-end TPS: 399 tx/s | ||
End-to-end BPS: 204,205 B/s | ||
End-to-end latency: 857 ms | ||
----------------------------------------- |
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-10-750-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 750 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 10,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 598 tx/s | ||
Consensus BPS: 306,408 B/s | ||
Consensus latency: 540 ms | ||
|
||
End-to-end TPS: 598 tx/s | ||
End-to-end BPS: 306,214 B/s | ||
End-to-end latency: 828 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 750 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 10,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 599 tx/s | ||
Consensus BPS: 306,507 B/s | ||
Consensus latency: 522 ms | ||
|
||
End-to-end TPS: 598 tx/s | ||
End-to-end BPS: 306,286 B/s | ||
End-to-end latency: 807 ms | ||
----------------------------------------- |
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-10-800-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 800 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 799 tx/s | ||
Consensus BPS: 409,078 B/s | ||
Consensus latency: 505 ms | ||
|
||
End-to-end TPS: 798 tx/s | ||
End-to-end BPS: 408,464 B/s | ||
End-to-end latency: 775 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 800 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 798 tx/s | ||
Consensus BPS: 408,586 B/s | ||
Consensus latency: 499 ms | ||
|
||
End-to-end TPS: 797 tx/s | ||
End-to-end BPS: 408,313 B/s | ||
End-to-end latency: 769 ms | ||
----------------------------------------- |
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-10-900-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 900 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 798 tx/s | ||
Consensus BPS: 408,618 B/s | ||
Consensus latency: 513 ms | ||
|
||
End-to-end TPS: 798 tx/s | ||
End-to-end BPS: 408,327 B/s | ||
End-to-end latency: 816 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 10 nodes | ||
Input rate: 900 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 798 tx/s | ||
Consensus BPS: 408,496 B/s | ||
Consensus latency: 508 ms | ||
|
||
End-to-end TPS: 797 tx/s | ||
End-to-end BPS: 408,236 B/s | ||
End-to-end latency: 810 ms | ||
----------------------------------------- |
50 changes: 50 additions & 0 deletions
50
benchmark/data/paper-data/baseline-hs/bench-0-20-1000-512.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 20 nodes | ||
Input rate: 1,000 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 798 tx/s | ||
Consensus BPS: 408,441 B/s | ||
Consensus latency: 597 ms | ||
|
||
End-to-end TPS: 797 tx/s | ||
End-to-end BPS: 408,308 B/s | ||
End-to-end latency: 918 ms | ||
----------------------------------------- | ||
|
||
----------------------------------------- | ||
SUMMARY: | ||
----------------------------------------- | ||
+ CONFIG: | ||
Committee size: 20 nodes | ||
Input rate: 1,000 tx/s | ||
Transaction size: 512 B | ||
Faults: 0 nodes | ||
Execution time: 301 s | ||
|
||
Consensus max payloads size: 50,000 B | ||
Consensus min block delay: 10 ms | ||
Mempool max payloads size: 600 B | ||
Mempool min block delay: 10 ms | ||
|
||
+ RESULTS: | ||
Consensus TPS: 798 tx/s | ||
Consensus BPS: 408,543 B/s | ||
Consensus latency: 559 ms | ||
|
||
End-to-end TPS: 797 tx/s | ||
End-to-end BPS: 408,275 B/s | ||
End-to-end latency: 874 ms | ||
----------------------------------------- |
Oops, something went wrong.