FBMM: Making Memory Management Extensible With Filesystems
summary
Proposes using Linux VFS callbacks to implement memory policies as FBMM file systems so memory is allocated by creating and mapping files in a mount directory and freed by deleting them. Builds standalone memory management filesystems (500–1500 LOC) for tiering, bandwidth-aware interleaving, and contiguous allocation that load separately from the kernel. Reports <8% overhead when allocating a single page and <0.1% at 128 pages, tiered MFS hits 98% of baseline throughput and sometimes outperforms kernel implementations.
AI-written summary · about
chapters (14)
- 0:00FBMM introduction and motivation
- 2:29Current memory management limits
- 3:53HugeTLBFS inspiration
- 4:58Memory managers as filesystems
- 7:26FBMM shim integration
- 8:53File creation overhead optimization
- 10:15Manual control for apps
- 10:35FBMM shim performance
- 11:38Basic MFS implementation
- 12:39Tiered MFS building
- 14:23Bandwidth MFS for NUMA
- 15:26Contig MFS allocation
- 16:51FBMM implementation ease
- 17:56Conclusion and future
