Intel Linux Kernel Optimizations Show Huge Benefit For High Core Count Servers

Written by Michael Larabel in Software on 29 March 2023 at 01:00 PM EDT. Page 2 of 5. 19 Comments.
Dragonflydb benchmark with settings of Clients: 50, Set To Get Ratio: 1:1. Clear Linux: 60 Threads was the fastest.

First up was DragonFlyDB that describes itself as a "modern Redis replacement" and aims to be a very speedy memory store compliant with the Redis and Memcached protocols. When running the same Dragonflydb server and software in both environments, there quite clearly shows a difference in performance at 30+ threads. Clear Linux with Intel's latest in-progress kernel optimizations show the performance scaling quite well until 60 threads and then slightly lower when the dual socket configuration comes into play and the memory distribution between the two Xeon Platinum 8490H processors. Ubuntu 23.04 meanwhile shows a huge drop in performance at 120 threads and only slightly recovers in the standard 240 thread configuration... Clear Linux at 120/240 threads shows Dragonflydb still performing much better than at 4~30 threads while under Ubuntu (and other distributions) is that huge performance regression compared to its 60 thread peak.

Memcached benchmark with settings of Set To Get Ratio: 1:5. Clear Linux: 60 Threads was the fastest.
Memcached benchmark with settings of Set To Get Ratio: 1:10. Clear Linux: 60 Threads was the fastest.
Memcached benchmark with settings of Set To Get Ratio: 1:100. Clear Linux: 240 Threads was the fastest.

Running Memcached on this Xeon Scalable Sapphire Rapids server showed nice scaling with Clear Linux's enhancements compared to the default kernel of Ubuntu 23.04. Hopefully these Intel kernel optimizations focusing on scalability will all manage to be mainlined soon.

Redis benchmark with settings of Test: GET, Parallel Connections: 50. Clear Linux: 240 Threads was the fastest.
Redis benchmark with settings of Test: SET, Parallel Connections: 50. Clear Linux: 120 Threads was the fastest.
Redis benchmark with settings of Test: SET, Parallel Connections: 500. Clear Linux: 240 Threads was the fastest.

Redis on this Sapphire Rapids server was showing much better scaling particularly with the GET operations compared to Ubuntu 23.04.


Related Articles