Directly call SGLang engines instead of via ray actors in trainers and remove SGLangEngine shells - #1861
Directly call SGLang engines instead of via ray actors in trainers and remove SGLangEngine shells#1861fzyzcjy wants to merge 1 commit into
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
717cf48 to
33003ed
Compare
28437a3 to
51e1316
Compare
411ecf3 to
c4f937d
Compare
5c849ef to
cefbc28
Compare
c4f937d to
5e0612a
Compare
30e603f to
282b8b1
Compare
048f68b to
fe7eb04
Compare
282b8b1 to
7db556d
Compare
fe7eb04 to
b731661
Compare
73ad0f9 to
7bec756
Compare
0c54b25 to
ad934dc
Compare
7bec756 to
7e64fa5
Compare
7e64fa5 to
5e720db
Compare
5e720db to
7b79e2d
Compare
ad934dc to
6f3ba41
Compare
…d remove SGLangEngine shells Squashed from: - Talk to the engines over HTTP from the trainer too, and drop the engine shells - Fix the trainer-side HTTP conversion found by auditing op3-3 - Release the rollout lock on failure, and cover the orderings that were only implicit
7b79e2d to
c3d799a
Compare
6f3ba41 to
bcb6d4a
Compare
| async_utils.wait_futures( | ||
| [async_utils.submit(client.pause_generation()) for client in self.rollout_engines] | ||
| ) | ||
| async_utils.wait_futures([async_utils.submit(client.flush_cache()) for client in self.rollout_engines]) |
There was a problem hiding this comment.
[non-blocking] potential perf issue? My codex said.
original cost = max_i(pause_i + flush_i)
new cost = max_i(pause_i) + max_i(flush_i)
Seems trivial. non-blocking
guapisolo
left a comment
There was a problem hiding this comment.
Approving this PR for the #2176 safe-merge checkpoint. It completes the trainer-side migration from Ray actor API shells to direct SGLangApiClient calls while keeping engine process lifecycle ownership and synchronization explicit. I left a non-blocking performance question about the stronger fleet-wide pause/flush barrier, but no blocking finding remains through the checked chain tip.
Part of #1837