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

UseCaseAwareShuffler #13738

Merged
merged 1 commit into from
Jul 16, 2024
Merged

UseCaseAwareShuffler #13738

merged 1 commit into from
Jul 16, 2024

Conversation

msmouse
Copy link
Contributor

@msmouse msmouse commented Jun 18, 2024

Description

Full description:
https://github.com/aptos-foundation/AIPs/pull/477/files

This shuffler delays txns according to both contract address spread factor and sender spread factor.

Type of Change

  • New feature

Which Components or Systems Does This Change Impact?

  • Validator Node

How Has This Been Tested?

unit tests and forge tests

Copy link

trunk-io bot commented Jun 18, 2024

⏱️ 49h 9m total CI duration on this PR
Job Cumulative Duration Recent Runs
test-fuzzers 8h 12m 🟩🟩🟩🟩🟩 (+9 more)
rust-targeted-unit-tests 3h 59m 🟥 (+14 more)
rust-move-tests 2h 49m 🟩 (+14 more)
test-replay / replay-verify (8) 2h 🟥
test-replay / replay-verify (17) 2h 🟥
test-replay / replay-verify (18) 2h 🟥
test-replay / replay-verify (16) 2h 🟥
test-replay / replay-verify (15) 2h 🟥
test-replay / replay-verify (9) 2h 🟥
test-replay / replay-verify (7) 2h 🟥
test-replay / replay-verify (14) 2h 🟥
test-replay / replay-verify (10) 1h 56m 🟩
test-replay / replay-verify (11) 1h 38m 🟩
test-replay / replay-verify (12) 1h 31m 🟩
run-tests-main-branch 1h 27m 🟩🟩🟩🟩🟩 (+14 more)
test-replay / replay-verify (13) 1h 27m 🟩
rust-lints 1h 14m 🟥🟥🟥🟥 (+14 more)
test-replay / replay-verify (3) 1h 11m 🟩
test-replay / replay-verify (6) 1h 9m 🟩
test-replay / replay-verify (1) 1h 6m 🟩
test-replay / replay-verify (4) 1h 6m 🟩
test-replay / replay-verify (0) 1h 1m 🟩
test-replay / replay-verify (2) 54m 🟩
adhoc-forge-test / forge 39m 🟥🟥🟥🟩
general-lints 30m 🟩🟩🟩🟩 (+14 more)
check-dynamic-deps 23m 🟩🟩🟩🟩🟩 (+14 more)
rust-move-unit-coverage 14m 🟩
rust-images / rust-all 12m 🟩
semgrep/ci 7m 🟩🟩🟩🟩🟩 (+14 more)
test-replay / replay-verify (5) 6m 🟥
test-target-determinator 5m 🟩
file_change_determinator 3m 🟩🟩🟩🟩🟩 (+14 more)
file_change_determinator 3m 🟩🟩🟩🟩🟩 (+14 more)
permission-check 1m 🟩🟩🟩🟩🟩 (+14 more)
permission-check 58s 🟩🟩🟩🟩🟩 (+14 more)
permission-check 51s 🟩🟩🟩🟩🟩 (+14 more)
permission-check 51s 🟩🟩🟩🟩🟩 (+14 more)
test-copy-images 19s 🟩
file_change_determinator 12s 🟩
determine-forge-run-metadata 7s 🟩🟩🟩
determine-test-metadata 7s 🟩
permission-check 4s 🟩
determine-docker-build-metadata 4s 🟩

🚨 2 jobs on the last run were significantly faster/slower than expected

Job Duration vs 7d avg Delta
rust-targeted-unit-tests 23m 13m +76%
rust-move-tests 15m 9m +75%

settingsfeedbackdocs ⋅ learn more about trunk.io

