Senpai - Automatic memory sizing for containers

Johannes Weiner

Playlists: 'asg2019' videos starting here / audio / related events

Due to virtual memory and optimistic caching strategies, true memory consumption of an application, and true utilization of a system's RAM, are mostly unknowns on modern operating systems. This has always made memory provisioning a tough and error-prone trial-and-error task, but it's aggravated with containerization, where the stated goal is thinner margins and higher resource efficiency.

Senpai is a userspace tool that harnesses recently developed Linux kernel features to automatically shrink cgroups to their smallest possible memory size without notably affecting the performance of the contained applications.

This talk goes over the motivation to develop senpai, how it works, and success stories from the Facebook fleet.