NVIDIA / NVIDIA/nccl

[Question]: NIC resiliancy/failover and VNICs

Open
#2,192 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
C++
Stars
5.1k
Forks
1.4k
Avg merge
2h 3m
Merged PRs (30d)
2

Description

Question

I have a few questions about NCCL failover feature and merged NICs, let me know what i got wrong in the first part where I explain my understanding.

Failover is expected to work when a send/recv communicator gets an error event and within it there is an extra device that can take the failed messages and the future traffic. Using single port NICs, by default, all these communicators have a single NIC, thus they cannot perform a failover. However we can merge two NICs into a merged VNIC and that might be used as a communicator for a channel.

If we have a DGXA100 with 8 GPUs and 8 NICs (single port) where 2 GPUs and 2 NICs share a PCIe switch we could merge the NICs from the same PCIe switch and theoretically failover would work. While testing this I've managed to get the 2 NICs to to merge but some channels still use the single VNICs while others use the merged ones. This causes failover to not be possible on this setup.

If we have a DGXH100 with the same configuration but each GPU has its own NIC then merging them would harm the common path as the merged VNIC will use mutliple PCIe switches. So failover with 2 NICs in this case is not optimal.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file or test is named. Start by reviewing NCCL's failover, communicator, channel, NIC, and merged-VNIC behavior described here, then determine whether mixed single-VNIC and merged-VNIC channel assignment is expected on DGXA100 and whether merging NICs across PCIe switches affects DGXH100 failover; done means documenting the confirmed behavior or a clearly scoped correction.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems, networking
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.