Facebook Posts Latest Memory Controller Patches With Up To 45% Better Slab Utilization
Facebook engineer Roman Gushchin presented a new slab memory controller for Linux last September. The new memory controller has been very promising with the potential of using 30~40% less memory and less memory fragmentation, among other benefits. The third revision to that kernel work has now been sent out for evaluation.
The new controller allows for sharing of slab pages between memory cgroups and other improvements. Using this new code can lead up to 45% better slab utilization, similar benefits to a drop in total kernel memory usage, and less unmovable slab pages. The code is also cleaner and with this third revision the code is further simplified.
Earlier patches have noted Facebook is already using the code in production on their servers and was saving ~650-700MB+ for web front-ends, database caching, and DNS servers, among other wins.
The new set of 19 patches can be found on the kernel mailing list. Hopefully this work can get squared away in time for the Linux 5.8 kernel cycle this summer.
The new controller allows for sharing of slab pages between memory cgroups and other improvements. Using this new code can lead up to 45% better slab utilization, similar benefits to a drop in total kernel memory usage, and less unmovable slab pages. The code is also cleaner and with this third revision the code is further simplified.
Earlier patches have noted Facebook is already using the code in production on their servers and was saving ~650-700MB+ for web front-ends, database caching, and DNS servers, among other wins.
The new set of 19 patches can be found on the kernel mailing list. Hopefully this work can get squared away in time for the Linux 5.8 kernel cycle this summer.
14 Comments