Kir Kolyshkin
Topic:
Recent advances in the Linux kernel resource management
Company:
OpenVZ
Title:
Project leader Kirill Kolyshkin was named leader and project manager for the OpenVZ project in 2005 to further the adoption of containers virtualization for Linux. He spearheads the overall development and manages all key architecture updates and feature upgrades for OpenVZ. Kolyshkin has more than 10 years Linux experience and has long been an active open source advocate. He is a frequent speaker about virtualization technology and his 15-year career includes positions in information technology at Deutsche Bank and telecommunications company, Severtelecom. He holds a degree in Computer Science from the Ukhta State Technical University.
Abstract:
The Linux kernel is the solid base for a modern multitask/multiuser (and now even multicontainer) operating system. The kernel runs many of concurrent tasks fighting for the limited set of resources, so it has to manage/share those resources in a fair and controlled manner. The main resources are: CPU, RAM (kernel and user memory), swap, disk space, disk I/O, and network bandwidth.
This talk outlines existing resource control mechanisms (mainly ulimit) and their shortcomings (including, but not limited to the inability to control process groups rather than individual processes, and the inability to account/control kernel memory used on behalf of the userspace processes). Then it goes on to describe the recent advances in the field -- control groups (a generic mechanism for grouping tasks and assiging different resource controllers to those groups) and memory controller (a way to account and limit various memory-related resources).