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

Spark on Google Cloud Brief

Jan 2023, Big Data Spark on GCP VMs

Ampere - Empowering What’s Next
Key Benefits
What it Enables
Ampere Altra
Spark on Google Cloud Ampere VMs
Benchmarking Configuration
VM and Spark Configuration
Performance Data
Observations
Conclusions
Footnotes
Ampere - Empowering What’s Next

Google Cloud's T2A virtual machines, powered by Ampere® Altra® processors provide outstanding single-threaded performance at an affordable cost. These VMs come in various pre-defined sizes, with a maximum of 48 vCPUs and 48GB of memory per vCPU per VM. T2A VMs are compatible with a wide range of Linux operating systems, including RHEL, Ubuntu, SUSE, and CentOS, etc. Most importantly, they offer several key benefits such as deterministic performance, linear scalability, and the best price-performance in the market. They are 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 Hadoop solutions 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 Big data workloads 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 Google Cloud Ampere VMs

Ampere Altra-powered T2A instances in Google cloud are generally available in several Google Cloud regions: US, Europe and Asia Southeast. T2A virtual machines offer a high level of networking performance with bandwidth speeds up to 32 Gbps. Additionally, storage options such as Zonal, Regional, and SSD disks are available for use with these virtual machines.

Ampere Arm technology uses a high number of cores per socket, maximizing core count per rack. This power-efficient design results in lower power consumption and consistent performance for big data applications. T2A VMs based on Ampere Arm processors provide better value for big data applications when compared to x86 processors. They are ideal for big data applications like Spark due to their predictable and scalable architecture.

In this Solution Brief, we contrast 3 Google VMs, each featuring comparable CPUs from Intel, AMD and Ampere.

Benchmarking Configuration

We used Intel HiBench benchmarking tool, and ran Spark TeraSort benchmark on the following three Google Cloud VMs:

  1. N2 (Intel Icelake Platinum 8373C)
  2. N2D (AMD Milan EPYC 7B13)
  3. T2A (Ampere Altra Q64)

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 were tuned to maximize the utilization of CPU, memory and storage.
VM and Spark Configuration
N2N2DT2A
vCPU161616
Cores8816
Mem64G64G64G
Archx86_64x86_64aarch64
KernelUbuntu 22.04Ubuntu 22.04Ubuntu 22.04
Storage2 x 1024 GB, totaling 1000 MB/s throughput2 x 1024 GB, totaling 1000 MB/s throughput2 x 1024 GB, totaling 1000 MB/s 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.parallelism15
spark.sql.shuffle.partitions2500
Performance Data

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


  • for illustration purposes, the Intel VM (N2) was used as the reference point (100%)
Relative Spark TeraSort Performance on Google Cloud
Relative Spark TeraSort Price Performance on Google Cloud
Observations
  1. Ampere VMs performed notably better than AMD VMs, though were slightly behind Intel VMs.
  2. Ampere VMs deliver significantly better price performance than Intel and AMD VMs.

(VM pricing calculated with Google Cloud’s public pricing calculator)

Conclusions

Google Cloud virtual machines with Ampere Altra processors excel for big data applications such as Spark. While raw performance is slightly behind Intel, Ampere’s VMs deliver excellent price performance compared to both x86 alternatives on Google cloud. The superior performance of Ampere instances combined with their lower cost makes them a highly valuable option for Spark workloads.

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

For more information, please visit:

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.

©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 16th 2023, 7:58:01 am
Last Updated At : May 31st 2023, 10:17:54 pm
Ampere Logo

Ampere Computing LLC

4655 Great America Parkway Suite 601

Santa Clara, CA 95054

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