Managing memory in variable sized chunks
Memory in Linux is currently managed on a per page (commonly 4kB) basis. For machines with a lot of memory this may not be the best strategy. This current approach leads to fragmentation problems which hinders the ability to allocate large pages and support features such as hot plug memory. An alternative approach is to manage memory on the basis of larger, variable sized chunks. The hypothesis is that this approach will lead to increased performance due to cache friendlier memory management data structures, as well as a reduction in fragmentation. The presentation will cover the research into this strategy which is being conducted using Linux and K42 kernel. K42 is an open-source research OS for 64-bit multiprocessor systems, focusing on the PowerPC architecture. It uses an object-oriented design to achieve good performance, scalability, customisability, and maintainability. K42 supports the Linux API and ABI, allowing it to use unmodified Linux applications and libraries, and can be deployed by running on an existing installation of Linux. The development process of K42 is intended to share concepts with Linux, many ideas have already been transferred between the two projects.
Christopher Yeoh is an employee of the IBM Linux Technology Center, working at OzLabs in Canberra, Australia. He has been using Linux since 1994 and worked on the Linux Standard Base between 2000 and 2005. He now works on Linux and K42 kernel development, primarily doing research on memory management.