-
Notifications
You must be signed in to change notification settings - Fork 2
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
Interested in experiments with Mellanox cards #1508
Comments
We had previous been told that you are using Solarflare on Linux and Mellanox on Windows. If our information is out of date then it is great to know this. We would be happy to explore options that work for you in this space. @mikeb01 has done our DPDK implementation and is getting a Mellanox setup to try this. |
Hi Martin, Yes, we are currently in progress of migrating some of our low latency Solarflare+Linux estate to Mellanox so are definitely interested in this. Windows is also generally on the way out so there is probably more Linux+Mellanox to come. Stephan |
Hi Stephan, I've managed to make some progress with integrating Mellanox's VMA with Aeron. It did require a couple of small tricks to get it to work as a non-root user. This doesn't yet make use of the zero copy or socket xtreme polling (that can come later) and it will be Linux only at this point. I could put together a build for testing (not production) early in the New Year if you are interested? Mike. |
That would be cool yeah. I don't think we are in a particular rush on our side so don't worry if it's a bit later as well. Would also be interesting to know what you are doing for the non-root workarounds. I think we were planning to use something based on ambient capabilities in the end. @chrisejones was working on that. |
Yeah, that’s right. We’re running the Java media driver from a wrapper that has the required capabilities and use ambient capabilities, so that Java inherits them. |
I've implemented this as a bindings plugin for the C driver and avoid requiring the LD_PRELOAD by loading I ran a quick ping/pong benchmark, with the ping host running a Mellanox ConnectX-5 and the pong host with an Intel 82598EB, so I was only able to get the VMA optimisations on the ping host. This seems to improve RTT by around 5µs. I haven't tuned the OS on these boxes so there is some noise in the long tail. |
A quick update on the VMA bindings. I've added support for zero copy recv now. I've looked into the socket xtreme polling, but I've put that on hold for the moment as the implementation will be more complicated. I've run into one issue with timestamps (Mellanox/libvma#976) which has been acknowledged. Would you be interested in me putting together a binary for testing (with the caveat around the timestamps not working)? I would also be happy to do a quick call to go over any questions that you may have around set up. |
Great thanks. We’re not currently using the C media driver. We’re hoping to find time to try it later in the year. We’ll contact you then to ask for binaries. |
Another quick update, we've resolved the issue with the VMA binding and timestamping, so all is working correctly now. Let us know when you have when you are ready to start experimenting with the C driver and VMA support and we can make binaries available. |
From a conversation with Martin:
I think we're actually more interested in this functionality on Linux boxes, since our future state will be Linux. A number of folks were interested in the subject, so adding them here so we can discuss: @UncleMattHope, @StephanDollberg, @chrisejones, @kastel.
The text was updated successfully, but these errors were encountered: