Release server_init_mu_ before executing SyncPull in KVCacheManagerBase. SyncPull blocks for the entire network transfer, and holding the mutex across it serializes every concurrent pull in the process, so the pull_pool_ pipeline in H2dRead degenerates to one transfer at a time. - #765
Open
copybara-service[bot] wants to merge 1 commit into
Open
Release server_init_mu_ before executing SyncPull in KVCacheManagerBase. SyncPull blocks for the entire network transfer, and holding the mutex across it serializes every concurrent pull in the process, so the pull_pool_ pipeline in H2dRead degenerates to one transfer at a time.#765copybara-service[bot] wants to merge 1 commit into
copybara-service[bot] wants to merge 1 commit into
Conversation
copybara-service
Bot
force-pushed
the
test_969568450
branch
from
August 24, 2026 04:48
7320c3a to
6ab7fc6
Compare
…se. SyncPull blocks for the entire network transfer, and holding the mutex across it serializes every concurrent pull in the process, so the pull_pool_ pipeline in H2dRead degenerates to one transfer at a time. ### Test A/B on a disagg global prefix caching job (each KV restore pulls 64 sub-blocks from a peer's host memory, 4-thread pull pool), identical except for this change: - Baseline (without the fix): j-3c10829f-f181-434c-9682 - Exp (with the fix): j-2af54203-2086-4f1d-99e7 Average cross-node KV transfer time per restore dropped from 183ms to 105ms (42.6% faster). PiperOrigin-RevId: 969568450
copybara-service
Bot
force-pushed
the
test_969568450
branch
from
August 24, 2026 06:47
6ab7fc6 to
9a35a57
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release server_init_mu_ before executing SyncPull in KVCacheManagerBase. SyncPull blocks for the entire network transfer, and holding the mutex across it serializes every concurrent pull in the process, so the pull_pool_ pipeline in H2dRead degenerates to one transfer at a time.
Test
A/B on a disagg global prefix caching job (each KV restore pulls 64 sub-blocks from a peer's host memory, 4-thread pull pool), identical except for this change:
Average cross-node KV transfer time per restore dropped from 183ms to 105ms (42.6% faster).