@msmouse msmouse force-pushed the 0617-alden-use-case-shuffler branch 5 times, most recently from cea90c4 to 60a2738 Compare June 18, 2024 18:58
@msmouse msmouse force-pushed the 0614-deprecate-fairness-shuffler branch from 86b9d21 to af126c0 Compare June 18, 2024 18:58
@msmouse msmouse force-pushed the 0617-alden-use-case-shuffler branch 5 times, most recently from 4c2abca to 63e5b0d Compare June 21, 2024 01:33
@msmouse msmouse force-pushed the 0614-deprecate-fairness-shuffler branch from af126c0 to 3669519 Compare June 21, 2024 01:33
@msmouse msmouse force-pushed the 0617-alden-use-case-shuffler branch from 63e5b0d to f1bcff2 Compare June 21, 2024 01:34
Copy link

codecov bot commented Jun 21, 2024

Codecov Report

Attention: Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.

Project coverage is 58.9%. Comparing base (235402e) to head (e1287fd).
Report is 1 commits behind head on main.

Files Patch % Lines
types/src/on_chain_config/execution_config.rs 0.0% 8 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main   #13738       +/-   ##
===========================================
- Coverage    70.8%    58.9%    -11.9%     
===========================================
  Files        2324      824     -1500     
  Lines      459502   198241   -261261     
===========================================
- Hits       325634   116944   -208690     
+ Misses     133868    81297    -52571     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@msmouse msmouse force-pushed the 0617-alden-use-case-shuffler branch 2 times, most recently from aacf808 to 1c93889 Compare June 22, 2024 01:03
@msmouse msmouse added the CICD:build-images when this label is present github actions will start build+push rust images from the PR. label Jun 22, 2024
@msmouse msmouse force-pushed the 0617-alden-use-case-shuffler branch 7 times, most recently from 0c007c1 to 141eb15 Compare June 27, 2024 22:09
@msmouse msmouse changed the base branch from 0614-deprecate-fairness-shuffler to igor/forge_graceful June 27, 2024 22:10
@msmouse msmouse marked this pull request as ready for review June 27, 2024 22:12
@msmouse
Copy link
Contributor Author

msmouse commented Jul 11, 2024

@sitalkedia

Can you provide a bit more context on the PR description - high level idea along with functionalities of key data structures.

Will do, probably will steal from the AIP I'm coming up with.

@igor-aptos igor-aptos force-pushed the igor/forge_graceful branch 2 times, most recently from d844527 to 389126d Compare July 12, 2024 23:38
// Add account and original use case back to delay queues.

if account.is_empty() {
self.account_placeholders_by_delay
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

account_placeholders_by_delay is for accounts that have been ordered within the last "window", but there are no delayed transactions at the moment. But if there is a new transaction from that account - it would need to be delayed - and this keeps for how long that would be.

@msmouse msmouse enabled auto-merge (squash) July 16, 2024 21:00

This comment has been minimized.

This comment has been minimized.

This comment has been minimized.

Copy link
Contributor

✅ Forge suite compat success on 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623

Compatibility test results for 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623 (PR)
1. Check liveness of validators at old version: 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5
compatibility::simple-validator-upgrade::liveness-check : committed: 6697.916099641886 txn/s, latency: 3991.3204891231817 ms, (p50: 3000 ms, p90: 5400 ms, p99: 25600 ms), latency samples: 299720
2. Upgrading first Validator to new version: e1287fd413a67c1929bcf90e06602814a7ed0623
compatibility::simple-validator-upgrade::single-validator-upgrading : committed: 7566.133177303846 txn/s, latency: 3487.318810902415 ms, (p50: 3900 ms, p90: 4100 ms, p99: 4300 ms), latency samples: 141620
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 6457.149983680765 txn/s, latency: 4832.73188267935 ms, (p50: 4500 ms, p90: 6900 ms, p99: 8800 ms), latency samples: 252300
3. Upgrading rest of first batch to new version: e1287fd413a67c1929bcf90e06602814a7ed0623
compatibility::simple-validator-upgrade::half-validator-upgrading : committed: 2435.2388891712544 txn/s, latency: 9755.466925170069 ms, (p50: 10000 ms, p90: 20200 ms, p99: 21200 ms), latency samples: 73500
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 6848.943248207196 txn/s, latency: 4418.037294302489 ms, (p50: 4100 ms, p90: 6700 ms, p99: 7300 ms), latency samples: 241860
4. upgrading second batch to new version: e1287fd413a67c1929bcf90e06602814a7ed0623
compatibility::simple-validator-upgrade::rest-validator-upgrading : committed: 238.3087420570344 txn/s, submitted: 601.4223513505208 txn/s, failed submission: 240.9880501927174 txn/s, expired: 363.11360929348643 txn/s, latency: 55581.33999120658 ms, (p50: 56200 ms, p90: 58400 ms, p99: 59600 ms), latency samples: 15921
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 8964.016835924334 txn/s, latency: 3574.156592662786 ms, (p50: 3200 ms, p90: 6500 ms, p99: 7100 ms), latency samples: 295480
5. check swarm health
Compatibility test for 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623 passed
Test Ok

Copy link
Contributor

✅ Forge suite realistic_env_max_load success on e1287fd413a67c1929bcf90e06602814a7ed0623

two traffics test: inner traffic : committed: 9268.165418978997 txn/s, latency: 4296.417790439654 ms, (p50: 4200 ms, p90: 4500 ms, p99: 10200 ms), latency samples: 3524140
two traffics test : committed: 100.00182574758644 txn/s, latency: 2226.1263736263736 ms, (p50: 2100 ms, p90: 2600 ms, p99: 3700 ms), latency samples: 1820
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.245, avg: 0.225", "QsPosToProposal: max: 1.837, avg: 1.741", "ConsensusProposalToOrdered: max: 0.315, avg: 0.296", "ConsensusOrderedToCommit: max: 0.416, avg: 0.402", "ConsensusProposalToCommit: max: 0.708, avg: 0.698"]
Max round gap was 1 [limit 4] at version 1697028. Max no progress secs was 5.828668 [limit 15] at version 1697028.
Test Ok

Copy link
Contributor

✅ Forge suite framework_upgrade success on 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623

Compatibility test results for 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623 (PR)
Upgrade the nodes to version: e1287fd413a67c1929bcf90e06602814a7ed0623
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1138.636409793265 txn/s, submitted: 1140.8924755943217 txn/s, failed submission: 2.2560658010565984 txn/s, expired: 2.2560658010565984 txn/s, latency: 2646.163156330493 ms, (p50: 1800 ms, p90: 5100 ms, p99: 11500 ms), latency samples: 100940
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1111.325265286004 txn/s, submitted: 1114.1614845934118 txn/s, failed submission: 2.8362193074079216 txn/s, expired: 2.8362193074079216 txn/s, latency: 2844.470204168439 ms, (p50: 2100 ms, p90: 5100 ms, p99: 12400 ms), latency samples: 94040
5. check swarm health
Compatibility test for 1c2ee7082d6eff8c811ee25d6f5a7d00860a75d5 ==> e1287fd413a67c1929bcf90e06602814a7ed0623 passed
Upgrade the remaining nodes to version: e1287fd413a67c1929bcf90e06602814a7ed0623
framework_upgrade::framework-upgrade::full-framework-upgrade : committed: 1031.412693306775 txn/s, submitted: 1033.6418108630899 txn/s, failed submission: 2.229117556314621 txn/s, expired: 2.229117556314621 txn/s, latency: 2894.2285822347094 ms, (p50: 2100 ms, p90: 5100 ms, p99: 9600 ms), latency samples: 92540
Test Ok

@msmouse msmouse merged commit d98b854 into main Jul 16, 2024
92 of 93 checks passed
@msmouse msmouse deleted the 0617-alden-use-case-shuffler branch July 16, 2024 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD:build-images when this label is present github actions will start build+push rust images from the PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants