Integrate LLFree-C in Operating Systems
The Lo(ck|g)-free allocator, short LLFree, is a new cache-optimized, highly-parallel and optionally-persistent page frame allocator. It uses atomic instructions, provided by the CPU, instead of locks or logging. This has two main benefits: (1) the allocator scales very well on multicore systems, and (2) it can be used to efficiently manage persistent memory. It was already successfully integrated into Linux, replacing its page frame allocator.
In this topic, we want to integrate our C-based LLFree implementation into new operating systems, like FreeBSD or DragonflyBSD. This includes researching a few OSs, determining whether they would profit from a parallel allocator, and replacing their page frame allocator with LLFree.
Apart from better multicore performance, LLFree reduces fragmentation over time and supports persistent memory. There is ongoing work on making FreeBSD persistent on Intel's Optane Memory. Thus, having a persistent allocator for those OSs might be very interesting.
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]
Previous Work
LLC: DeRUSTing the Lo(ck|g)-Free Allocator for a C-Based OS Integration
- Typ
- Bachelorarbeit
- Status
- abgeschlossen
- Supervisors
- Lars Wrenger
Daniel Lohmann - Project
- ParPerOS
- Bearbeiter
- Helge Misfeldt (abgegeben: 18. Aug 2023)