Integrating a new Bilateral User-Kernel Allocator into jemalloc

User-space memory allocators (e.g. glibc malloc() or jemalloc) request memory from the operating system and provide it in smaller chunks to the user application. While the part within the user-space is relatively well understood, the interface between user-space allocator and kernel is still a rather unexplored area.

While the allocator historically used sbrk(2) to enlarge the heap-memory zone, modern allocators rely on mmap(2) to request a new anonymous memory mapping in the process' virtual address space.

In this thesis, we want to explore a bilateral interaction pattern between user-space and kernel that is faster than mmap(2).