Cavium ThunderX2 Platform Performance
There is an enormous array of applications run in today’s data centers that frankly need “good enough” CPU performance but rely upon storage and networking more heavily. With ThunderX (1) saturating the onboard 40Gbps links was challenging because the original ThunderX did not have high-end cores like ThunderX2. In the past two years since we did the initial ThunderX work NVMe storage has become the go-to solution for local storage and networking has changed from 40GbE being a mainstay to 25/50/100GbE taking over. As a result, we wanted to test whether the Cavium ThunderX2 platform could sufficiently handle the storage and networking demands of modern workloads.
Cavium ThunderX2 Networking Performance
Networking is important these days. With higher speed 25/50/100GbE networking we have lower latency and faster pipes to move data around a data center. We wanted to see if using high-speed networking with ThunderX2 was viable.
Overall, performance was just about where we expected. Intel performed the best, but Cavium ThunderX2 was close enough that it can essentially service high-speed networking demands. This may seem like a simple test, but getting to 40GbE speeds took more work on ThunderX so it is good to see the evolution here.
Cavium ThunderX2 Storage Performance
For these tests, we used a simple configuration. We used NVMe drives to probe performance of the systems. Due to test system limitations, we could not test beyond four drives but we wanted to see if NVMe drives were a worthwhile investment on Cavium ThunderX2. First the sequential read results:
Here are the write results.
For the 4K Random read IOPS we transitioned to the single drive configurations:
For the 4K random write side:
Here is the key takeaway. Servers today use NAND based NVMe drives for primary storage, and potentially technologies like Intel Optane as storage class memory (SCM.) In either case, ThunderX2 cores are fast enough to service the needs of high-speed storage.
For today’s cloud and scale-out providers, along with HPC customers who are looking to use custom interconnects or EDR/HDR Infiniband, the ability for a CPU to easily service the demands of high-speed networking and storage is a must-have. Another anecdote with this generation is that the Arm ecosystem has matured to the point that device installation has been an “it just works” affair. Whereas years ago plugging in a high-speed storage or network device into an Arm server was an opportunity for adventure, today’s Arm servers are easy to deploy in comparison. This plug-and-play functionality is something that almost requires that hardware vendors test their installations on real server platforms, like the ThunderX2, not low-end Arm development boards.
Now that we looked at the storage and networking platform performance, it is time to look at power consumption and how the Cavium ThunderX2 compares to its current competition.