Skip to content

[Performance]: Performance Bottleneck in Mooncake PD Disaggregation: tensorhash() and safetensor_save() Overhead #20009

Open
@SongzzZ

Description

@SongzzZ

Proposal to improve performance

Hi team,

I've been conducting performance tests on vllm PD Disaggregation using mooncake_store_connector, and found that the most time-consuming parts are not the actual put() operations, but rather:

Based on profiling traces, these two steps dominate the runtime during PD disaggregation, more than the actual storage or network transmission:
Image

Observations:

tensorhash() seems to repeatedly compute SHA256 hashes over possibly large tensors.
safetensor_save() is used per tensor and appears to serialize, which is expensive when invoked frequently.

Questions:

Maybe we could parallelize the hash computation using multithreading?
Is there any alternatives for safetensor_save()?

Thanks!

Report of performance regression

No response

Misc discussion on performance

No response

Your current environment (if you think it is necessary)

The output of `python collect_env.py`

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancePerformance-related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions