Ampere Computing Logo
Contact Sales
Ampere Computing Logo
Ampere Cloud Native Processor solutions

Spark on Azure Brief

Jan 2023, Big Data Spark on Azure VMs

Ampere - Empowering What’s Next

Microsoft Azure cloud offers Ampere® Altra® general purpose Dplsv5, Dpldsv5 and memory optimized Epsv5 virtual machines on the new Cloud Native Ampere platform. Azure VMs based on Ampere processors are available with up to 64 Arm cores and 208 GB of memory, and they offer several key benefits such as deterministic performance, linear scalability, and the best price-performance in the market. These new virtual machines have been engineered to efficiently run scale-out and cloud-native workloads. 

Apache Spark is an open source, distributed processing system used for big data workloads. It utilizes in-memory caching, and optimized query execution for fast analytic queries against data of any size. It provides APIs in Java, Scala, Python and supports multiple real-time analytic workloads, batch processing, interactive queries, and machine learning. Spark addresses the limitations of Hadoop by performing in-memory processing using RDD (Resilient Distributed Dataset) and reusing data across multiple parallel operations. It relies on other storage systems like HDFS, Couchbase, Cassandra and others.

Spark can run in standalone cluster mode or can run on a Cluster Management system like Yarn, Kubernetes and docker.

Spark’s architecture comprises of a Driver, Cluster Manager, and Executor. The driver is the controller of the Spark execution engine and maintains the state of the cluster. It interfaces with the cluster manager to allocate physical resources like vCPU and memory, and it launches the executors. The executors run the tasks and report back their results and state to the driver. The cluster manager is responsible for maintaining the cluster of nodes that run the Spark application.

Key Benefits

Cloud Native: Designed from the ground up for ‘born in the cloud’ workloads, Ampere Altra can deliver much higher price-performance over its x86 peers.

Consistency and Predictability: Ampere Altra processors that are designed for cloud native usage, provide consistent and predictable performance of Spark and in particular for bursting workloads.

Scalable: With an innovative scale-out architecture, Ampere Altra processors have a high core count with compelling single-threaded performance combined with consistent frequency for all cores that make Spark scale up and scale out efficiently.

Power Efficient: Industry-leading energy efficiency allows Ampere Altra processors to hit competitive levels of raw performance while consuming much lower power than the competition.

What it Enables

  • Consistent, predictable high performance, especially at high loads
  • Much higher resistance to noisy neighbors in multitenant environments
  • TCO Savings and reduced carbon footprint
Ampere Altra
  • 80 64-bit CPU cores up to 3.00 GHz
  • 64 KB L1 I-cache, 64 KB L1 D-cache per core
  • 1 MB L2 cache per core
  • 32 MB System Level Cache (SLC)
  • 2x full-width (128b) SIMD
  • Coherent mesh-based interconnect

Memory

  • 8x 72-bit DDR4-3200 channels
  • ECC and DDR4 RAS
  • Up to 16 DIMMs and 4 TB addressable memory

Connectivity

  • 128 lanes of PCIe Gen4
  • Coherent multi-socket support
  • 4 x16 CCIX lanes

Technology & Functionality

  • Arm v8.2+, SBSA Level 4
  • Advanced Power Management

Performance

  • SPECrate®2017 Integer Estimated: 300
Spark on Microsoft Azure with Ampere VMs

Ampere's Arm technology has higher core density per socket, maximizing the number of cores per rack. Its power-efficient design allows for reduced power consumption while its single threaded architecture provides consistent performance for large data processing tasks.

The Azure Ampere Arm-based virtual machine families include:

  • Dpsv5 series, with up to 64 vCPUs and up to 128 GiB
  • Dplsv5 series, with up to 64 vCPUs and up to 128 GiB
  • Epsv5 series, with up to 32 vCPUs and up to 208 GiB

All these virtual machine sizes support up to 40 Gbps of networking bandwidth, standard HDDs, standard or premium SSDs and Ultra Disk storage that can be attached to the VMs.
Azure-based Ampere VMs provide superior price-performance for Big Data applications when compared to its x86 peers. These VMs are the perfect choice for Spark applications due to the predictable and highly scalable nature of the architecture. In this Solution Brief, we contrast three Azure VMs, each featuring comparable CPUs from Intel, AMD and Ampere.

Benchmarking Configuration

