RDMA高速低延时网络:流动缓存背后的功臣

简介:

戴尔Fuild Cache for SAN,在服务器闪存缓存与SAN阵列的集成方面可谓独树一帜。相信一些读者对该技术已经不陌生,除了那500万IOPS的Demo之外,网上也能找到相关资料和分析的文章,如:《性能与ILM的平衡:服务器闪存缓存的思考》。今天我们想回顾一下Fuild Cache for SAN的独特技术优势,以及在流动缓存背后的功臣——RDMA高速低延时网络。

如果说PCIe/ NVMe打通了主机内部CPU与闪存之间通道的话,那么RDMA over InfiniBand或者RoCE则能够有效改善跨节点的闪存访问性能。

Fuild Cache for SAN的独特优势

1 SAN整合

尽管有多家厂商都宣称他们的服务器闪存缓存软件,可以配合后端SAN存储使用,但许多也标明了只是单机读缓存。除了戴尔Fuild Cache for SAN之外,具备分布式缓存一致性和RAC支持的寥寥无几。

这里要强调一下,早期的Server Flash Cache软件通常不支持像Oracle RAC这样的双活(Active/Active)集群访问,简单说就是当一台服务器向后端共享存储中写入数据时会锁定整个LUN。而Oracle RAC需要的是传统SCSI-3规范的细粒度锁机制,一个LUN上的不同LBA允许同时接受来自多个服务器的写操作。

分布式缓存一致性解决的就是协同,或者说数据一致性。如果由一台服务器改写了后端LUN内的数据,在另一台服务器上Flash Cache内也有对应的数据块,需要做过期处理,也就是说要维护一个同步的缓存元数据索引。

Server Cache Pool——戴尔将Fuild Cache for SAN称为缓存池,是因为一台服务器闪存缓存中的数据可以供集群中别的服务器加速存储访问,而后者并不是必须要作为这个闪存缓存池的贡献者。

2 Server Cache Pool

戴尔将Fuild Cache for SAN称为缓存池,是因为一台服务器闪存缓存中的数据可以供集群中别的服务器加速存储访问,而后者并不是必须要作为这个闪存缓存池的贡献者。

3 异构服务器访问

既然Fuild Cache for SAN网络中不是每个服务器节点都需要配置闪存缓存(最少2个贡献节点+1个仲裁节点),那么也就允许第三方服务器加入集群。

4 Write-back(写回)缓存支持

尽管一家戴尔友商曾表示将支持write back写缓存,但直到去年我们也没有看到这一功能的发布。

闪存一旦用于读&写缓存,和自动分层存储已经有相似之处。只是数据是否最终要持久化到后端的问题,因为这时闪存中的待写入数据必须保证可靠性和高可用性。

这就涉及到本文的重点——RDMA网络。为了缓存池中的全局访问,还有把每台服务器的闪存写缓存镜像到其它节点以实现冗余,最好能有一个低延迟的专用高速网络。


5 低延时专用互连网络

戴尔Fuild Cache for SAN需要配置专用的40Gb或者10Gb RoCE(RDMA over Coverge Ethernet)缓存通信网络,RoCE在相同速率下的性能/延时表现可以媲美InfiniBand。我们看到部分多控制器的高端存储阵列,其节点间就是用IB网络互连,而戴尔Fuild Cache for SAN的闪存缓存池更加靠近服务器,取得更好的性能也在情理当中。

延时大跳水:绕开TCP/IP协议栈开销

 

如上图,我们看到40GbE和10GbE交换网络的物理延迟(当然不包括TCP/IP)分别只有0.6和0.8微秒,RoCE(RDMA over Coverge Ethernet)的延迟也不到1微秒。这里我理解的应该是主机到交换机。

直行何必绕弯——看RDMA如何工作

来自去年闪存峰会资料的这张图,简明的解释了RDMA over IB和RoCE的好处:从User层(用户态)绕过Kernel层(内核态),直接走InfiniBand HCA或者RoCE网卡从网络发送数据;即从应用的buffer缓冲,绕过了OS的接收和发送buffer,甚至网卡上都可以不再做buffer。当然,我们前面提到的另外一点——绕开TCP/IP也是改善性能的重要因素。

