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

[parallel executor] parallel executor #3897

Closed
wants to merge 23 commits into from
Closed

[parallel executor] parallel executor #3897

wants to merge 23 commits into from

Conversation

nkysg
Copy link
Collaborator

@nkysg nkysg commented May 19, 2023

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Other information

@nkysg nkysg requested a review from nanne007 as a code owner May 19, 2023 14:23
@nkysg nkysg removed the request for review from nanne007 May 19, 2023 14:23
@nkysg nkysg marked this pull request as draft May 19, 2023 14:23
@codecov
Copy link

codecov bot commented May 19, 2023

Codecov Report

Merging #3897 (591e179) into dev (62f2b39) will increase coverage by 0.82%.
The diff coverage is 81.11%.

Impacted file tree graph

@@            Coverage Diff             @@
##              dev    #3897      +/-   ##
==========================================
+ Coverage   53.73%   54.55%   +0.82%     
==========================================
  Files         618      636      +18     
  Lines       68014    69632    +1618     
==========================================
+ Hits        36539    37978    +1439     
- Misses      31475    31654     +179     
Flag Coverage Δ
unittests 54.55% <81.11%> (+0.82%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
chain/open-block/src/lib.rs 77.46% <0.00%> (-2.34%) ⬇️
cmd/indexer/src/lib.rs 50.34% <0.00%> (-0.34%) ⬇️
cmd/starcoin/src/account/submit_txn_cmd.rs 0.00% <ø> (ø)
executor/src/block_executor.rs 87.50% <0.00%> (-1.86%) ⬇️
executor/src/lib.rs 100.00% <ø> (ø)
rpc/api/src/types.rs 16.02% <0.00%> (-0.04%) ⬇️
test-helper/src/executor.rs 42.56% <0.00%> (-0.66%) ⬇️
txpool/src/pool.rs 59.82% <ø> (ø)
types/src/account.rs 6.35% <0.00%> (ø)
types/src/error/mod.rs 0.00% <ø> (ø)
... and 30 more

... and 16 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 62f2b39...591e179. Read the comment docs.

@github-actions
Copy link

Benchmark for 14ac774

Click to view benchmark
Test Base PR %
accumulator_append 608.8±29.02µs 609.5±33.44µs +0.11%
block_apply/block_apply_10 355.0±0.54ms 356.8±0.51ms +0.51%
block_apply/block_apply_1000 36.7±0.04s 37.0±0.09s +0.82%
get_with_proof/db_store 37.5±0.20µs 36.8±0.21µs -1.87%
get_with_proof/mem_store 31.9±0.16µs 31.7±0.27µs -0.63%
put_and_commit/db_store/1 96.9±4.84µs 96.3±5.06µs -0.62%
put_and_commit/db_store/10 865.7±40.66µs 868.8±41.70µs +0.36%
put_and_commit/db_store/100 7.4±0.27ms 7.4±0.29ms 0.00%
put_and_commit/db_store/5 416.6±22.01µs 443.9±21.50µs +6.55%
put_and_commit/db_store/50 3.8±0.16ms 3.8±0.16ms 0.00%
put_and_commit/mem_store/1 62.6±5.76µs 62.2±5.71µs -0.64%
put_and_commit/mem_store/10 584.6±47.39µs 586.4±47.92µs +0.31%
put_and_commit/mem_store/100 5.7±0.83ms 5.7±0.84ms 0.00%
put_and_commit/mem_store/5 293.8±24.97µs 294.0±24.86µs +0.07%
put_and_commit/mem_store/50 2.9±0.20ms 2.9±0.19ms 0.00%
query_block/query_block_in(10)_times(100) 4.9±0.24ms 4.8±0.11ms -2.04%
query_block/query_block_in(10)_times(1000) 48.5±1.15ms 48.8±1.09ms +0.62%
query_block/query_block_in(10)_times(10000) 486.9±12.92ms 493.2±11.27ms +1.29%
query_block/query_block_in(1000)_times(100) 1028.5±6.04µs 992.4±12.24µs -3.51%
query_block/query_block_in(1000)_times(1000) 10.3±0.08ms 9.9±0.11ms -3.88%
query_block/query_block_in(1000)_times(10000) 102.8±0.71ms 100.1±1.09ms -2.63%
storage_transaction 1018.6±307.76µs 1000.0±276.68µs -1.83%
vm/transaction_execution/1 407.6±7.22ms 407.3±5.86ms -0.07%
vm/transaction_execution/10 123.3±0.17ms 123.3±0.35ms 0.00%
vm/transaction_execution/20 113.2±0.38ms 113.5±1.07ms +0.27%
vm/transaction_execution/5 152.4±0.36ms 152.8±1.51ms +0.26%
vm/transaction_execution/50 128.4±0.48ms 128.2±0.23ms -0.16%

@github-actions
Copy link

Benchmark for 3e2b1b2

Click to view benchmark
Test Base PR %
accumulator_append 614.3±27.68µs 607.9±10.99µs -1.04%
block_apply/block_apply_10 355.4±0.58ms 355.9±0.93ms +0.14%
block_apply/block_apply_1000 36.9±0.14s 36.8±0.06s -0.27%
get_with_proof/db_store 38.2±0.44µs 36.7±0.41µs -3.93%
get_with_proof/mem_store 32.2±0.36µs 31.4±0.16µs -2.48%
put_and_commit/db_store/1 98.0±5.28µs 96.7±4.91µs -1.33%
put_and_commit/db_store/10 886.0±42.57µs 871.1±42.22µs -1.68%
put_and_commit/db_store/100 7.6±0.32ms 7.5±0.30ms -1.32%
put_and_commit/db_store/5 422.0±22.07µs 444.0±22.16µs +5.21%
put_and_commit/db_store/50 3.9±0.17ms 3.9±0.17ms 0.00%
put_and_commit/mem_store/1 62.9±6.43µs 62.3±5.91µs -0.95%
put_and_commit/mem_store/10 583.1±53.85µs 579.7±48.79µs -0.58%
put_and_commit/mem_store/100 5.7±0.86ms 5.7±0.86ms 0.00%
put_and_commit/mem_store/5 293.7±25.34µs 292.9±25.51µs -0.27%
put_and_commit/mem_store/50 2.9±0.21ms 2.9±0.19ms 0.00%
query_block/query_block_in(10)_times(100) 4.8±0.11ms 4.7±0.15ms -2.08%
query_block/query_block_in(10)_times(1000) 48.5±0.92ms 47.7±1.33ms -1.65%
query_block/query_block_in(10)_times(10000) 491.8±11.62ms 484.6±9.75ms -1.46%
query_block/query_block_in(1000)_times(100) 994.5±7.46µs 986.0±8.06µs -0.85%
query_block/query_block_in(1000)_times(1000) 10.0±0.09ms 10.1±0.10ms +1.00%
query_block/query_block_in(1000)_times(10000) 105.2±0.82ms 98.4±0.78ms -6.46%
storage_transaction 1001.0±290.03µs 988.8±291.43µs -1.22%
vm/transaction_execution/1 405.3±1.55ms 407.3±2.41ms +0.49%
vm/transaction_execution/10 123.7±1.11ms 123.6±1.86ms -0.08%
vm/transaction_execution/20 113.4±1.10ms 113.4±0.84ms 0.00%
vm/transaction_execution/5 153.9±2.84ms 152.6±0.47ms -0.84%
vm/transaction_execution/50 128.5±0.56ms 128.4±0.91ms -0.08%

@nkysg nkysg closed this May 25, 2023
@nkysg nkysg reopened this May 25, 2023
@nkysg nkysg closed this Jun 12, 2023
@nkysg nkysg reopened this Jun 12, 2023
@nkysg nkysg closed this Jun 12, 2023
@nkysg nkysg reopened this Jun 12, 2023
@nkysg nkysg marked this pull request as ready for review June 12, 2023 08:50
@nkysg nkysg marked this pull request as draft June 12, 2023 08:51
@nkysg nkysg marked this pull request as ready for review June 25, 2023 02:34
@nkysg nkysg changed the title [WIP] [parallel executor] parallel executor [parallel executor] parallel executor Jun 30, 2023
@github-actions
Copy link

Benchmark for 6e36512

Click to view benchmark
Test Base PR %
accumulator_append 609.5±29.98µs 619.1±26.73µs +1.58%
block_apply/block_apply_10 356.3±0.77ms 360.0±1.16ms +1.04%
block_apply/block_apply_1000 36.9±0.02s 37.2±0.02s +0.81%
get_with_proof/db_store 38.0±0.17µs 37.7±0.20µs -0.79%
get_with_proof/mem_store 32.4±0.24µs 31.9±0.14µs -1.54%
put_and_commit/db_store/1 92.7±3.30µs 93.4±3.28µs +0.76%
put_and_commit/db_store/10 823.7±26.49µs 846.1±27.97µs +2.72%
put_and_commit/db_store/100 7.2±0.19ms 7.2±0.19ms 0.00%
put_and_commit/db_store/5 421.8±14.95µs 404.5±15.45µs -4.10%
put_and_commit/db_store/50 3.7±0.11ms 3.7±0.10ms 0.00%
put_and_commit/mem_store/1 62.4±5.74µs 62.6±5.67µs +0.32%
put_and_commit/mem_store/10 584.0±48.58µs 582.9±47.56µs -0.19%
put_and_commit/mem_store/100 5.8±0.82ms 5.7±0.83ms -1.72%
put_and_commit/mem_store/5 296.3±25.73µs 294.7±24.53µs -0.54%
put_and_commit/mem_store/50 2.9±0.20ms 2.9±0.18ms 0.00%
query_block/query_block_in(10)_times(100) 5.1±0.09ms 5.1±0.22ms 0.00%
query_block/query_block_in(10)_times(1000) 50.9±1.66ms 51.0±1.13ms +0.20%
query_block/query_block_in(10)_times(10000) 509.6±8.66ms 513.4±12.12ms +0.75%
query_block/query_block_in(1000)_times(100) 1064.9±6.71µs 1056.9±12.43µs -0.75%
query_block/query_block_in(1000)_times(1000) 10.7±0.36ms 10.8±0.08ms +0.93%
query_block/query_block_in(1000)_times(10000) 106.2±0.85ms 105.4±0.84ms -0.75%
storage_transaction 916.7±241.26µs 913.7±240.72µs -0.33%
vm/transaction_execution/1 410.1±5.48ms 408.8±0.89ms -0.32%
vm/transaction_execution/10 124.3±0.23ms 124.7±0.88ms +0.32%
vm/transaction_execution/20 115.1±2.10ms 114.5±0.60ms -0.52%
vm/transaction_execution/5 154.2±1.26ms 153.8±0.38ms -0.26%
vm/transaction_execution/50 128.9±0.33ms 129.7±0.97ms +0.62%

@github-actions
Copy link

github-actions bot commented Jul 4, 2023

Benchmark for fda8399

Click to view benchmark
Test Base PR %
accumulator_append 623.7±44.93µs 617.7±31.75µs -0.96%
block_apply/block_apply_10 358.3±0.86ms 364.2±0.37ms +1.65%
block_apply/block_apply_1000 37.8±0.03s 37.7±0.03s -0.26%
get_with_proof/db_store 37.3±0.51µs 37.5±0.29µs +0.54%
get_with_proof/mem_store 31.7±0.26µs 31.7±0.30µs 0.00%
put_and_commit/db_store/1 95.0±3.88µs 93.6±3.65µs -1.47%
put_and_commit/db_store/10 853.1±28.92µs 848.3±29.59µs -0.56%
put_and_commit/db_store/100 7.3±0.22ms 7.3±0.23ms 0.00%
put_and_commit/db_store/5 432.8±16.56µs 410.6±15.84µs -5.13%
put_and_commit/db_store/50 3.8±0.11ms 3.8±0.11ms 0.00%
put_and_commit/mem_store/1 62.6±5.91µs 62.8±6.06µs +0.32%
put_and_commit/mem_store/10 589.5±49.26µs 584.0±49.22µs -0.93%
put_and_commit/mem_store/100 5.8±0.86ms 5.8±0.86ms 0.00%
put_and_commit/mem_store/5 296.9±27.02µs 296.9±26.61µs 0.00%
put_and_commit/mem_store/50 2.9±0.19ms 2.9±0.19ms 0.00%
query_block/query_block_in(10)_times(100) 5.0±0.19ms 5.1±0.13ms +2.00%
query_block/query_block_in(10)_times(1000) 50.2±1.86ms 51.0±1.91ms +1.59%
query_block/query_block_in(10)_times(10000) 500.6±16.47ms 507.1±11.78ms +1.30%
query_block/query_block_in(1000)_times(100) 1041.4±10.97µs 1021.8±14.69µs -1.88%
query_block/query_block_in(1000)_times(1000) 10.4±0.07ms 10.2±0.14ms -1.92%
query_block/query_block_in(1000)_times(10000) 103.4±1.27ms 101.4±0.78ms -1.93%
storage_transaction 935.3±234.45µs 929.7±241.30µs -0.60%
vm/transaction_execution/1 408.5±1.48ms 413.4±9.11ms +1.20%
vm/transaction_execution/10 124.8±0.79ms 125.7±1.45ms +0.72%
vm/transaction_execution/20 114.1±0.35ms 114.2±0.29ms +0.09%
vm/transaction_execution/5 153.6±0.71ms 154.7±0.39ms +0.72%
vm/transaction_execution/50 129.9±0.51ms 129.7±0.44ms -0.15%

* [benchmark] bencher for parallel executor

* [e2e-test] Commit e2etest first

* [e2e-test] Format codes

* [e2e-test] add some change for e2e-test

* [e2e-test] fixed all compiling error

* [e2e-test] fixed cargo clippy check

* [e2e-test] Fixed build error

* [e2e-test] Fixed for data_store

* [e2e-test] Fixed for trasnction peer to peer bench mark

* [e2e-test] Fixed for trasnction peer to peer bench mark

* [e2e-test] Fix commit checking

* [e2e-test] Use CPU numbers for concurrency level

* [e2e-test] abort Token name is "Token"

* [e2e-test] put the transaction count to parameter for transaction benches.

* [e2e-test] add the bench script

* [e2e-test] commit for fmt

* [e2e-test] fixed for the skip rest transaction test
@nkysg
Copy link
Collaborator Author

nkysg commented Aug 18, 2023

close for #3940

@nkysg nkysg closed this Aug 18, 2023
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

Successfully merging this pull request may close these issues.

2 participants