Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UCP/WIREUP: Support reused lanes for EP reconfiguration #10244

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

shasson5
Copy link
Contributor

@shasson5 shasson5 commented Oct 21, 2024

What

Support reused lanes for EP reconfiguration.
Reused lanes means lanes we don't have to reconnect, but just use them as they are.
This usecase requires special handling in the code in order to allow reconfiguration of such scenarios.

Why ?

Part of EP reconfiguration feature.

@shasson5 shasson5 added Invalid The issue will be ignored WIP-DNM Work in progress / Do not review labels Oct 21, 2024
@shasson5 shasson5 changed the title UCP/WIREUP: Support reused lanes for EP reconfig UCP/WIREUP: Support reused lanes for EP reconfiguration Oct 21, 2024
@shasson5 shasson5 removed Invalid The issue will be ignored WIP-DNM Work in progress / Do not review labels Oct 21, 2024
@shasson5 shasson5 assigned yosefe and gleon99 and unassigned yosefe and gleon99 Oct 21, 2024
@shasson5
Copy link
Contributor Author

@yosefe @gleon99 please review

test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Show resolved Hide resolved
test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
@shasson5 shasson5 requested a review from gleon99 October 31, 2024 15:28
@gleon99
Copy link
Contributor

gleon99 commented Nov 11, 2024

@shasson5 please improve the description:
Clarify, what "reused" means in this context,
what is the problem this PR solves (what's the "gap"). what are "supported scenarios" etc

}

for (lane = 0; lane < key->num_lanes; lane++) {
if (ucp_ep_get_reused_lane_source(ep, lane, reuse_lane_map) ==
Copy link
Contributor

Choose a reason for hiding this comment

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

There is O(n^2) complexity here, let's try to avoid it.

@gleon99
Copy link
Contributor

gleon99 commented Nov 14, 2024

@shasson5 as discussed, please refactor the test to rely on parametrization of existing scenarios, rather then writing new test cases from scratch.

test/gtest/ucp/test_ucp_ep_reconfig.cc Outdated Show resolved Hide resolved
@@ -92,15 +103,25 @@ class test_ucp_ep_reconfig : public ucp_test {
if (sender().ucph()->num_tls <= 2) {
UCS_TEST_SKIP_R("test requires at least 2 ifaces to work");
}

check_reused_lanes_reconfigurable();
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it really needed in every init()?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

how else will you check if reuse_lanes can be run?

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean - is it needed in every type of test_ucp_ep_reconfig (every test case in this file)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it is required for the base class (test_ucp_ep_reconfig).

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