Skip to content

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
mainfrom
test_969568450

Conversation

@copybara-service

@copybara-service copybara-service Bot commented Aug 24, 2026

Copy link
Copy Markdown

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:

  • 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).

@copybara-service copybara-service Bot changed the title Release server_init_mu_ before executing SyncPull in KvCacheManagerBase. PUBLIC: Aug 24, 2026
…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 copybara-service Bot changed the title PUBLIC: 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. Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant