Skip to content

Improve tiny ydb perfomance #19909

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

Merged
merged 1 commit into from
Jun 19, 2025
Merged

Conversation

kruall
Copy link
Collaborator

@kruall kruall commented Jun 19, 2025

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

...

@kruall kruall requested a review from Copilot June 19, 2025 14:26
@kruall kruall self-assigned this Jun 19, 2025
@kruall kruall added the area/actorsystem Actor System related issues label Jun 19, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR improves the performance of tiny YDB by refactoring task actor behavior, updating thread pool configuration and switching logic, and adding configuration options for forced foreign slots and adjacent pool management.

  • Refactored THugeTaskActor in manual test to dynamically generate worker configurations
  • Enhanced shared executor pool logic to utilize adjacent pools and forced foreign slots
  • Updated configuration (both proto and cpp) to support new tiny YDB performance parameters

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ydb/library/actors/core/manual_test/shared_threads/main.cpp Refactored task actor constructor and main to support multiple test cases and dynamic worker counts
ydb/library/actors/core/executor_thread_ctx.h Added AdjacentPoolId field to thread context
ydb/library/actors/core/executor_pool_shared.h Added ForcedForeignSlots flag and AdjacentPools to worker config
ydb/library/actors/core/executor_pool_shared.cpp Adjusted adjacent pool switching logic and foreign slot handling
ydb/library/actors/core/cpu_manager.cpp Updated foreign slot configuration based on forced foreign slots
ydb/library/actors/core/config.h Added tiny-YDB specific configuration members
ydb/core/protos/config.proto Added proto definitions for adjacent pools and forced foreign slots
ydb/core/driver_lib/run/run.cpp Adjusted pool id assignment when using shared threads
ydb/core/driver_lib/run/config_helpers.cpp Propagated new config options for adjacent pools and forced foreign slots
ydb/core/driver_lib/run/auto_config_initializer.cpp Updated executor and service pool assignments for improved YDB perf

Copy link

🟢 2025-06-19 14:27:37 UTC The validation of the Pull Request description is successful.

Copy link

github-actions bot commented Jun 19, 2025

2025-06-19 14:27:57 UTC Pre-commit check linux-x86_64-relwithdebinfo for c1e178a has started.
2025-06-19 14:28:09 UTC Artifacts will be uploaded here
2025-06-19 14:31:54 UTC ya make is running...
🟡 2025-06-19 16:15:03 UTC Some tests failed, follow the links below. Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
38703 35998 0 4 2664 37

2025-06-19 16:18:21 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-06-19 16:31:16 UTC Tests successful.

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
614 (only retried tests) 576 0 0 1 37

🟢 2025-06-19 16:31:25 UTC Build successful.
🟢 2025-06-19 16:31:45 UTC ydbd size 2.2 GiB changed* by +41.6 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 83015c3 merge: c1e178a diff diff %
ydbd size 2 376 230 424 Bytes 2 376 272 992 Bytes +41.6 KiB +0.002%
ydbd stripped size 497 959 528 Bytes 497 971 976 Bytes +12.2 KiB +0.002%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

Copy link

github-actions bot commented Jun 19, 2025

2025-06-19 14:30:14 UTC Pre-commit check linux-x86_64-release-asan for c1e178a has started.
2025-06-19 14:30:25 UTC Artifacts will be uploaded here
2025-06-19 14:34:18 UTC ya make is running...
🟡 2025-06-19 17:03:13 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16293 15969 0 99 197 28

2025-06-19 17:04:46 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-19 17:37:24 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Test history | Ya make output | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1856 (only retried tests) 1577 0 76 172 31

2025-06-19 17:37:43 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-06-19 18:12:01 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet

Test history | Ya make output | Test bloat | Test bloat | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1532 (only retried tests) 1269 0 67 171 25

🟢 2025-06-19 18:12:18 UTC Build successful.
🟢 2025-06-19 18:12:53 UTC ydbd size 3.9 GiB changed* by +57.7 KiB, which is < 100.0 KiB vs main: OK

ydbd size dash main: 83015c3 merge: c1e178a diff diff %
ydbd size 4 179 932 832 Bytes 4 179 991 960 Bytes +57.7 KiB +0.001%
ydbd stripped size 1 449 083 672 Bytes 1 449 106 072 Bytes +21.9 KiB +0.002%

*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation

@kruall kruall merged commit cdf7c5e into ydb-platform:main Jun 19, 2025
18 of 19 checks passed
kruall added a commit to kruall/ydb that referenced this pull request Jun 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/actorsystem Actor System related issues not-for-changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants