A2 Instances Powered by AmpereOne Processors
AmpereOne® processors are designed from the ground up to deliver exceptional performance for Cloud Native applications. With an innovative architecture that delivers high performance, linear scalability, and stellar energy efficiency, AmpereOne® enables applications like Cassandra to run in a predictable manner, with minimal variance under increasing loads, and with a reduced carbon footprint.
Oracle Cloud offers the cost-optimized A2 VMs powered by AmpereOne® processors in multiple flexible VM shapes – 946GB total memory, up to 78 Gbps networking bandwidth, and a wide range of network-attached storage options. These VMs are suitable for scale-out Cloud Native workloads like web servers, in-memory caches, databases, containerized microservices, data-logging, media transcoding, and Big Data applications.
Apache Cassandra is an open-source NoSQL distributed database trusted by thousands of companies for scalability and high availability without compromising performance. Linear scalability and proven fault tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data.
In this performance brief, we compare Cassandra running on Oracle Cloud A2 VMs powered by AmpereOne® processors to AMD EPYC™ Genoa-based E5 VMs while measuring the throughput and latencies on each of these instances.
As seen in Figure 1, we observed performance for A2-flex VMs powered by AmpereOne® processors were 97% of that on the AMD Genoa E5 VMs, all under a p.99 SLA of 5 ms.
The price-performance picture is very different. As seen above in Figure 2, we observed up to 1.5X higher price-performance on the Oracle Cloud A2 VMs powered by AmpereOne® processors compared to the AMD Genoa E5 VMs, for both Cassandra-key value and random access.
The tests were performed using Cassandra 4.0.7 and tlp-stress as a load generator. Each test was configured to run for 3 minutes with multiple threads and clients. The A2 and E5 systems under test (SUT) were 16 OCPU VMs.
It is recommended to compile Cassandra with JDK-11 (compiled with GCC 10.2 or newer with the architecture-aware flags) or newer as newer Java versions have made considerable progress towards generating optimized code that can improve performance for aarch64 applications. Note that Cassandra 4 does not support Java 17.
The G1 garbage-first collector was used with appropriate memory and number of threads. Cassandra data was stored on an NVMe disk drive, while the commit log was stored on tmpfs. Oracle Linux 9.4 was used with Cassandra 4.0.1. For each test, a similar number of clients were used to generate requests to Cassandra.
Since it is realistic to measure throughput under a specified Service Level Agreement (SLA), a 99th percentile latency (p99) of 5 ms was used. This ensured that 99% of the requests had a worst-case response time of 5 ms.
The test ran for 3 minutes after warmup with requests configured for a 90:10 write:read ratio. Cassandra is typically used in write-heavy applications and is, therefore, optimized for write operations. An appropriate number of clients and threads to load one instance of Cassandra was initially used while ensuring the p99 latency was at most 5 ms.
Next, the number of Cassandra instances was successively increased till one or more instances violated the latency SLA. The aggregate throughput of all instances was used as the primary performance metric. The test was run three times and minimal run-to-run variation was observed.
Distributed NoSQL databases such as Cassandra manage large volumes of data with great ease and scalability and are popular in cloud deployments. Our tests showed performance of the AmpereOne-based Oracle A2 VMs to be comparable to the legacy x86 E5 VMs while providing a 49% price-performance advantage. For cloud application developers, choosing AmpereOne-based A2 VMs on Oracle Cloud will lead to better performance and price-performance while reducing their carbon footprint.
For more information about the Oracle A2 Virtual Machines with AmpereOne® processors, visit the Oracle Cloud blog.