AVX-512 xor_gen Continues To Look Exciting For Helping Linux RAID With Modern CPUs

AVX-512 xor_gen Continues To Look Exciting For Helping Linux RAID With Modern CPUs

Google engineer Eric Biggers back in June posted an AVX-512 optimization for Linux RAID yielding up to a 41% improvement on a modern AMD Ryzen 9 9950X (Zen 5) processor. A revised patch then put it as much as a 43% improvement for this AVX-512 optimized xor_gen() function. The code hasn't yet been merged to mainline but an updated version of it is now available. The Linux xor_gen() function is used for generating and checking parity blocks for Linux software RAID as well as the native, built-in RAID capabilities on the likes of the Btrfs file-system. Eric Biggers has been pursuing an AVX-512 implementation of xor_gen() for enhancing the throughput on modern Intel and AMD processors. This implementation should work on the likes of AMD Zen 4 and newer, Intel Xeon Sapphire Rapids and later, Intel Raptor Lake, or upcoming Intel Nova Lake and newer. Biggers benchmark on the AMD Ryzen 9 9950X are very promising: While the timing doesn't look like it will work out with the imminent Linux v7.3 merge window, this weekend Biggers posted an updated version of the patch. The revised code fixes some missing VZEROUPPER instructions in the new AVX-512 code. Those interested can check out the v4 patch series for the AVX-512 xor_gen() implementation and enhancements to the kernel's handling of feature flags for AVX/AVX-512.

Original Source

Read the full article at Phoronix →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.