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

OCI 上的 SPARK 工作负载简介

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

AMPERE—赋能未来
在 OCI AMPERE A1 虚拟机上评测 SPARK
关键收益
Ampere Altra 处理器
OCI 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.