Trying Out The "Folios" Patches On An AMD Linux Server
One of the low-level exciting kernel advancements being worked on at the moment is the new "folios" struct for improving Linux memory management. Tests by those involved found that in some conditions Linux kernel builds for example could be up to 7% faster. Given the recent folios v14 patches being published, I took them for a spin on an AMD EPYC server to see the impact on overall performance.
Memory folios are being worked on by Oracle and it's possible at least some of the patches may come for the 5.15 kernel. Given the work stabilizing now over fourteen rounds of review and the possibility at least some of the patches going mainline soon, recently I did some benchmarks of Linux 5.14-rc1 against the Matthew Wilcox's "folio_14" Git branch at the time while otherwise building the same kernel configuration with just looking at the impact of the folios work.
For this initial round of testing was an AMD EPYC 7543 within a Tyan GC68-B8036-LE barebones server with Tyan S8036GM2NE motherboard currently being reviewed at Phoronix.
A wide variety of different benchmarks were run between the two kernel builds, 118 tests in total.
Across the span of 118 different and diverse benchmarks, the geometric mean of all the data put the "folios" kernel just a hair faster than the Linux 5.14 upstream state.
But in a subset of tests there was indeed a measurable difference in the benchmarks... A number of them being a few percent faster, jiving with the developer reports of the folios work allowing a potential ~7% kernel build time improvement PostgreSQL, video encoding, and HPC workloads like Rodinia and NPB were among those enjoying up to a few percent improvement and beyond the threshold of the standard deviation between runs.
Showing the largest impact was a PostgreSQL read-write test showing a huge improvement, but in that case there was indeed considerable noise:
While that test was abnormally noisy in this configuration, even at the extremes if taking the best Linux 5.14 result and the worst folios result out of the 12+ runs is showing Folios having an improvement over the vanilla kernel build.
But long story short from this preliminary testing (when on the way to mainline, tests will be conducted on more systems), over the course of 118 tests, the folios work is overall showing just some mostly minor improvements here and there.
Memory folios are being worked on by Oracle and it's possible at least some of the patches may come for the 5.15 kernel. Given the work stabilizing now over fourteen rounds of review and the possibility at least some of the patches going mainline soon, recently I did some benchmarks of Linux 5.14-rc1 against the Matthew Wilcox's "folio_14" Git branch at the time while otherwise building the same kernel configuration with just looking at the impact of the folios work.
For this initial round of testing was an AMD EPYC 7543 within a Tyan GC68-B8036-LE barebones server with Tyan S8036GM2NE motherboard currently being reviewed at Phoronix.
A wide variety of different benchmarks were run between the two kernel builds, 118 tests in total.
Across the span of 118 different and diverse benchmarks, the geometric mean of all the data put the "folios" kernel just a hair faster than the Linux 5.14 upstream state.
But in a subset of tests there was indeed a measurable difference in the benchmarks... A number of them being a few percent faster, jiving with the developer reports of the folios work allowing a potential ~7% kernel build time improvement PostgreSQL, video encoding, and HPC workloads like Rodinia and NPB were among those enjoying up to a few percent improvement and beyond the threshold of the standard deviation between runs.
Showing the largest impact was a PostgreSQL read-write test showing a huge improvement, but in that case there was indeed considerable noise:
While that test was abnormally noisy in this configuration, even at the extremes if taking the best Linux 5.14 result and the worst folios result out of the 12+ runs is showing Folios having an improvement over the vanilla kernel build.
But long story short from this preliminary testing (when on the way to mainline, tests will be conducted on more systems), over the course of 118 tests, the folios work is overall showing just some mostly minor improvements here and there.
6 Comments