Git Product home page Git Product logo

Comments (5)

PepperJo avatar PepperJo commented on June 19, 2024

You should expect latency slightly higher than native maybe around 5-10us overhead max.
The code snippet you posted is problematic as you should post the receive request before the send is issued. Worst case the send from the other side is issued before the receive is posted and you will run into retries or on some transports your connections will be aborted.
I recommend running the benchmarks provided here: https://github.com/zrlio/disni/tree/master/src/test/java/com/ibm/disni/benchmarks

from disni.

bburas avatar bburas commented on June 19, 2024

I refactored the original benchmark code you reference into separate

  1. init and connect
  2. send msg to server and recv response from server

but I still use the CustomClientEndpoint. The CustomClientEndpoint::init() does a pre post recv request as the last line:
System.out.println("SimpleClient::initiated recv");
this.postRecv(wrList_recv).execute().free();
But as you mentioned, if I run the benchmark code directly using the default 1000 loops I do see about 40us average which is not bad.
java com.ibm.disni.benchmarks.RDMAvsTcpBenchmarkClient -a 192.168.0.37 -p 20886 -s 1024

SimpleClient::initiated recv
RDMAvsTcpBenchmarkClient::client channel set up
RDMA result:
Total time: 38.721645 ms
Bidirectional bandwidth: 0.04925794430511669 Gbytes/s
Bidirectional bandwidth: 0.3940635544409335 Gbits/s
Bidirectional average latency: 0.038721645 ms

from disni.

PepperJo avatar PepperJo commented on June 19, 2024

I recommend running more than just 1000 loops. 38ms total runtime is probably not enough to get stable/good performance. You have to keep in mind that in Java it takes a while until all code path are JIT compiled so initially there is a lot more overhead.

from disni.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.