Use InfiniBand RDMA split storage & compute

简介:
RDMA是一种特殊的协议,主要用于IB网络,高吞吐量,低延迟的远程存储访问。并且不需要耗费CPU时间,不需要在应用内存和内核内存直接拷贝数据。
一般可被用于大型的网络存储访问。或者有利于将计算资源和存储资源分离,使用RDMA提供低延迟和高吞吐量, 降低CPU开销。
下面是关于drma的介绍。
In  computing remote direct memory access  ( RDMA ) is a  direct memory access  from the  memory  of one computer into that of another without involving either one's  operating system . This permits high-throughput, low- latency  networking, which is especially useful in massively parallel  computer clusters .

RDMA supports zero-copy networking by enabling the network adapter to transfer data directly to or from application memory, eliminating the need to copy data between application memory and the data buffers in the operating system. Such transfers require no work to be done by CPUscaches, or context switches, and transfers continue in parallel with other system operations. When an application performs an RDMA Read or Write request, the application data is delivered directly to the network, reducing latency and enabling fast message transfer.

However, this strategy presents several problems related to the fact that the target node is not notified of the completion of the request (1-sided communications).

Much like other high performance computing (HPC) interconnects, RDMA has achieved limited acceptance as of 2013 due to the need to install a different networking infrastructure. However, new standards[specify] enable Ethernet RDMA implementation at the physical layer using TCP/IP as the transport, thus combining the performance and latency advantages of RDMA with a low-cost, standards-based solution.[citation needed] The RDMA Consortium and the DAT Collaborative[1] have played key roles in the development of RDMA protocols and APIs for consideration by standards groups such as the Internet Engineering Task Force and the Interconnect Software Consortium.[2]

Hardware vendors have started working on higher-capacity RDMA-based network adapters, with rates of 40Gbit/s reported.[3][4] Software vendors such as Red Hat and Oracle Corporation support these APIs in their latest products, and as of 2013 engineers have started developing network adapters that implement RDMA over Ethernet. Both Red Hat Enterprise Linux and Red Hat Enterprise MRG[5] have support for RDMA. Microsoft supports RDMA in Windows Server 2012 via SMB Direct.

Common RDMA implementations include the Virtual Interface ArchitectureRDMA over Converged Ethernet (RoCE),[6] InfiniBand, and iWARP.

如果你的系统中有支持RDMA的适配器,你可以尝试使用它,例如从Red Hat 6开始支持NFS over RDMA。
这是一种对应用透明的远程存储访问方法。
配置方法也很简单。

9.7.5. NFS over RDMA

To enable the RDMA transport in the linux kernel NFS server, use the following procedure:
?

Procedure 9.2. Enable RDMA from server

  1. Ensure the RDMA rpm is installed and the RDMA service is enabled with the following command:
    # yum install rdma; chkconfig --level 2345 rdma on
  2. Ensure the package that provides the nfs-rdma service is installed and the service is enabled with the following command:
    # yum install rdma; chkconfig --level 345 nfs-rdma on
  3. Ensure that the RDMA port is set to the preferred port (default for Red Hat Enterprise Linux 6 is 2050). To do so, edit the  /etc/rdma/rdma.conf file to set NFSoRDMA_LOAD=yes and NFSoRDMA_PORT to the desired port.
  4. Set up the exported filesystem as normal for NFS mounts.
On the client side, use the following procedure:
?

Procedure 9.3. Enable RDMA from client

  1. Ensure the RDMA rpm is installed and the RDMA service is enabled with the following command:
    # yum install rdma; chkconfig --level 2345 rdma on
  2. Mount the NFS exported partition using the RDMA option on the mount call. The port option can optionally be added to the call.
    # mount -t nfs -o rdma,port=port_number
还有一种方法是使用SDP,也是对应用透明的。
可参考

[参考]
相关文章
|
5天前
|
固态存储 网络协议 Linux
SPDK NVMe-oF Target
SPDK NVMe-oF Target
SPDK NVMe-oF Target
|
5天前
|
存储 监控 数据处理
NAS(Network Attached Storage,
NAS(Network Attached Storage,网络附加存储)是一种用于在网络上共享存储设备的存储架构。NAS设备通常是一个独立的设备,可以通过网络连接到多个客户端,并提供文件级别的存储和访问。NAS设备通常使用NFS或SMB协议来提供文件级别的访问,可以用于存储和共享各种类型的数据,例如文档、图像、视频等。
46 2
|
10月前
|
存储 网络协议 Unix
NAS(Network Attached Storage)
NAS(Network Attached Storage)是一种网络存储设备,它可以通过网络连接提供数据存储和共享服务。NAS通常具有独立的操作系统和文件系统,可以通过网络协议(如NFS、CIFS、FTP等)提供文件共享、备份、存储等功能,这些功能可以被多个设备或用户同时访问和使用。
220 1
|
12月前
|
存储 Linux API
「网络架构」OpenStack 脊页网络(Spine Leaf Networking) 介绍
「网络架构」OpenStack 脊页网络(Spine Leaf Networking) 介绍
|
存储 文件存储
NAS(Network Attached Storage,网络附属存储)是可以支持快照功能的
NAS(Network Attached Storage,网络附属存储)是可以支持快照功能的
240 0
|
分布式计算 Spark
《Acceleration of Generic SPARK Workloads via a “Sea of Cores” Scalable Compute Fabric》电子版地址
Acceleration of Generic SPARK Workloads via a “Sea of Cores” Scalable Compute Fabric
58 0
《Acceleration of Generic SPARK Workloads via a “Sea of Cores” Scalable Compute Fabric》电子版地址
|
RDMA
rdma
rdma
1024 0