Skip to content

Conversation

@kruall
Copy link
Collaborator

@kruall kruall commented Jun 4, 2025

Changelog entry

...

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

...

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 11:05:58 UTC Pre-commit check linux-x86_64-release-asan for cfd83aa has started.
2025-06-04 11:06:10 UTC Artifacts will be uploaded here
2025-06-04 11:09:46 UTC ya make is running...
🔴 2025-06-04 11:12:19 UTC Build failed, see the logs. Also see fail summary

Copy link
Contributor

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 refactors the harmonizer to correctly account for shared threads by switching to per-thread CPU averages, introducing shared/free CPU quotas, and adjusting pool/thread quota interfaces.

  • Replace integer-based diffs with floating-point per-thread averages and compute free/shared CPU quota
  • Add TPoolInfo fields (ThreadQuota, FullThreadQuota) and extend AddPool to accept an ignoreFullThreadQuota flag
  • Update various structures (THarmonizerCpuConsumption, TPoolHarmonizerStats) to use floats instead of ints for finer granularity

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
ydb/library/actors/core/harmonizer/shared_info.h Swap CpuConsumptionByPool for CpuConsumptionPerThread; add ThreadCount, FreeCpu, update Pull signature
ydb/library/actors/core/harmonizer/shared_info.cpp Compute per-thread averages, reset/accumulate quotas, remove diff fields
ydb/library/actors/core/harmonizer/pool.h Add FullThreadQuota, ThreadQuota, change PotentialMaxThreadCount to float
ydb/library/actors/core/harmonizer/harmonizer.h Update IHarmonizer::AddPool to include ignoreFullThreadQuota; change PotentialMaxThreadCount to float
ydb/library/actors/core/harmonizer/harmonizer.cpp Integrate shared CPU logic into Harmonize, update AddPool and quota adjustments
ydb/library/actors/core/harmonizer/cpu_consumption.h Introduce BudgetWithoutSharedCpu, LostCpu; remove BudgetInt
ydb/library/actors/core/harmonizer/cpu_consumption.cpp Use ThreadQuota in budget calc, rename param to sharedInfo, update budget/lost CPU logic
ydb/library/actors/core/cpu_manager.cpp Pass ignoreFullThreadQuota flag based on pool type to AddPool
Comments suppressed due to low confidence (1)

ydb/library/actors/core/cpu_manager.cpp:108

  • [nitpick] The name ignoreThreads is ambiguous; consider renaming to ignoreFullThreadQuota or isIoPool for clarity.
bool ignoreThreads = dynamic_cast<TIOExecutorPool*>(Executors[excIdx].Get());

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 11:08:30 UTC Pre-commit check linux-x86_64-relwithdebinfo for cfd83aa has started.
2025-06-04 11:08:41 UTC Artifacts will be uploaded here
2025-06-04 11:12:06 UTC ya make is running...
🔴 2025-06-04 11:14:36 UTC Build failed, see the logs. Also see fail summary

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

🟢 2025-06-04 11:09:40 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 12:09:20 UTC Pre-commit check linux-x86_64-relwithdebinfo for 2de2532 has started.
2025-06-04 12:09:43 UTC Artifacts will be uploaded here
2025-06-04 12:12:20 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 12:12:05 UTC Pre-commit check linux-x86_64-release-asan for 2de2532 has started.
2025-06-04 12:12:08 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 12:14:53 UTC Pre-commit check linux-x86_64-relwithdebinfo for 884a2bd has started.
2025-06-04 12:14:59 UTC Artifacts will be uploaded here
2025-06-04 12:18:30 UTC ya make is running...
🟡 2025-06-04 14:10:30 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
31267 28547 0 7 2670 43

2025-06-04 14:13:13 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-04 14:38:55 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
919 (only retried tests) 885 0 3 0 31

2025-06-04 14:39:07 UTC ya make is running... (failed tests rerun, try 3)
🔴 2025-06-04 14:51:24 UTC Some tests failed, follow the links below.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
343 (only retried tests) 311 0 3 0 29

🟢 2025-06-04 14:51:32 UTC Build successful.
🟢 2025-06-04 14:51:54 UTC ydbd size 2.2 GiB changed* by -6.5 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: d99fe0d merge: 884a2bd diff diff %
ydbd size 2 364 896 672 Bytes 2 364 889 992 Bytes -6.5 KiB -0.000%
ydbd stripped size 496 424 360 Bytes 496 422 760 Bytes -1.6 KiB -0.000%

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

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 12:17:22 UTC Pre-commit check linux-x86_64-release-asan for 884a2bd has started.
2025-06-04 12:17:33 UTC Artifacts will be uploaded here
2025-06-04 12:21:06 UTC ya make is running...
🟡 2025-06-04 14:52:17 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16150 15950 0 101 77 22

2025-06-04 14:53:40 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-04 15:31:09 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1522 (only retried tests) 1375 0 69 58 20

2025-06-04 15:31:27 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-06-04 16:07:49 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?
1488 (only retried tests) 1415 0 51 4 18

🟢 2025-06-04 16:08:05 UTC Build successful.
🟢 2025-06-04 16:08:40 UTC ydbd size 3.9 GiB changed* by -10.0 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: d99fe0d merge: 884a2bd diff diff %
ydbd size 4 159 026 200 Bytes 4 159 016 008 Bytes -10.0 KiB -0.000%
ydbd stripped size 1 443 254 136 Bytes 1 443 250 168 Bytes -3.9 KiB -0.000%