We used Intel HiBench benchmarking tool, and ran Hadoop TeraSort benchmark on the following three Azure VMs:

  • D16sv5 (Intel Icelake Platinum 8370C)
  • D16adsv5 (AMD Milan EPYC 7763v)
  • D16psv5 (Ampere Altra Q80)

TeraGen was used to generate a dataset of 250GB, and then the data was sorted using TeraSort capturing throughput in MB/s.

  • All the virtual machines had an identical configuration on CPU cores/threads, memory and storage.
  • The storage size was chosen to limit the bandwidth to 1000 MB/s across all the VMs.
  • Transparent huge pages were disabled on the guest operating system.
  • Few configuration parameters in Spark like executor cores and memory were tuned to maximize the utilization of CPU, memory and storage.
VM and Spark Configuration
D16s v5 D16ads v5 D16ps v5
vCPU161616
Cores8816
Mem64G64G64G
Archx86_64x86_64aarch64
KernelUbuntu 22.04Ubuntu 22.04Ubuntu 22.04
Storage4 x 1024 GB (P40 Performance tier), totaling 1000 MBPS throughput 4 x 1024 GB (P40 Performance tier), totaling 1000 MBPS throughput 4 x 1024 GB (P40 Performance tier), totaling 1000 MBPS throughput
JDKOracle JDK 8u345Oracle JDK 8u345Oracle JDK 8u345

Yarn Configuration

dfs.block.size256M
yarn.scheduler.minimum-allocation-mb1024
yarn.scheduler.maximum-allocation-mb59392
yarn.scheduler.minimum-allocation-vcores1
yarn.scheduler.maximum-allocation-vcores15
yarn.nodemanager.resource.cpu-vcores16
yarn.nodemanager.resource.memory-mb63488
mapreduce.map.java.opts2048M
spark.masteryarn
spark.executor.memory12G
spark.executor.instances5
spark.default.parallelism 15
spark.sql.shuffle.partitions2500
Performance Data

The relative performance data captured on the Azure Cloud with Spark on Yarn is shown below.

  • for illustration purposes, the Intel VM (D16sv5) was used as the reference point (100%)
Relative Spark TeraSort Performance on Azure Cloud
Relative Spark TeraSort Price Performance on Azure Cloud
Observations
  1. Ampere VMs performed well compared to Intel and AMD.
  2. Ampere VMs deliver notably better price performance than Intel and AMD VMs.

(VM pricing calculated with Azure’s public pricing calculator)

Conclusions

Azure virtual machines with Ampere Altra processors excel for big data applications such as Spark. They have near identical raw performance but have an excellent price performance compared to x86 alternatives on Azure cloud. The superior performance of Ampere instances combined with their lower cost makes them a highly valuable option for Spark workloads on Azure.

We look forward to helping our customers discuss their unique needs.

For more information, please visit:

Azure Ampere instances

Ampere solutions on Big Data

Footnotes

All data and information contained herein is for informational purposes only and Ampere reserves the right to change it without notice. This document may contain technical inaccuracies, omissions and typographical errors, and Ampere is under no obligation to update or correct this information. Ampere makes no representations or warranties of any kind, including but not limited to express or implied guarantees of noninfringement, merchantability, or fitness for a particular purpose, and assumes no liability of any kind. All information is provided “AS IS.” This document is not an offer or a binding commitment by Ampere. Use of the products contemplated herein requires the subsequent negotiation and execution of a definitive agreement or is subject to Ampere’s Terms and Conditions for the Sale of Goods.

System configurations, components, software versions, and testing environments that differ from those used in Ampere’s tests may result in different measurements than those obtained by Ampere.

Price performance was calculated using Microsoft's Virtual Machines Pricing, in September of 2022. Refer to individual tests for more information.

©2023 Ampere Computing. All Rights Reserved. Ampere, Ampere Computing, Altra and the ‘A’ logo are all registered trademarks or trademarks of Ampere Computing. Arm is a registered trademark of Arm Limited (or its subsidiaries). All other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.

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

Created At : February 20th 2023, 11:38:37 am
Last Updated At : May 31st 2023, 10:16:18 pm
Ampere Logo

Ampere Computing LLC

4655 Great America Parkway Suite 601

Santa Clara, CA 95054

image
image
image
image
image
 |  |  |  |  |  | 
© 2024 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.