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

[single-node-perf] Adjust calibration for V2 loader #15175

Closed
wants to merge 1 commit into from

Conversation

georgemitenkov
Copy link
Contributor

@georgemitenkov georgemitenkov commented Nov 4, 2024

Description

Recalibrated TPS with V2 loader (and first-access validation of global cache accesses). Results:

  • Large module working set: clear performance improvement
  • Module publishing: clear performance improvement
  • Single module: a slight regression within acceptable range, expected because for each cached module we access state view at least once per block (unlike in V2). We can improve these numbers in the future.

How Has This Been Tested?

Key Areas to Review

Type of Change

  • New feature
  • Bug fix
  • Breaking change
  • Performance improvement
  • Refactoring
  • Dependency update
  • Documentation update
  • Tests

Which Components or Systems Does This Change Impact?

  • Validator Node
  • Full Node (API, Indexer, etc.)
  • Move/Aptos Virtual Machine
  • Aptos Framework
  • Aptos CLI/SDK
  • Developer Infrastructure
  • Move Compiler
  • Other (specify)

Checklist

  • I have read and followed the CONTRIBUTING doc
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I identified and added all stakeholders and component owners affected by this change as reviewers
  • I tested both happy and unhappy path of the functionality
  • I have made corresponding changes to the documentation

Copy link

trunk-io bot commented Nov 4, 2024

⏱️ 1h 46m total CI duration on this PR
Slowest 15 Jobs Cumulative Duration Recent Runs
execution-performance / single-node-performance 1h 8m 🟥🟥
rust-move-tests 9m 🟩
rust-move-tests 9m 🟩
execution-performance / test-target-determinator 7m 🟩🟩
test-target-determinator 3m 🟩
rust-cargo-deny 3m 🟩🟩
check-dynamic-deps 3m 🟩🟩🟩
semgrep/ci 1m 🟩🟩🟩
general-lints 55s 🟩🟩
file_change_determinator 24s 🟩🟩
Backport PR 17s 🟥🟥🟥
permission-check 14s 🟩🟩🟩
file_change_determinator 10s 🟩
permission-check 8s 🟩🟩🟩
permission-check 8s 🟩🟩🟩

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

Job Duration vs 7d avg Delta
execution-performance / single-node-performance 34m 15m +126%
test-target-determinator 3m 4m -23%

settingsfeedbackdocs ⋅ learn more about trunk.io

Copy link
Contributor Author

georgemitenkov commented Nov 4, 2024

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @georgemitenkov and the rest of your teammates on Graphite Graphite

@georgemitenkov georgemitenkov marked this pull request as ready for review November 4, 2024 13:56
@georgemitenkov georgemitenkov mentioned this pull request Nov 4, 2024
24 tasks
@georgemitenkov georgemitenkov added CICD:run-execution-performance-test Run execution performance test CICD:run-execution-performance-full-test Run execution performance test (full version) labels Nov 4, 2024
@gelash
Copy link
Contributor

gelash commented Nov 4, 2024

As discussed, current implementation seems equivalent to not caching across the block - a big dependency tree benchmark that we want to add later would probably show much more significant degradation.
Let's try to see if we can solve it by comparing parent hashes, some similar idea to here https://github.com/aptos-labs/aptos-core/pull/7873/files#diff-a5693c2ce7821b0a6fec832f8a149a38ceb78901ba36d729c1235a2a9aabb88d.

@georgemitenkov georgemitenkov deleted the george/perf branch November 6, 2024 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD:run-execution-performance-full-test Run execution performance test (full version) CICD:run-execution-performance-test Run execution performance test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants