Linux Kernel Patches Allow Booting Higher Core Count Systems Much Faster
Patches started earlier this year for allowing the parallel bring-up of secondary CPU cores for x86_64 processors have gotten back to being worked on and were sent out on Thursday for review.
The focus on the set of patches affecting a few hundred lines of code is about being able to bring-up secondary (x86_64) CPU cores in parallel.
This is just the beginning and there is the opportunity for even greater parallelization to happen in the Linux kernel boot process. But as Amazon's David Woodhouse noted in the patch series, "But I'll take a mere factor of 15 for the time being." Yes, on his test Intel Xeon server was a nearly 15x improvement with the patches as they stand today.
Currently bringing up a 96-thread Skylake server takes around 500ms but it dropped to just about 34ms with these patches... A big difference and would be an even larger difference for the latest Intel Xeon Scalable "Ice Lake" or especially AMD EPYC servers with even higher core counts. Currently there can be 128 cores / 256 thread AMD EPYC 2P servers while that is increasing for Genoa and Bergamo next year. So the timing of these patches around parallel CPU bring-up for Linux is certainly great. These patches are in the Linux x86/x86_64 code and won't directly impact the likes of Ampere Altra Max with 128 cores per socket.
But even higher core count desktop and workstation processors will benefit from this work too. Woodhouse also noted in one of the patches that one of his 28-thread Haswell systems went from taking around 120ms to boot from EFI to Linux while that dropped to 49.5ms with these patches.
For now the patches are out for review but will hopefully be merged soon.
The focus on the set of patches affecting a few hundred lines of code is about being able to bring-up secondary (x86_64) CPU cores in parallel.
This is just the beginning and there is the opportunity for even greater parallelization to happen in the Linux kernel boot process. But as Amazon's David Woodhouse noted in the patch series, "But I'll take a mere factor of 15 for the time being." Yes, on his test Intel Xeon server was a nearly 15x improvement with the patches as they stand today.
Currently bringing up a 96-thread Skylake server takes around 500ms but it dropped to just about 34ms with these patches... A big difference and would be an even larger difference for the latest Intel Xeon Scalable "Ice Lake" or especially AMD EPYC servers with even higher core counts. Currently there can be 128 cores / 256 thread AMD EPYC 2P servers while that is increasing for Genoa and Bergamo next year. So the timing of these patches around parallel CPU bring-up for Linux is certainly great. These patches are in the Linux x86/x86_64 code and won't directly impact the likes of Ampere Altra Max with 128 cores per socket.
But even higher core count desktop and workstation processors will benefit from this work too. Woodhouse also noted in one of the patches that one of his 28-thread Haswell systems went from taking around 120ms to boot from EFI to Linux while that dropped to 49.5ms with these patches.
For now the patches are out for review but will hopefully be merged soon.
22 Comments