RDMA:VMware vMotion虚拟机迁移新模型

RDMA背景介绍:

什么是RDMA?

RDMA全称remote direct memory access。大家都知道DMA用来将让CPU从数据拷贝过程中解放,让更多的CPU资源用于计算。RDMA目的和DMA一样,RDMA作用于两台计算机之间的网络数据传输,DMA主要作用计算机内存和IO外设之间的数据传输。

 

 

RDMA有什么优势?

延迟低

参考上图,传统TCP/IP数据传输方式需要经过大量协议层,RDMA通过Kernel Bypass方式可以避免那些开销。市场上在售的Mellanox CX3 PCIe3 FDR HCA延迟小于1ms。

高带宽

经过测试,Mellanox CX3 PCIe3 FDR HCA 带宽可以超过50Gbps。

低CPU使用率

由于RDMA减少大量内核协议处理工作,数据实现零拷贝,因此计算机CPU使用率可以大大减少。

RDMA可用方案:

基于以太网(iWARP)

基于聚合网 (RDMA over Converged Network)

基于Infiniband (RDMA over infiniband)

RDMA常见应用场景:

RDMA常见使用场景包括:HPC高性能计算,集群数据库(IBM DB2 pureScale和Oracle ExaData/RAC),分布式文件系统(IBM GPFS和Lustre和Red Hat Storage Gluster),分布式Cache(Dell RNA),金融领域和大数据(Hadoop:Mellanox加速器)

vSphere可选 RDMA方案:

全功能模式DirectPath I/O passthrough

SR-IOV VF模式的DirectPath I/O passthrough

半虚拟化的RDMA HCA(vRDMA)

前两种方案现在已经可用,第三种方案还在开发中。

vMotion与RDMA:

vMotion是vSphere专门提供用于虚拟机在线迁移的功能,现有方案基于TCP/IP协议。由于虚拟机迁移最大的问题是需要在两台ESX/ESXi服务器之间同步虚拟机的内存,因此当虚拟机内存很大, 而且业务很繁忙时,虚拟机在线迁移会对ESX/ESXi服务器性能产生严重挑战。如果vMotion基于RDMA,可以在迁移过程实现数据零拷贝、低延迟、消除内核中TCP/IP的协议开销。

测试项目

SPECjbb2005 50GB workload

测试环境

Two HP ProLiant ML 350 G6 machines, 2x Intel Xeon (E5520, E5620), HT enabled, 60 GB RAM

Mellanox 40GbE RoCE cards •ConnectX-2 VPI PCIe 2.0 x8, 5.0 GT/s

56 GB, 4 vCPU Linux VM

测试结果

通过测试可以发现,基于RDMA在线迁移对比TCP/IP可以节省36%时间,带宽性能提升30%,迁移过程中源ESX服务器CPU使用率下降92%,目的ESX服务器CPU使用率下降84%。