Java 7 SDP

名词解释:

  • RDMA,Remote Direct Memory Access,远程直接内存存取。为低延迟应用提供了一种协议,可以直接访问其他计算机的内存,而不需要操作系统的参与。
  • InfiniBand: InfiniBand (IB) 是一项新的基于交换光纤结构的 I/O 技术。 它为将 I/O 设备连接到主机以及主机到主机通信提供了高带宽、低延迟的互连。InfiniBand提供了对RDMA的支持。
  • SDP:Sockets Direct Protocol,套接字直接协议。是一种网络协议用于支持在InfiniBand连接上的流连接。

概览

SDP本质上是一种TCP绕过技术。当SDP允许时,一个应用程序尝试打开一个TCP连接,TCP机制被绕过了,通信直接到IB网络。

当应用程序尝试绑定到一个TCP地址时,底层软件根据配置文件里的信息决定是否重新绑定到一个SDP协议。这个过程可以在绑定过程或连接过程(但对每个连接只发生一次)。

不需要修改应用代码里的API就可以利用SDP协议:实现是透明的并被经典网络(java.net)和NIO(java.nio.channels)包支持。

SDP默认是禁止的,开启步骤:

  • 创建一个SDP配置文件;
  • 设置系统属性指向配置文件路径。

继续阅读