*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 added the rebase-and-check Rebase PR with the current base branch and check label Jun 4, 2025
@github-actions github-actions bot removed the rebase-and-check Rebase PR with the current base branch and check label Jun 4, 2025
@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 16:25:45 UTC Pre-commit check linux-x86_64-release-asan for 89a5d42 has started.
2025-06-04 16:25:57 UTC Artifacts will be uploaded here
2025-06-04 16:29:34 UTC ya make is running...
🟡 2025-06-04 18:16:45 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16152 15885 0 97 148 22

2025-06-04 18:18:14 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-04 18:53:30 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1615 (only retried tests) 1415 0 59 116 25

2025-06-04 18:53:47 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-06-04 19:30: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?
1488 (only retried tests) 1352 0 50 65 21

🟢 2025-06-04 19:30:17 UTC Build successful.
🟢 2025-06-04 19:30:51 UTC ydbd size 3.9 GiB changed* by -10.0 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: 82e9af3 merge: 89a5d42 diff diff %
ydbd size 4 159 132 144 Bytes 4 159 121 944 Bytes -10.0 KiB -0.000%
ydbd stripped size 1 443 293 624 Bytes 1 443 289 656 Bytes -3.9 KiB -0.000%

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

@github-actions
Copy link

github-actions bot commented Jun 4, 2025

2025-06-04 16:26:09 UTC Pre-commit check linux-x86_64-relwithdebinfo for 89a5d42 has started.
2025-06-04 16:26:21 UTC Artifacts will be uploaded here
2025-06-04 16:29:49 UTC ya make is running...
🟡 2025-06-04 17:45:04 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
31269 28567 0 2 2660 40

2025-06-04 17:48:00 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-04 18:04:23 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
935 (only retried tests) 897 0 2 1 35

2025-06-04 18:04:34 UTC ya make is running... (failed tests rerun, try 3)
🔴 2025-06-04 18:16:47 UTC Some tests failed, follow the links below.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
348 (only retried tests) 318 0 3 0 27

🟢 2025-06-04 18:16:56 UTC Build successful.
🟢 2025-06-04 18:17:21 UTC ydbd size 2.2 GiB changed* by -6.5 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: 82e9af3 merge: 89a5d42 diff diff %
ydbd size 2 364 955 680 Bytes 2 364 949 000 Bytes -6.5 KiB -0.000%
ydbd stripped size 496 438 120 Bytes 496 436 520 Bytes -1.6 KiB -0.000%

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

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

2025-06-05 08:57:34 UTC Pre-commit check linux-x86_64-release-asan for 73fe72c has started.
2025-06-05 08:57:48 UTC Artifacts will be uploaded here
2025-06-05 09:01:13 UTC ya make is running...
2025-06-05 10:26:20 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

2025-06-05 08:57:52 UTC Pre-commit check linux-x86_64-relwithdebinfo for 73fe72c has started.
2025-06-05 08:58:01 UTC Artifacts will be uploaded here
2025-06-05 09:01:25 UTC ya make is running...
2025-06-05 10:26:26 UTC Check cancelled

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

2025-06-05 10:27:54 UTC Pre-commit check linux-x86_64-relwithdebinfo for 104044d has started.
2025-06-05 10:28:04 UTC Artifacts will be uploaded here
2025-06-05 10:31:34 UTC ya make is running...
🟡 2025-06-05 11:38:58 UTC Some tests failed, follow the links below. Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
31277 28582 0 5 2658 32

2025-06-05 11:41:43 UTC ya make is running... (failed tests rerun, try 2)
🟢 2025-06-05 11:52:02 UTC Tests successful.

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
319 (only retried tests) 292 0 0 0 27

🟢 2025-06-05 11:52:10 UTC Build successful.
🟢 2025-06-05 11:52:29 UTC ydbd size 2.2 GiB changed* by -6.7 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: 643d321 merge: 104044d diff diff %
ydbd size 2 366 115 032 Bytes 2 366 108 208 Bytes -6.7 KiB -0.000%
ydbd stripped size 496 654 120 Bytes 496 652 456 Bytes -1.6 KiB -0.000%

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

@github-actions
Copy link

github-actions bot commented Jun 5, 2025

2025-06-05 10:28:20 UTC Pre-commit check linux-x86_64-release-asan for 104044d has started.
2025-06-05 10:28:31 UTC Artifacts will be uploaded here
2025-06-05 10:31:55 UTC ya make is running...
🟡 2025-06-05 12:19:49 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

Test history | Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
16158 15855 0 125 150 28

2025-06-05 12:21:11 UTC ya make is running... (failed tests rerun, try 2)
🟡 2025-06-05 12:59:48 UTC Some tests failed, follow the links below. This fail is not in blocking policy yet Going to retry failed tests...

Details

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

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
1959 (only retried tests) 1777 0 63 96 23

2025-06-05 13:00:07 UTC ya make is running... (failed tests rerun, try 3)
🟡 2025-06-05 13:34:53 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?
1713 (only retried tests) 1573 0 56 62 22

🟢 2025-06-05 13:35:09 UTC Build successful.
🟢 2025-06-05 13:35:47 UTC ydbd size 3.9 GiB changed* by -10.2 KiB, which is <= 0 Bytes vs main: OK

ydbd size dash main: 643d321 merge: 104044d diff diff %
ydbd size 4 161 307 200 Bytes 4 161 296 792 Bytes -10.2 KiB -0.000%
ydbd stripped size 1 444 023 928 Bytes 1 444 019 896 Bytes -3.9 KiB -0.000%

*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 6b7c2d1 into ydb-platform:main Jun 5, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants