The jemalloc memory allocator is well known for low fragmentation and high concurrency, yet those two strengths sabotage each other. Eager free memory coalescence facilitates fragmentation avoidance, but concurrency scalability benefits from large and loosely coupled caches. Historically jemalloc has cached conservatively, with especially deleterious effects during rapid, large memory usage fluctuations.
This is because jemalloc's only sense of time has been in terms of allocation events, thus precluding work postponement. This talk will provide an overview of jemalloc internals, critically analyze several past approaches to cache management, and describe multiple opportunities enabled by wall clock awareness.
Jason Evans
[ Ссылка ]
Ещё видео!