从RNA内存虚拟化到Fuild Cache for SAN

上图来自Mellanox 2011年的资料,Mellanox是最大的InfiniBand网络设备制造商,也是RoCE的主要发起者。戴尔与Mellanox在高性能计算和存储方面有着紧密的合作。

RNA这家公司已于同年被戴尔收购,上面的对比数字是他们之前的MVX内存虚拟化产品在RoCE和TCP/IP网络下的延时对比。注意这里是应用级Benchmark和Round Trip延时,当时使用的ConnectX-2是10Gb万兆网卡。从测试结果来看,RoCE延时只有TCP/IP网络的1/3多一点。

值得一提的是,Fuild Cache for SAN正是RNA的技术融入戴尔之后推出的产品,将RoCE高速网络与PowerEdge服务器上ExpressFlash NVMe PCIe SSD的优势结合起来,相得益彰。
  


本文转自d1net(转载)

相关文章
|
机器学习/深度学习 网络协议 异构计算
浅析GPU通信技术(下)-GPUDirect RDMA
目录 浅析GPU通信技术(上)-GPUDirect P2P 浅析GPU通信技术(中)-NVLink 浅析GPU通信技术(下)-GPUDirect RDMA 1. 背景         前两篇文章我们介绍的GPUDirect P2P和NVLink技术可以大大提升GPU服务器单机的GPU通信性...
28712 0
|
程序员
阿里技术高P访谈之“呆萌”程序员蒋晓伟为何从Facebook到阿里巴巴
跟蒋晓伟约在一个下午进行访谈,他的花名叫量仔,这个名号让笔者的第一感觉是“高富帅”。然而,当见到本尊之后,才发现他完全就是一个“呆萌”版的程序员,这也印证了其在阿里巴巴内网上的标签——“头像蛮萌的”。
10703 2
|
缓存 人工智能 算法
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
3574 0
|
算法
海明码详解
本文详细介绍了海明码(Hamming Code)的概念、原理和应用,包括信息位与校验位的关系、校验位的计算方法、错误检测与纠正过程,并通过实例展示了如何使用海明码进行编码,突出了海明码在提高数据传输可靠性方面的重要性。
1312 0
海明码详解
|
安全 物联网
物联网卡锁卡是一个常见的问题,处理这类问题时,可以根据锁卡的具体原因采取相应的解决措施。以下是一些常见的物联网卡锁卡原因及其处理方法
物联网卡在使用的话过程中出现锁卡问题原因以及处理办法: 如锁卡,由于更换设备、长期未使用或者风险地区使用等原因触发的停机或管控,应及时与购卡公司或运营商联系处理。
|
存储 网络协议 数据中心
|
消息中间件 存储 监控
消息队列原理和选型:Kafka、RocketMQ 、RabbitMQ 和 ActiveMQ
常用的消息队列主要这 4 种,分别为 Kafka、RabbitMQ、RocketMQ 和 ActiveMQ,主要介绍前三,不BB,上思维导图!
3447 0
消息队列原理和选型:Kafka、RocketMQ 、RabbitMQ 和 ActiveMQ
|
负载均衡 应用服务中间件 nginx
深入探索微服务架构中的服务发现机制
在当今微服务架构盛行的背景下,服务发现成为了保证系统高效运行的关键技术之一。本文将深入探讨服务发现的概念、重要性以及实现方式,通过对比不同服务发现机制的优劣,为读者提供在微服务架构设计中做出合理选择的参考。文章首先介绍了服务发现的基本概念和作用,随后详细分析了客户端发现和服务端发现两种主流机制,并以Eureka、Consul、Zookeeper等常见服务发现工具为例,展开讨论。最后,文章还探讨了服务发现在微服务架构中面临的挑战和未来发展趋势,旨在为微服务架构的设计和实施提供全面而深入的指导。
|
网络安全 数据安全/隐私保护
SSH远程免密登录的两种方式
服务器之间经常需要有一些跨服务器的操作,此时就需要我们在一台服务器上登录到另外一台服务器,若是人为操作时我们都可以每次输入密码进行远程登录,但要是程序需要跨服务器时,每次输入密码就不现实了,所以我们需要免密登录
24489 0
SSH远程免密登录的两种方式