存储设备正面临着海量数据的“包袱”和计算系统的“压榨”,借用韩乔生老师的一句话,可谓“前有追兵,后有堵截”。
存储系统的高带宽和低延迟被越来越多超算领域用户所关注,例如在科学计算领域,系统要以极快的速度响应用户的请求,数据中心内任何一环导致的延迟,都会对结果成果的产生时间和准确度产生影响。
在高性能计算领域,RDMA技术已经得到验证并且进行了一定范围的应用。随着大数据与人工智能的高速发展,RDMA技术也将在企业用户内得到推广。
RDMA是什么
RDMA是远程直接内存访问,是为了解决网络传输中服务器端数据处理的延迟而产生的。在对方主机CPU不参与的情况下远程读写异地内存,无内核干预和内存拷贝发生。
RDMA的优势
传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,给服务器的CPU和内存造成了沉重负担。尤其是网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。
而RDMA的原理是利用栈旁路和零拷贝技术提供的低延迟特性,而减少了CPU占用,减少了内存带宽瓶颈,提供了更高的带宽利用率。RDMA提供了基于IO的通道,这种通道允许一个应用程序通过RDMA设备对远程的虚拟内存进行直接读写。
RDMA技术被三种网络协议所支持:
1.Infiniband(IB):支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要使用RMDA专用网卡与交换机,从硬件级别全面支持RDMA。
2.RDMA OVER Converged Ethernet(RoCE):基于现有的以太网实现RDMA,底层网络包头部是普通的以太网包头,上层网络包头部是Infiniband包头,因此RoCE只需要专有的支持RoCE网卡,就可以在标准以太网基础架构(交换机)上实现RDMA。
3.Internet Wide Area RDMA Protocol(iWARP): iWARP直接将RDMA实现在了TCP上,这允许在标准以太网基础架构(交换机)上使用RDMA,这种方案需要配置支持iWARP的特殊网卡。
所以商业化的存储公司,都会完美的去适配RDMA。而且都会支持通过InfiniBand,RoCE或TCP来实现客户端到存储服务端的数据交互,以及存储集群节点之间的数据传输。
欢迎关注我的公众号:新爷话数据。与我一起来讨论数据的那些事~