我对JSOR和jVerbs都有基本的了解。RDMA上的Java套接字(JSOR)与Infiniband中的jVerbs性能
两者都处理JNI的限制并使用快速路径来减少延迟。它们都使用用户动词RDMA接口来避免上下文切换并提供快速路径访问。两者都可以选择零拷贝传输。
区别在于JSOR仍然使用Java Socket接口。 jVerbs提供了一个新的界面。 jVerbs还有一些称为有状态动词调用的内容,以避免重复序列化RDMA请求,这些请求会减少延迟。 jVerbs提供更原生的界面,应用程序可以直接使用这些界面。我阅读了jVerbs SoCC 2013论文,他们在jVerbs之上构建了jverbsRPC,并显示它显着减少了zookeeper和memcache操作的延迟。
两者的文档都表明它们比基于TCP/IP,SDP和IPoIB的常规Java套接字执行得更好。
我没有JSOR和jVerbs之间的任何性能比较。 我认为jVerbs可能比JSOR表现更好。但是,使用JSOR,我不必更改现有的代码,因为它仍然使用相同的Java套接字接口。我的问题是使用jVerbs相对于JSOR的性能收益。有没有人知道或有经验处理这两个?如果你有任何比较数据会很好。我找不到任何东西。