Fresh MGLRU Benchmarks Are Looking Very Promising For Linux Performance

Written by Michael Larabel in Linux Kernel on 5 July 2022 at 09:00 AM EDT. 16 Comments
LINUX KERNEL
MGLRU as the "Multi-Gen LRU" for reworking the Linux kernel's page reclamation code to be less taxing on the CPU and making better choices continues to look very good for the future of Linux performance.

MGLRU v12 was recently posted as a re-base of this Google-developed patch series now against the Linux 5.19 state. I recently took these patches for some fresh benchmarking and continue to be impressed by the performance especially on memory-constrained devices.


MGLRU details from a prior mailing list post patch series.


Google already makes use of MGLRU on Android and Chrome OS and the results have been very favorable. Many organizations/users have reported great performance results with MGLRU. If all goes well we could possibly see MGLRU mainlined for the Linux 5.20 cycle.
Benchmark Result

One of the systems used for testing was a dual AMD EPYC 75F3 2P server for stressing the MGLRU v12 patches based against Linux 5.19-rc2... The same kernel build for each run, just the "disabled" run was using the sysfs interface for disabling MGLRU. The MGLRU run was at its default configuration.
Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

In a number of areas the MGLRU-enabled kernel was yielding small to moderate performance improvements on this AMD EPYC Zen 3 server.

There were though some performance regressions spotted with MGLRU enabled:
Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

Benchmark Result

There were only a few cases of the performance regressing with the MGLRU-enabled configuration, but I'll keep an eye on it and run on a few more large servers.
5500U MGLRU

I also ran some tests on an AMD Ryzen 5 5500U laptop with just 8GB of RAM... Besides laptop use, such a Ryzen + ~8GB RAM configuration is somewhat common among edge computing and other thin client type environments. Of the dozens of benchmarks conducted, most of the tests showed no change to the performance. But when it came to I/O workloads like databases, MGLRU was showing to be of substantial help:
5500U MGLRU

5500U MGLRU

5500U MGLRU

5500U MGLRU

5500U MGLRU

5500U MGLRU

So while most of the benchmarks showed no change to performance with the MGLRU-enabled kernel, for various database-type workloads the MGLRU-enabled kernel was extremely beneficial for this Ryzen 5 APU + 8GB RAM system. Granted, not many laptop users are running such database workloads on a laptop itself, but for those with edge computing devices / thin clients / SOHO servers with a consumer APU/CPU and ~8GB of RAM, the MGLRU feature could prove to be very attractive.

Those are the MGLRU v12 benchmarks I've carried out so far, stay tuned for more MGLRU testing on Phoronix with this being one of the most exciting performance-related kernel features in the works in recent times. Hopefully we'll see MGLRU finally mainlined for Linux 5.20 to make the next kernel cycle even more exciting.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week