[GH-ISSUE #20] why enabling adaptive routing for normal internode kernels may lead to deadlocks or data corruption issues? #20

Closed
opened 2026-10-26 09:52:37 +00:00 by bsakaguchi · 6 comments
Owner

Originally created by @VincentHITlemon on GitHub (Feb 26, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/20

Enabling adaptive routing for normal internode kernels may lead to deadlocks or data corruption issues.

I think adaptive routing should be a simple network function, why enabling adaptive routing for normal internode kernels may lead to deadlocks or data corruption issues?

Originally created by @VincentHITlemon on GitHub (Feb 26, 2025). Original GitHub issue: https://github.com/deepseek-ai/DeepEP/issues/20 **Enabling adaptive routing for normal internode kernels may lead to deadlocks or data corruption issues.** I think adaptive routing should be a simple network function, why enabling adaptive routing for normal internode kernels may lead to deadlocks or data corruption issues?
Author
Owner

@LyricZhao commented on GitHub (Feb 26, 2025):

The remote receivers will judge the data arrival by a flag. For senders, they send tokens firstly, the flag secondly. With AR enabled, the flag could arrive before the data arrival. So the receivers may read the wrong data.

Later we will add AR support, cc @sphish

<!-- gh-comment-id:2684285874 --> @LyricZhao commented on GitHub (Feb 26, 2025): The remote receivers will judge the data arrival by a flag. For senders, they send tokens firstly, the flag secondly. With AR enabled, the flag could arrive before the data arrival. So the receivers may read the wrong data. Later we will add AR support, cc @sphish
Author
Owner

@GangLuICT commented on GitHub (Feb 27, 2025):

The remote receivers will judge the data arrival by a flag. For senders, they send tokens firstly, the flag secondly. With AR enabled, the flag could arrive before the data arrival. So the receivers may read the wrong data.

Later we will add AR support, cc @sphish

It seems few modification is needed to guarantee the consistency.
If so, why didn't you support AR from the begining?
Is it because that may introduce lower bandwidth?

<!-- gh-comment-id:2686681403 --> @GangLuICT commented on GitHub (Feb 27, 2025): > The remote receivers will judge the data arrival by a flag. For senders, they send tokens firstly, the flag secondly. With AR enabled, the flag could arrive before the data arrival. So the receivers may read the wrong data. > > Later we will add AR support, cc [@sphish](https://github.com/sphish) It seems few modification is needed to guarantee the consistency. If so, why didn't you support AR from the begining? Is it because that may introduce lower bandwidth?
Author
Owner

@LyricZhao commented on GitHub (Feb 27, 2025):

If so, why didn't you support AR from the beginning?

Because that's not very easy.

<!-- gh-comment-id:2686691631 --> @LyricZhao commented on GitHub (Feb 27, 2025): > If so, why didn't you support AR from the beginning? Because that's not very easy.
Author
Owner

@sphish commented on GitHub (Feb 27, 2025):

If so, why didn't you support AR from the beginning?

Because that's not very easy.

Specifically, supporting adaptive routing while maintaining high performance requires a completion-based notification mechanism. However, NVSHMEM does not natively provide such APIs, making the development more challenging.

<!-- gh-comment-id:2687003399 --> @sphish commented on GitHub (Feb 27, 2025): > > If so, why didn't you support AR from the beginning? > > Because that's not very easy. Specifically, supporting adaptive routing while maintaining high performance requires a completion-based notification mechanism. However, NVSHMEM does not natively provide such APIs, making the development more challenging.
Author
Owner

@wenduobaba commented on GitHub (Mar 6, 2025):

@sphish Just noticed this PR got merged https://github.com/deepseek-ai/DeepEP/pull/45 - IIUC now both normal and LL internode dispatch/combine support AR. Is that correct?

<!-- gh-comment-id:2703102690 --> @wenduobaba commented on GitHub (Mar 6, 2025): @sphish Just noticed this PR got merged https://github.com/deepseek-ai/DeepEP/pull/45 - IIUC now both normal and LL internode dispatch/combine support AR. Is that correct?
Author
Owner

@sphish commented on GitHub (Mar 6, 2025):

@sphish Just noticed this PR got merged #45 - IIUC now both normal and LL internode dispatch/combine support AR. Is that correct?刚刚注意到这个 PR 合并了 #45 - 按我的理解,现在 both normal 和 LL internode dispatch/combine 都支持 AR 了。这是正确的吗?

@wenduobaba Yes

<!-- gh-comment-id:2703863154 --> @sphish commented on GitHub (Mar 6, 2025): > [@sphish](https://github.com/sphish) Just noticed this PR got merged [#45](https://github.com/deepseek-ai/DeepEP/pull/45) - IIUC now both normal and LL internode dispatch/combine support AR. Is that correct?刚刚注意到这个 PR 合并了 [#45](https://github.com/deepseek-ai/DeepEP/pull/45) - 按我的理解,现在 both normal 和 LL internode dispatch/combine 都支持 AR 了。这是正确的吗? @wenduobaba Yes
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepEP#20
No description provided.