Physical Memory Anti-Fragmentation Mechanisms

Project description

External physical memory fragmentation in modern operating systems resurfaced as a serious issue once again due to the widespread use of superpages. This project aims to design and implement several anti-fragmentation mechanisms for the FreeBSD kernel. At the time of writing, the FreeBSD kernel has no memory compaction mechanisms or any way of quantifying physical memory fragmentation. The first major goal is implementing several fragmentation metrics for the page allocation code. The second major goal is designing and implementing a runtime physical memory compaction mechanism. The last goal is to introduce various passive anti-fragmentation mechanisms throughout the virtual memory subsystem. The main idea is to enhance the page placement code to use contiguous spans of pages instead of allocating random 0-order pages.

Deliverables

The Code

Benchmarking results

This section will be updated with new results as I finish testing the patches listed above.

Docs

https://wiki.freebsd.org/PhysicalMemoryCompaction

SummerOfCode2023Projects/PhysicalMemoryAntiFragmentationMechanisms (last edited 2024-04-08T09:12:51+0000 by AlexanderLeidinger)