VLLFree: Improving Memory Reclamation by Giving the Linux Kernel Direct Access to Userspace Allocators
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: reserviert
- Projekte: ParPerOS
- Betreuer: Lars Wrenger, Daniel Lohmann
Linux usually cannot reclaim anonymous memory because it does not know if there is important data that might be lost. Instead, it relies on swapping or even terminates processes if it runs out of memory. Still, userspace processes can manually communicate (over syscalls like madvise) if memory is not needed anymore. However, syscalls are costly.
In this thesis, we want to create a new virtual memory area, that contains an instance of the lock-free LLFree allocator. Its lock-freedom property allows the allocator to be shared between different privilege levels. The idea is that, using this allocator, the user can mark which memory is used in the memory area, and at the same time, the kernel can see this and reclaim unused memory. If the reclaim state is also stored in the allocator, the userspace could use this information to improve the allocation strategy, focusing on non-reclaimed pages to reduce page faults.
For the evaluation, we also have to modify a userspace allocator (like jemalloc) to use these LLFree memory areas in applications. An interesting alternative implementation target might be a database like DuckDB or a key-value store like memcached, which contain separate specialized allocators (buffer manager).
Topics: Linux, C, Allocator

Links
Related Publications
-
USENIX
Conference
A
Distinguished Artifact Award
LLFree: Scalable and Optionally-Persistent Page-Frame Allocation -
2023 USENIX Annual Technical Conference (USENIX '23)USENIX Association2023Distinguished Artifact Award.
PDF Details Slides [BibTex]
-
EuroSys
Conference
A
HyperAlloc: Efficient VM Memory De/Inflation via Hypervisor-Shared Page-Frame Allocators -
Proceedings of the Twentieth European Conference on Computer SystemsACM2025.
PDF Details 10.1145/3689031.3717484 [BibTex]
