Meta's approach to memory allocation has evolved to address the challenges of high-throughput, low-fragmentation, and robust heap profiling in large-scale server applications. This includes the adoption and optimization of jemalloc, a memory allocator that provides fast allocation/deallocation, consistent RAM usage through low fragmentation, and critical heap profiling capabilities. Innovations have focused on improving thread caching, increasing mutex granularity, optimizing dirty page purging, and a renewed commitment to modernizing the codebase and evolving the allocator for the latest hardware and workloads, including improvements to the huge-page allocator, memory efficiency mechanisms, and AArch64 optimizations.
All Meta trails