基于英特尔® 傲腾™ 持久内存200系列的Spark方案实践

摘要

  英特尔® 傲腾™ 持久内存是一款革命性的持久内存产品,补齐了DRAM与磁盘之间的需求缺口,重构内存/存储层次架构,集大容量、经济性和持久性于一身,帮助用户优化数据中心基础设施,满足大数据分析、数据库、云与虚拟化、分布式存储等多种应用场景需求。为了帮助用户通过傲腾持久内存来实现应用创新优化,助力企业业务系统实现性能突破,浪潮发布了基于英特尔® 傲腾™ 持久内存的多种场景方案,本方案是基于英特尔® 傲腾™ 持久内存200系列的Spark应用方案。

背景介绍

  Spark 是一种快速、通用、可扩展的大数据分析引擎,目前已经发展成为一个包含多个子项目集合的生态系统。Spark 基于内存计算,提高大数据环境下数据处理的实时性,同时提供高容错性和高可伸缩性,用户可以将 Spark以集群的形式部署在大量廉价的硬件之上,满足低成本下高性能计算需求。

  Spark 搭载了高效的 DAG 执行引擎,可以通过基于内存来高效处理数据流。与Hadoop 的 MapReduce 相比,Spark 基于内存的运算要快100倍以上,基于硬盘的运算也要快10 倍以上。Spark 提供了统一的解决方案,支持批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX),这些不同类型的数据处理都可以在同一个应用中无缝使用。

  Spark拥有众多的优势,广泛应用于云计算、物联网、机器学习等前沿领域的超大型数据集快速分析处理,并得到众多大数据公司的支持。

  挑战:成本限制了内存容量扩展

  Spark的内存计算能力受限于服务器自身对于内存容量的支持,这导致Spark作业执行期间经常出现内存不足,中间数据落磁盘,Spark内存计算的性能优势无法发挥的情况。

  传统的解决方案是利用Spark的分布式体系结构,使其在集群上运行,以解决内存不足的问题,为了扩展内存,企业将不得不部署更多的服务器,这显然增加了企业的成本压力。

解决方案介绍

  英特尔®傲腾™持久内存创新性解决方案新增内存扩展方式专为打破服务器内存容量限制而优化,补齐了DRAM内存与磁盘之间的需求缺口,打造高性能、大容量的持久内存层,有助于更加高效地挖掘数据的潜在价值。

       

  图1:英特尔®傲腾™持久内存存储层

  英特尔®傲腾™持久内存新一代产品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模式提供一致的低延迟,同时支持更大的数据集。

  图2:英特尔®傲腾™持久内存工作模式

  本方案使用App Direct模式,利用BPS的数据持久化、高容量、高可用性特性来加速Spark数据存储速度,实现以更低的内存成本达到更高的性能。

  图3:BPS内存扩展方案与DRAM方案对比

方案验证:性能提升,成本降低

  本次使用TPC-DS测试了Spark在DRAM和BPS平台下的性能

  测试配置(表)

配置项

BPS

DRAM

环境配置

CPU

2*Icelake 6348 2.60GHz(112 vcore)

Memory

256G(16*16G)

1T(32*32G)

BPS

1T(8*128G)App Direct

None

Disk Drive

8*2T HDD

1:测试配置对比表

  集群网络拓扑图(图4)

  图4:测试方案集群网络拓扑图

  测试结果

  Spark SQL测试结果

  图5:Spark SQL集群性能测试结果

  Spark SQL集群对比测试结果说明: 数据cache后,BPS整体性能是DRAM的6.5倍。BPS通过OAP缓存了9个I/0需求高的SQL全部数据,而DRAM受服务器内存资源的限制测试数据不能全部放在内存中,部分数据落在磁盘上,导致Spark数据处理能力无法充分发挥。

客户收益

  在Spark场景下,英特尔®傲腾™持久内存200系列表现了优秀的稳定性和性能,可作为内存扩展方案使用,满足Spark应用更大容量内存的需求。英特尔®傲腾™持久内存扩展方案让Spark以更低的成本使用更多的内存,从而发挥Spark基于内存计算的性能优势,该方案相对于DRAM方案有明显的性能提升。


线




×
联系我们
ERP、企业软件购买热线
400-018-7700
云服务产品销售热线
400-607-6657
集团客户投诉热线
400-691-8711
智能终端产品客服热线
400-658-6111