英特尔® 傲腾? 长期内存是Intel在2019年宣布的一款革命性的产品,,,,英特尔® 傲腾? 长期内存是一种全新的内存类型,,,,其架构设计旨在从数据中心中罗致更多价值,,,,重构数据中心内存/存储条理结构。。差别于古板的DRAM,,,,英特尔® 傲腾? 长期内存集大容量、经济性和长期性于一身,,,,能够支持数据中心多个应用场景。。yl6776永利集团基于英特尔® 傲腾? 长期内存做了大宗的应用场景解决计划,,,,笼罩大数据剖析、数据库、云与虚拟化、漫衍式存储等应用场景。。为了资助用户通过越发无邪的架构来实现立异型的应用,,,,助力企业实现性能突破,,,,yl6776永利集团宣布了基于英特尔® 傲腾? 长期内存手艺的Spark应用计划。。
Apache Spark是专为大规模数据处置惩罚而设计的快速通用的盘算引擎,,,,常用来构建大型、低延迟的数据剖析应用程序。。Spark 一个主要特点在于,,,,其能够在内存中举行盘算,,,,这使得其数据剖析效率往往高于其它盘算引擎,,,,可是,,,,效劳器内存资源的限制也使得其性能的扩展保存着一定的瓶颈,,,,在超大规模负载中无法充分验展其使用内存举行盘算的性能优势。。为相识决此问题,,,,yl6776永利集团在 Spark 计划验证中使用英特尔® 傲腾? 长期内存取代古板的 DRAM 内存,,,,实现了数倍的性能提升,,,,被证实可以作为 Spark 内存扩展的优先计划。。
Spark 搭载了高效的 DAG 执行引擎,,,,可以通过基于内存来高效处置惩罚数据流。。与Hadoop 的 MapReduce 相比,,,,Spark 基于内存的运算要快 100 倍以上,,,,基于硬盘的运算也要快10 倍以上,,,,这使得其能够在大数据情形下关于数据举行实时处置惩罚。。同时,,,,其高容错性和高可伸缩性也使得其成为大数据安排的突出优势,,,,用户可以将 Spark 安排在大宗廉价的硬件之上,,,,形成集群,,,,知足低本钱下的高性能盘算需求。。
在目今的应用情形下,,,,Spark 可以用于批处置惩罚、交互式盘问(Spark SQL)、实时流处置惩罚(Spark Streaming)、机械学习(Spark MLlib)、图形盘算(GraphX)等负载,,,,这些差别类型的处置惩罚都可以在统一个应用中无缝使用。。正是由于 Spark 具备上述优势,,,,以是其普遍应用于云盘算、物联网、机械学习等前沿领域的超大型数据集快速剖析处置惩罚之中。。
显然,,,,高性能的数据剖析是 Spark 的一个主要优势,,,,要提升性能,,,,除了可以在软件优化方面入手之外,,,,还可以从硬件角度举行思量:由于 Spark 依赖内存举行盘算,,,,以是内存的速率、容量关于盘算效率至关主要,,,,若是数据量凌驾了集群内存能容纳的最大值,,,,部分数据就会落在相对低速的磁盘上,,,,这导致Spark数据处置惩罚能力无法充分验展。。
扩展内存容量是一个较量简朴、直接的要领,,,,可是问题同样保存。。首先,,,,效劳器内存插槽有限,,,,且一样平常支持128GB 的 DRAM 内存,,,,这决议了单台效劳器扩展的总内存容量受到严酷限制;;;;其次,,,,若是接纳增添效劳器节点的方法举行扩展,,,,这些增添的效劳器节点不但意味着采购本钱的增添,,,,也会带来不菲的空间、运维本钱。。再加上企业级的大容量 DRAM 内存自己就价钱腾贵,,,,使得许多企业的 Spark 系统遭受着重大的本钱压力。。
由于介质、手艺等缘故原由限制,,,,在现有的手艺条件下古板 DRAM 内保存容量与本钱上很难实现质的突破,,,,以是,,,,寻找立异的存储介质与架构也就成为了 Spark 系统性能扩展的主要偏向。。在较量英特尔® 傲腾? 长期内存与 DRAM 内存之后,,,,yl6776永利集团决议实验接纳英特尔® 傲腾? 长期内存来举行 Spark 内存池扩展。。
yl6776永利集团选择英特尔® 傲腾? 长期内存的缘故原由不难明确。。首先,,,,英特尔® 傲腾? 长期内存提供了行业领先的高吞吐率、低延时、高效劳质量和超高的耐用性,,,,可以提供靠近内存的延迟,,,,并支持快速缓存和快速存储,,,,对应用举行加速。。
其次,,,,英特尔® 傲腾? 长期内存的单装备容量抵达512GB ,,,,远超DRAM 内存的128GB,,,,这使得其可以将系统内存扩展至6TB(不包括系统自身内存)。。并且,,,,英特尔® 傲腾? 内存的单位容量价钱要远低于DRAM 内存,,,,这些特征支持企业在数据中心安排更大、更经济的数据集,,,,在大型内存池中获得新的洞察。。
在本计划中,,,,yl6776永利集团使用英特尔® 傲腾? 内存作为 Spark 系统的存储介质,,,,以解决效劳器内存缺乏的问题。。英特尔® 傲腾? 内存有App Direct 模式和内存模式两种模式。。本次测试接纳App Direct 模式 ,,,,App Direct 具有数据长期化、高容量、高可用性、显著加速存储速率等特点,,,,是现在英特尔® 傲腾? 内存主要使用模式(两种计划的对好比图1所示)。。

