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

Implement IPv6 support for distributed XGBoost #7725

Open
ikriv opened this issue Mar 11, 2022 · 13 comments
Open

Implement IPv6 support for distributed XGBoost #7725

ikriv opened this issue Mar 11, 2022 · 13 comments

Comments

@ikriv
Copy link

ikriv commented Mar 11, 2022

Currently distributed XGBoost does not support IPv6, this is explicitly asserted in rabit/include/rabit/internal/socket.h
Our internal network is IPv6 only, which means we can't run XGBoost out of the box.

IPv6 is 20+ years old, and IPv4 is being phased out more and more as the time progresses. I think it is very important to enable IPv6 in XGBoost for more successful adoption.

@trivialfis
Copy link
Member

Hi @ikriv , thank you for raising the issue. Would you like to work on this?

@wuhy08
Copy link

wuhy08 commented Mar 17, 2022

@trivialfis I am also interested in this issue, could you point where we should start?

@trivialfis
Copy link
Member

I will take a deeper look into this.

@ikriv
Copy link
Author

ikriv commented Mar 21, 2022

Hi @ikriv , thank you for raising the issue. Would you like to work on this?

Hi. It's a possibility, but I can't fully commit right now :) That is, if someone else volunteers, I would be very grateful.

@trivialfis trivialfis added this to Need prioritize in 2.0 Roadmap via automation Mar 21, 2022
@trivialfis trivialfis moved this from Need prioritize to 2.0 in 2.0 Roadmap Mar 21, 2022
@trivialfis
Copy link
Member

trivialfis commented Mar 21, 2022

I will try to implement it after 1.6.

Note to myself:

  • Check NCCL support.
  • Change socket wrapper to support IPV6.
  • Implement it in Python tracker.
  • Possible change in Scala tracker.

@ikriv
Copy link
Author

ikriv commented Mar 21, 2022

Thank you so much, @trivialfis! I think Python tracker is already good (at least it does not complain loudly), it's the socket wrapper that insists on IPv4

@ikriv
Copy link
Author

ikriv commented May 2, 2022

Thanks for including this in 2.0 roadmap!
Q: is there an approximate ETA for 2.0 implementation (sorry if it's announced somewhere, I honestly searched :) )

@trivialfis
Copy link
Member

Not yet. I will update this thread.

@trivialfis trivialfis moved this from 2.0 TODO to 2.0 In Progress in 2.0 Roadmap Aug 31, 2022
@trivialfis
Copy link
Member

Hi, can anyone here help with providing guidance on testing IPv6 on a public cloud like AWS or GCP? I'm not an expert on network administrating and got lost in those cloud documents.

The draft PR is here: #8225 .

@trivialfis
Copy link
Member

I tested the code using GCP VM instances. Feel free to try it if you are interested in this.

@trivialfis trivialfis moved this from 2.0 In Progress to 2.0 Done in 2.0 Roadmap Mar 17, 2023
@zhangleiray007
Copy link

zhangleiray007 commented Jan 10, 2024

Q: I noticed the ipv6 support is on the 2.0 Roadmap. is there any plan or date for ipv6 support on pyspark :)

@trivialfis
Copy link
Member

Would be great if there people with expertise can help work on this. It takes some effort to setup a test environment in the CI and we don't have any admin.

@CrazyBinXXX
Copy link

Is spark ipv6 supported now? If not I'd like to contribute.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
2.0 Roadmap
  
2.0 Done
Development

No branches or pull requests

5 participants