RMDA技术概述
- RDMA(英文全称:Remote Direct Memory Access ),意思是远程直接内存访问,这种技术是一种最早应用于高性能计算领域的网络通讯协议,目前已在数据中心当中得到广泛应用。
- RDMA允许用户程序绕过操作系统内核(CPU ),直接和网卡交互进行网络通信,从而提供高带宽和极小时延。
- RDMA网卡释放CPU的负载
- 传统TCP/IP在数据包处理时,要经过OS及其他软件层,需要占用大量的CPU资源和内存总线带宽,数据在系统内存、CPU缓存和网络控制器缓存之间来回进行复制移动,给服务器的CPU和内存造成了沉重负担。尤其是网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。
- RDMA实际上是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过将RDMA协议固化于硬件(即网卡)上,以及支持Zero-copy和Kernel bypass这两种途径来达到其高性能的远程直接数据存取的目标。
- 零拷贝(Zero-copy):应用程序能够直接执行数据传输,无需涉及到网络软件栈的情况下。数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收。
- 内核旁路(Kernel bypass)-应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换。
- 设备的CPU除在连接建立、注册调用等之外,在整个RDMA数据传输过程中并不提供服务,因此没有带来任何负载
-具体协议:IB,IWarp,RoCE
- 一、IB:RDMA原生的网络协议,通过专用硬件实现最优的性能。但是由于专用硬件的原因,即Infiniband要求从L2到L4倒需要自己的专用硬件,设备成本非常高,现在做InfiniBand网络的厂商主要是Mellanox。
- 二、RoCE
RoCE基于以太网链路层的协议,v1版本网络层仍然使用了IB规范,而v2使用了UDP+IP作为网络层,使得数据包也可以被路由。RoCE可以被认为是IB的“低成本解决方案”,将B的报文封装成以太网包进行收发。由于RoCE v2可以使用以太网的交换设备,所以现在在企业中应用也比较多,但是相同场景下相比IB性能要有一些损失。 - 三、iWARP
Internet Wide Area RDMA Protocal,基于TCP/IP协议的 RDMA技术,由IETF标准定义。iWARP支持在标准以太网基础设施上使用RDMA技术,而不需要交换机支持无损以太网传输,但服务器需要使用支持iWARP的网卡。与此同时,受 TCP影响,性能稍差。
SAS协议概述
SAS(Serial Attached SCSI)即串行SCSI技术,是一种磁盘连接技术,它综合了并行SCSI和串行连接技术(如FC、SSA、IEEE1394等)的优势,以串行通讯协议为协议基础架构,采用SCSI-3扩展指令集,并兼容SATA设备,是多层次的存储设备连接协议栈。