Skip to content

Question: Support different numbers of NPU in Prefill and Decode instance with PD-Disaggregation scenario? #23

Description

@zuiaikugua

Thanks for your excellent work!

Currently, I'm studying the PD-disaggregation scenario. I found there is single_node_pd_instance.json in the cluster_configure directory. In this configuration, the prefill instance and decode instance have the same number of NPUs. And the PD-Disaggregation example works!

I tried to simulate the PD-disaggregation with different NPUs in Prefill and Decode instance. For example, there are 4 NPUs in Prefill instance and 8 NPUs in Decode instance.
In my understanding, LLMServingSim adopts the AstraSim simulator as backend. The AstraSim uses the basic topology (Ring, FullConnect, Switch) to compose a multi-dimension topology. In the PD-disaggregation scenario (Prefill has 4 NPUs, Decode has 4 NPUs), LLMServingSim constructs a two-dimension topology as the following.

topology: [FullyConnected, FullyConnected]
npus_count: [4, 2]
bandwidth: [112.0, 112.0]
latency: [0.0, 0.0]

In a two-dimension topology, the first dimension must have the same number of nodes in AstraSim network.

When the Prefill and Decode instance have different numbers of NPUs, how can we configure the AstraSim network? Is it possible to build the network to support this scenario in AstraSim?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions