Skip to content

Clean up server launch code and multi tokenizer#12132

Merged
merrymercy merged 13 commits intomainfrom
lianmin/clean-multi-tokenier
Oct 25, 2025
Merged

Clean up server launch code and multi tokenizer#12132
merrymercy merged 13 commits intomainfrom
lianmin/clean-multi-tokenier

Conversation

@merrymercy
Copy link
Contributor

Simplify many redundant logics around server launch and multi-tokenizer

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @merrymercy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on simplifying and streamlining the server launch process and multi-tokenizer initialization logic. It centralizes configuration and setup steps, particularly for inter-process communication and tracing, reducing redundancy and improving code clarity. The changes also include a minor performance-related adjustment for CUDA connections and cleaner logging messages.

Highlights

  • Server Launch Refactoring: The _launch_subprocesses function now consistently returns port_args, simplifying inter-process communication (IPC) port management and removing redundant PortArgs.init_new calls in Engine initialization.
  • Multi-Tokenizer Initialization Streamlining: The http_server.py has been refactored to centralize API key authorization, Prometheus middleware, and tracing initialization within the lifespan function, ensuring consistent server setup for both single and multi-tokenizer modes.
  • CUDA Connection Limit Increase: The CUDA_DEVICE_MAX_CONNECTIONS environment variable has been increased from 4 to 8, which may improve performance for certain CUDA-related operations.
  • PortArgs Refinement: The PortArgs.init_new method now conditionally creates a tokenizer_worker_ipc_name only when multiple tokenizer workers are configured, making port allocation more precise.
  • Minor Code Cleanups: Unnecessary TYPE_CHECKING imports and associated blocks have been removed, and logging messages for prefill and decode batches have been made more concise.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request focuses on cleaning up and simplifying the server launch logic, especially concerning the multi-tokenizer setup. The changes mostly involve refactoring to improve code structure and encapsulation, such as moving port allocation into the subprocess launching logic. While most of the changes are positive, I've identified a critical issue where the multi-tokenizer worker processes fail to initialize correctly due to the refactoring. I've also pointed out a minor inaccuracy in the documentation. The rest of the changes, including configuration updates and minor code style improvements, look good.

@merrymercy merrymercy merged commit 8e70064 into main Oct 25, 2025
37 of 70 checks passed
@merrymercy merrymercy deleted the lianmin/clean-multi-tokenier branch October 25, 2025 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments