英特尔® 傲腾™ 持久内存是一款革命性的持久内存产品,补齐了DRAM与磁盘之间的需求缺口,重构内存/存储层次架构,集大容量、经济性和持久性于一身,帮助用户优化数据中心基础设施,满足大数据分析、数据库、云与虚拟化、分布式存储等多种应用场景需求。为了帮助用户通过傲腾持久内存来实现应用创新优化,助力企业业务系统实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存的多种场景方案,本方案是基于英特尔® 傲腾™ 持久内存200系列的VMware vSphere应用方案。
VMware vSphere 是业界领先且最可靠的虚拟化平台之一。vSphere将应用程序和操作系统从底层硬件分离出来,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心,从而简化IT操作,确保业务连续性、降低IT 硬件和运营成本。
图1:VMware vSphere架构图
vSphere的两个核心组件是ESXi和vCenter Server。ESXi是用于创建并运行虚拟机和虚拟设备的虚拟化平台。vCenter Server是一项服务,用于管理网络中连接的多个主机,并将主机资源池化。
挑战:资源需求和成本压力
VMware vSphere虚拟机可用内存由EXSi主机的内存容量定义,而VMware vSphere的内存容量受限于服务器主机,每一台服务器的内存插槽数量、支持内存容量等极大的限制了内存容量扩展,在内存容量增长到一定程度后将出现瓶颈。如果要进一步对于内存容量进行扩展,传统的解决方案一般有两种方式:一是使用大容量的内存条,二是扩展服务器节点数量。但是,这两种方法都带来成本压力。对于前者来说,价格随容量的提升成指数级增长;对于后者来说,扩展服务器节点来提升内存池的容量,这样资源不是按需扩展,同时这些服务器的采购、空间占用、运维、供电成本无疑也会显著增加。我们需要更经济的方式来扩展内存容量以创建更多的虚拟机,提升单台服务器的资源利用率。
英特尔® 傲腾™ 持久内存创新性解决方案新增内存扩展方式专为打破服务器内存容量限制而优化,补齐了DRAM内存与磁盘之间的需求缺口,打造高性能、大容量的持久内存层,有助于更加高效地挖掘数据的潜在价值。
图2:英特尔® 傲腾™ 持久内存存储层
英特尔®傲腾™持久内存新一代产品200系列(Barlow Pass,即BPS)基于第三代英特尔®至强®可扩展处理器优化,容量有128GB、256GB和512GB三种。相对于上一代100系列产品,Ice Lake平台单颗CPU容量最大支持到4TB,内存频率提升至3200MT/Sec,单通道平均性能提升25%。
英特尔®傲腾™持久内存200系列具有两种工作模式:内存模式(MM)和App Direct 模式(AD)。
内存模式,CPU内存控制器将所有英特尔®傲腾™持久内存200系列视为易失性系统内存(无数据持久性),以更低的成本提供更大的内存容量,无需更改应用,并且性能接近 DRAM。
App Direct模式,能够实现较大内存容量和数据持久性,支持持久内存编程,软件和应用能够直接与英特尔®傲腾™持久内存通信,降低了堆栈的复杂性,并充分利用缓存一致性的字节可寻址特性,将持久内存的使用扩展到本地节点之外;App Direct模式提供一致的低延迟,同时支持更大的数据集。
图3:英特尔®傲腾™持久内存工作模式
PMem与vSphere结合应用中,PMem的MM模式像传统DRAM内存一样供vSphere使用,提供更大的内存容量;PMem的AD模式交由vSphere统筹管理。PMem(AD)映射到VM中有两种方式:
1. vPMEMDisk:vSphere将PMem显示为连接到VM的常规磁盘。利用此模式不需要对guest操作系统或应用程序进行任何更改。pedis配置仅可在vSphere中使用,而在裸机操作系统中不可用。
2. vPMEM:vSphere将PMem作为NVDIMM设备呈现给VM。大多数最新的操作系统(例如,Windows Server 2016和RHEL 7.4)支持NVDIMM设备,并可将其作为块或字节可寻址设备提供给应用程序。应用程序可以通过直接访问(DAX)文件系统的薄层,或者通过从设备映射一个区域并以字节可寻址的方式直接访问它,将vPMEM用作常规存储设备。
图4:vSphere支持PMem架构图
本方案验证英特尔®傲腾™持久内存200系列在VMware vSphere平台下的性能。
BPS模式 |
对比项 |
测试项 |
测试说明 |
AD |
vNVMe vs BPS |
TPC-C |
分别作为Oracle 19c Redo Log存放介质 |
MM |
BPS vs DRAM |
TPC-H |
启用Oralce 19c的In-Memory特性,测试TPC-H |
表1:方案测试说明表
OLTP场景下,VM使用vNVMe、vPMEM(BPS)作为Oracle Redo Log存放介质,发挥PMem的高性能低延迟特性,优化提升数据库性能。
OLAP场景下,PMem(Memory Mode)直接作为虚拟化平台内存,启用Oracle 19c的In-Memory功能特性,与DRAM进行对比。
方案配置
配置一 |
配置二 |
|
CPU |
2*Intel(R) Xeon(R) Gold 6348 CPU @ 2.60GHz 28C |
|
Mem |
16*16GB DDR4 |
16*32GB DDR4 |
BPS |
8*128GB BPS |
- |
OS Disk |
2*480GB SSD(S4510,RAID1) |
|
NVMe |
2*P4510 2TB |
表2:方案配置对比表
测试使用一台浪潮NF5280M6服务器,VMware vSphere作为虚拟化平台,在VM中部署Oracle 19c数据库,使用数据库压力工具HammerDB测试TPC-C、TPC-H。
对比测试中,内存及BPS具体插法如下图:
图5:方案对比图
测试结果
TPC-C
TPC-C测试所得TPM性能结果见下图(图6):
图6:vNVMe vs vPMem性能对比图
vNVMe、vPMEM分别作为online redo log盘,vPMEM较vNVMe性能平均提升63%。
TPC-H
TPC-H 取5次测试结果平均值见下图(图7):
图7:DRAM vs BPS性能对比图
BPS MM模式作为内存,较DRAM测试平均用时长约9%,即BPS MM性能是DRAM的91%。
在VMware vSphere的场景下,英特尔®傲腾™持久内存AD模式高性能低延迟,有效提高数据库性能;在内存模式使用中,获得了与DRAM相近的性能收益,大幅降低内存成本。运用英特尔®傲腾™持久内存技术,可以在具有高性能大容量的虚拟环境中整合平台上的更多虚拟机,增加虚拟机密度,为更多服务及用户提供支持。