Skip to content

Conversation

@caiomcbr
Copy link
Contributor

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for synchronous initialization of the proxy service by introducing a mechanism to wait for the proxy thread to fully start and initialize before proceeding. This ensures that operations depending on the proxy being ready can safely proceed.

  • Adds a new isStarted() method to Proxy and ProxyService classes that blocks until the proxy thread has started
  • Introduces an atomic_bool threadStarted flag to track the proxy thread initialization state
  • Integrates the synchronous wait in the Executor initialization to ensure the proxy is ready before use

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/proxy.cc Adds threadStarted flag and isStarted() method implementing busy-wait synchronization
include/mscclpp/proxy.hpp Declares new isStarted() method in Proxy class
src/port_channel.cc Adds isStarted() wrapper method in ProxyService
include/mscclpp/port_channel.hpp Declares new isStarted() method in ProxyService class
src/executor/executor.cc Calls isStarted() after starting proxy to ensure initialization completes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Nov 11, 2025

@caiomcbr I've opened a new pull request, #681, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

src/proxy.cc:49

  • The new blocking parameter is used in executor.cc but there is no test coverage for the blocking behavior of Proxy::start(). Consider adding a test that verifies the proxy thread is fully initialized after start(true) returns, similar to the existing proxy tests in test/unit/local_channel_tests.cu or test/mp_unit/port_channel_tests.cu.
  auto initFunc = [cudaDevice, deviceNumaNode]() {
    MSCCLPP_CUDATHROW(cudaSetDevice(cudaDevice));
    if (deviceNumaNode >= 0) {
      numaBind(deviceNumaNode);
    }
  };

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@caiomcbr caiomcbr force-pushed the caiorocha/proxy_start branch from ad2d756 to 8e89715 Compare November 13, 2025 02:13
@caiomcbr caiomcbr merged commit eb20278 into main Nov 13, 2025
26 checks passed
@caiomcbr caiomcbr deleted the caiorocha/proxy_start branch November 13, 2025 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants