-
Notifications
You must be signed in to change notification settings - Fork 541
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
Why not using RDMA WRITE( with imm) or RDMA READ to avoid additional memory copy? #174
Comments
@zpcalan |
@ymjiang Thanks for your reply! I will go deep into the code later. For now I have two questions: |
The overhead of push/pull is mainly in network transmission (not in ps-lite processing). Networking overhead could be large, depending on your workload. If you use RDMA rather than TCP, the overhead will be lower. You can refer to the comparison between ZeroMQ and the IBverbs implementation here: #124 (comment). In this test, we use a communication-intensive workload to show the effectiveness of RDMA.
Could you paste the error here? Does it fix the error if you add |
Thanks for your tips for question 1!
local.sh
How to run: And I get the error in server side:
After I add |
@zpcalan Thank you for the reports. Looks like it is a bug. |
No, there's no problem when I use ZMQ. |
@zpcalan I see, sorry for overlooking this. Thank you very much for finding this bug. Would you create a PR to fix |
@ymjiang You are welcome. |
Hi developers of dmlc.
Recently I've been working with ps-lite. I find out that in the operation of
KVWorker::Pull
, there maybe some memory copy operations that may cause performance overhead:In my opinion, code
msg.AddData
holds back the communication between woker and server.If using RDMA WRITE( with imm) or RDMA READ, we can exchange the address by out-of-band communication in the beginning, then do PULL and PUSH on these addresses.
This is just my thought. Please correct me if I'm wrong or I miss some details.
By the way, the function
Van::PackMetaPB
used by IBVERBS missespb->set_pull(meta.pull);
which is in the function ofVan::PackMeta
used by ZMQ. This will cause the error when running the test caseps-lite/tests/test_kv_app.cc
using IBVERBS.The text was updated successfully, but these errors were encountered: