Enabling Huge Pages for Real-World Executables
summary
Hugifier is a userspace pipeline that binary-transforms ELF files to align code segments to 2 MB boundaries without disassembly or relinking, then prefetches and coerces file-backed page-cache mappings so loaders get huge pages while preserving sharing, paging, and debuggers. It hooks dlopen with ld_audit, avoids anonymous remapping, and runs on stock kernels. Evaluation shows >90% iTLB miss reduction, up to 11.3% speedup, and beats libhugetlbfs by up to 5.3% and RO‑THP by 7.3%.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 0:33Huge pages for execution
- 2:36Challenges enabling huge pages
- 4:00Requirements for huge pages
- 5:51Segment relocation in ELF
- 7:34Existing solutions limits
- 10:03Huge pages without relinking
- 12:57Forcing page cache to huge pages
- 14:00Handling dlopen with ld audit
- 14:24Performance evaluation
- 16:35Node.js benchmarks
- 17:19Apache benchmarks
- 18:46Memory vs performance trade-offs
- 19:07Conclusion and future
- 19:29Q&A