图1
为了验证英特尔® 傲腾? 长期内存的使用关于 Spark 系统性能的影响,,,,yl6776永利集团基于英特尔® 傲腾? 内存与 DRAM 内存,,,,并划分针对Spark SQL测试与Spark K-Means测试设置了对例如案(接纳相同的硬件设置和组网方法),,,,两套计划的成内情当,,,,因此可以直观的反应出两套计划的性能价钱比。。

图2
首先举行的是 Spark SQL 单机测试(测试效果如图3)与集群测试(测试效果如图4)可以发明,,,,英特尔® 傲腾? 内存计划的单机性能是DRAM计划的7.33倍,,,,集群性能是 DRAM 计划的6.05倍。。

图3

图4
接下来yl6776永利集团举行了 Spark K-Means单机测试(测试效果如图5)与集群测试(测试效果如图6)。。测试效果显示,,,,在单机情形下,,,,英特尔® 傲腾? 内存计划在训练方面的性能是DRAM计划的13.74倍,,,,整体性能是DRAM计划的3.93倍;;;;集群情形下,,,,英特尔® 傲腾? 内存计划在训练方面的性能是DRAM计划的10.76倍,,,,整体性能是 DRAM 计划的3.99倍。。

图5

图6
效果:英特尔® 傲腾? 内存显著提升 Spark 计划性能与本钱效益
以上测试显示,,,,在 Spark 系统的构建历程中,,,,若是需要处置惩罚的数据量高于效劳器内存资源,,,,那么基于英特尔® 傲腾? 长期内存的设置计划性能将远超 DRAM 内存计划。。这是由于凌驾效劳器内存池容纳能力的数据会落在低速的磁盘上,,,,从而导致处置惩罚速率的降低,,,,而英特尔® 傲腾? 内存不但可以提供速率靠近 DRAM 内存的快速存储器,,,,并且可支持的内存池总容量远超 DRAM 内存,,,,这能够让 Spark 缓存更多的数据,,,,从而充分验展 Spark 的数据高速处置惩罚优势。。
尤为主要的是,,,,英特尔® 傲腾? 内保存单位本钱上显著低于 DRAM 内存,,,,这能够资助企业有用控制Spark 系统的TCO。。在大型的 Spark 应用实践中,,,,英特尔® 傲腾? 内存作为内存扩展计划,,,,可以资助企业在牢靠的性能目的下,,,,有用控制效劳器节点数目以及内存采购本钱,,,,从而实现性能与本钱效益的平衡。。