Ampere Computing Logo
Contact Sales
Ampere Computing Logo
Cloud Native Applications with Ampere Computing

OCI 上的 SPARK 工作负载简介

六月 2022 在甲骨文云 Ampere A1实例上的大数据 Spark

AMPERE—赋能未来

Oracle Cloud Infrastructure (OCI)在新的Ampere A1 云原生平台上提供了基于Ampere® Altra®的计算实例。Ampere A1平台可以部署为裸金属服务器或灵活的VM形状,使客户能够完全控制他们的整个云堆栈。Ampere A1 虚拟机形态提供了从1个到80个内核,每核1-64 GB内存的灵活配置,并具多个关键优点,如确定性性能、线性可伸缩性和具有市场上最佳性价比的安全架构。

Apache Spark是一个用于大数据工作负载的开源分布式处理系统。它利用内存缓存,并优化了查询执行,以便对任何大小的数据进行快速分析查询。它提供了Java、Scala和Python中的api。Spark支持实时分析、批处理、交互式查询和机器学习中的多种操作。Spark通过使用RDD(弹性分布式数据集)进行内存处理和跨多个并行操作重用数据来解决Hadoop的局限性。Spark可用于许多存储系统,如HDFS、Couchbase、Cassandra等。

Spark可以在独立集群模式下运行,也可以在Yarn、Kubernetes和Docker等集群管理系统上运行。

Spark架构由Spark驱动程序、执行器和集群管理器组成。驱动程序是Spark执行引擎的控制器,负责维护集群的状态。它与集群管理器交互以获得vCPU和内存等物理资源。驱动程序还启动执行程序。实际任务由驱动程序分配的Spark执行器处理。执行程序运行任务并向驱动程序报告其结果和状态。集群管理器负责维护运行Spark应用程序的节点集群。

在 OCI AMPERE A1 虚拟机上评测 SPARK

与x86同类产品相比,OCI的A1计算机为大数据应用提供了卓越的性价比。基于Ampere Ampere Altra 处理器的A1虚拟机提供可预测性性能和高度的可扩展性,是Spark应用程序的推荐选择。

Oracle云基础设施使用业界领先的Ampere Altra 处理器,每个CPU 80个内核,所有内核都能够持续运行在3.0 Ghz的最高频率。利用Ampere Altra的低功耗设计和OCI的高性能基础设施,Ampere A1虚拟机在云中提供最佳的性价比。

在这个解决方案简介中,OCI Ampere A1 虚拟机的性能与OCI的S3 Standard (Intel iceland), E3 (AMD Rome)和E4 (AMD Milan) flex 虚拟机的性能进行了比较。在Spark上运行的基准测试如下:

  1. Spark TeraSort
  2. Join operations
  3. Word count
  4. TPC-DS
关键收益

一致性和可预测性:Ampere Altra 处理器专为云原生应用而设计,可为 Hadoop 解决方案和激增的工作负载提供一致且可预测的性能。

可扩展性:凭借创新的可横向扩展架构,Ampere Altra 处理器具有更高核心数和极具竞争力的单线程性能。结合所有内核的一致频率特性,OCI Ampere AI 虚拟机的性能优势可达到21%,是大数据工作负载的理想平台。

高能效:行业领先的能效使 Ampere Altra 处理器的性能在达到极具竞争力水平的同时,消耗比竞争对手低得多的电力,即更少的碳足迹。

Ampere Altra 处理器
  • 80个 64-bit内核,最大主频3.0 GHZ
  • 单核 64 KiB i-Cache, 64 KiB d-Cache
  • 单核 1MiB L2 Cache
  • 32MB SLC (System Level Cache)
  • 2x 全宽 (128b) SIMD
  • 一致性网格互联架构

内存

  • 8x72 bit DDR4-3200 channels
  • 支持ECC & RAS
  • 最大可配 16x DIMMS (2 DPC) 和 4TB 内存容量

连接

  • 128 lanes of PCIe Gen4
  • 一致性多路互联
  • 4 x16 CCIX lanes

技术特性

  • Armv8.2 指令集,SBSA Level 4认证
  • 高级电源管理模块

性能

  • SPECrate®2017 Integer Estimated: 300
OCI Spark 架构
基准测试配置

如上所述,虚拟机是在专用网络空间中提供的。测试台上安装了Hadoop 3.3.1 (aarch64 binaries)和Spark 3.1.2

在测试架构上的每个节点使用了表中列出配置的单个VM。

所有虚拟机都具有相同的CPU内核/线程、内存和存储配置。

所有虚拟机的存储带宽限制为1000 MB/s。8个 cpu的x86虚拟机OCI最大带宽为8gb /s。一个具有16个OCPU的A1实例接收的最大带宽为16gb /s。在我们的基准测试中,A1实例被限制为8gb /s,以保持与x86 VM相同的速度。

在客户(Guest)操作系统上,只有很少的改动,比如禁用了透明的大页面,减少虚拟机切换等。

Spark中的一些配置参数做了调优,以最大限度地利用CPU、内存和存储。

虚拟机和Spark在Yarn上的配置

S3FlexE3FlexE4FlexA1Flex
OCPU88816
Cores/Threads8/168/168/1616/16
Mem96G96G96G96G
Archx86_64x86_64x86_64aarch64
KernelOracle Linux 8.5
StorageiSCSi 2 x 500G luns, VPU 50, 2 x 480 MBPS
JDKJDK11

Spark 和 Yarn 的配置

dfs.block.size - 512M

yarn.scheduler.minimum-allocation-mb - 1024

yarn.scheduler.maximum-allocation-mb - 65536

yarn.scheduler.minimum-allocation-vcores - 1

yarn.scheduler.maximum-allocation-vcores - 15

yarn.nodemanager.resource.cpu-vcores - 16

yarn.nodemanager.resource.memory-mb - 94208

mapreduce.map.memory.mb - 1024

mapreduce.reduce.memory.mb - 3072

mapred.reduce.parallel.copies - 14

mapreduce.reduce.shuffle.parallelcopies - 12

mapreduce.map.java.opts - 2048M

spark master - yarn

spark executor memory - 12G

spark default parallelism - 30

基准测试的执行

Spark TeraSort

TeraSort工作负载对Hadoop发行版中包含的TeraGen程序生成的100字节记录进行排序。在每个虚拟机上使用Intel HiBench基准测试工具来生成250GB的数据集。在这些虚拟机上运行Spark TeraSort基准测试,获取以MB/s为单位的TeraSort输出数据。

Join Operations

下面的scala查询在Spark shell中执行了多次,以获取完成连接查询所花费的时间。

val df = sc.makeRDD(1 to 10000000, 6).toDF

val df2 = sc.makeRDD(1 to 10000000, 6).toDF

df.select( $"value" as "a").join(df2.select($"value" as "b"), $"a" === $"b").count

Word Count

Word Count程序代表了现实世界MapReduce作业的一个大子集,一个将数据从一种表示转换为另一种表示,另一个从大数据集中提取少量有趣的数据。上传10GB文本文件到HDFS,然后尝试计算文件中的字数。

TPC-DS

TPC-DS是一个决策支持基准,它对决策支持系统的几个方面进行建模。tpcds-kit克隆自databricks github网站。Spark 3.2以纱线模式运行,比例因子为250,并以拼花格式(parquet)运行。获取执行TPC-DS所花费的时间。

性能数据

使用Spark Yarn在OCI试验台上获得的相对性能数据如下所示。

Word Count
Joint Operations
Spark Terasort
TPC-DS

Spark TeraSort捕获的单位性能数据的相对价格如下所示。其他基准测试(如TPC-DS、Wordcount和Join操作)的类似图表通过采用16个核心虚拟机的当前按需定价价格而形成。

Relative Price Per Performance Analysis for Spark on OCI VM's (lower the better)
数据分析
  1. 在优化参数之后,CPU被充分利用,并且在85-90%左右徘徊,在这种高负载条件下的对比是比较公平的。
  2. A1 虚拟机的表现比x86的同类产品要好,其性能对比图是将s3flex作为基准参考点绘制的。
  3. Ampere A1实例的价格性能比Intel好60%,比AMD好15-18%。
结论

基于 Ampere Altra处理器的Oracle OCI A1实例为Spark等大数据解决方案提供了高性能。在使用OCI Ampere A1实例进行Spark TeraSort工作负载时,Ampere实例的性能优势与价格优势相结合,提供了高达58%的性价比优势,在本报告中测试的其他一些操作中,性价比甚至更高。

更多信息

Oracle Ampere A1 compute instances

Ampere solutions on Big Data

脚注

此处包含的所有数据和信息仅供参考,Ampere 保留更改它的权利,恕不另行通知。本文档可能包含技术错误、遗漏和印刷错误,Ampere 没有义务更新或更正此信息。 Ampere 不作任何形式的陈述或保证,包括但不限于对不侵权、适销性或适用于特定目的的明示或暗示保证,并且不承担任何形式的责任。所有信息均“按原样”提供。本文件不是 Ampere 的要约或具有约束力的承诺。使用此处设想的产品需要随后的谈判和最终协议的执行,或者受 Ampere 的商品销售条款和条件的约束。

与 Ampere 测试中使用的不同的系统配置、组件、软件版本和测试环境可能会导致与 Ampere 获得的测量结果不同。

性价比根据OCI计算价目表计算,适用于16个核心虚拟机(2022年6月)。从16核的价目表中获取每核的价格。所有虚拟机的内存和存储是相同的,因此不考虑。

©2022 Ampere Computing 版权所有。Ampere、Ampere Computing、Altra 和“A”标志都是 Ampere Computing 的注册商标或商标。 Arm 是 Arm Limited(或其子公司)的注册商标。本出版物中使用的所有其他产品名称仅用于识别目的,可能是其各自公司的商标。

Ampere Computing® / 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com

Created At : September 6th 2022, 10:29:35 am
Last Updated At : April 28th 2023, 8:33:52 pm
Ampere Logo

Ampere Computing

4655 Great America Parkway

Suite 601 Santa Clara, CA 95054

image
image
 |  |  |  |  |  | 
© 2022 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site is running on Ampere Altra Processors.