英特尔® 傲腾™ 持久内存是Intel在2019年发布的一款革命性的产品,英特尔® 傲腾™ 持久内存是一种全新的内存类型,其架构设计旨在从数据中心中汲取更多价值,重构数据中心内存/存储层次结构。不同于传统的DRAM,英特尔® 傲腾™ 持久内存集大容量、经济性和持久性于一身,能够支持数据中心多个应用场景。浪潮基于英特尔® 傲腾™ 持久内存做了大量的应用场景解决方案,覆盖大数据分析、数据库、云与虚拟化、分布式存储等应用场景。为了帮助用户通过更加灵活的架构来实现创新型的应用,助力企业实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存技术的Kudu应用方案。
Apache Kudu定位是对快速数据进行快速分析,是一个既支持随机读写、又支持OLAP分析的大数据存储引擎,Kudu的出现突破了Hadoop生态系统存储层的局限,解决了单一存储系统不能同时支持高吞吐率和低延迟场景需求的问题。目前,Kudu自1.1.0.0版本开始支持非易失性内存作为Kudu读缓存。
本方案验证了同成本下Kudu使用英特尔® 傲腾™ 数据中心级持久内存与传统DRAM 内存作为Kudu读缓存的性能,验证英特尔® 傲腾™ 数据中心级持久内存扩展内存的可行性,通过使用英特尔® 傲腾™ 数据中心级持久内存来提升资源利用率,更好的降低企业的成本,同时达到提升性能的目的。
Kudu的快速分析一方面得益于自身的架构支持,另一方面需要快速地存储设备,内存缓存是性能的关键一部分,更大的内存意味着更快的数据分析速度,而Kudu可用的内存容量受限于服务器自身对于内存容量的支持,每一台服务器的内存插槽数量、内存条容量等极大的限制了内存容量扩展,在内存容量增长到一定程度后就会出现瓶颈。如果要进一步对内存容量进行扩展,传统的解决方案一般有两种方式:一是使用大容量的内存条,二是扩展服务器节点数量。
但是,这两种方法都不具备良好的成本效益。对于前者来说,价格随容量的提升成指数级增长,会带来很高的成本压力;对于后者来说,扩展服务器节点固然能够提升内存池的容量,但这样资源不是按需扩展,同时这些服务器的采购、空间占用、运维、供电无疑也会显著增加成本。我们需要更经济的方式来扩展内存容量。
英特尔® 傲腾™ 数据中心级持久内存创新性解决方案提供了行业领先的高吞吐率、低延时、高服务质量和超高的耐用性,新增内存扩展专为打破服务器内存容量限制而优化。英特尔® 傲腾™ 数据中心级持久内存提供接近内存的延迟,最大扩展系统内存至6T(不包括系统自身内存)。英特尔® 傲腾™ 数据中心级持久内存可对应用进行加速,支持快速缓存和快速存储,提高每台服务器的可扩展性,并降低敏感性工作负载的交易成本。此外,英特尔® 傲腾™ 数据中心级持久内存支持数据中心部署更大、更经济的数据集,在大型内存池中获得新的洞察。
图1
本方案使用英特尔® 傲腾™ 数据中心级持久内存扩展内存容量,解决服务器内存不足的问题,可以显著降低企业TCO。英特尔® 傲腾™ 数据中心级持久内存有内存模式、应用直接访问模式(持久内存)两种模式。本次测试采用应用直接访问模式,应用直接模式具有容量大、成本低、非易失等特点。保证数据在设备掉电、服务重启的情况下数据不丢失。
方案验证:英特尔® 傲腾™ 内存性能显著
为测试英特尔® 傲腾™ 数据中心级持久内存扩展解决方案在Kudu下的性能表现。在成本相当的情况下,分别测试了基于英特尔® 傲腾™ 数据中心级持久内存和传统DRAM 内存两种配置下的性能对比。
在实际测试中,浪潮将英特尔® 傲腾™ 数据中心级持久内存设置为直接访问模式,并依据以下硬件配置来搭建了测试对比方案(测试配置如表1),测试单机环境下Kudu的对比性能。
表1
本次使用YCSB工具测试了Kudu的读性能,来验证英特尔® 傲腾™ 数据中心级持久内存应用于Kudu读缓存的可行性,以Kudu吞吐量和95%的请求延迟作为性能评测指标。
从测试结果可以看出,英特尔® 傲腾™ 数据中心级持久内存的吞吐量是DRAM的2.59倍(性能对比见图2),95%的请求延迟是DRAM的12倍(性能对比见图3)。
图2
图3
由此可见英特尔® 傲腾™ 数据中心级持久内存相对于DRAM表现了良好的性能优势,可作为kudu内存扩展方案使用。
效果:降低成本,性能提升
在Kudu应用下使用英特尔® 傲腾™ 数据中心级持久内存替代传统DRAM作为Kudu读缓存,使Kudu在同样成本下使用更多的内存,从而提供更大的缓存,提升缓存命中率,测试结果也表明Kudu有显著的性能提升。英特尔傲腾持久内存扩展方案价值在于,其可以提供远低于DRAM价格的高性价比扩容方式。