Brussels / 1 & 2 February 2025

schedule

A memory allocator with only 0,006% fixed overhead written from scratch


How can you efficiently allocate tiny (kilo to megabyte sized) objects on petabytes of storage? Write a memory allocator from scratch which uses less than two bits per 4KB. This talk focusses on an interesting aspect of the SLASH/ storage engines for Varnish-Cache which uses a simple yet super efficient buddy memory allocator, a very well known algorithm from the 1960s. The primary novelty of this implementation is that it uses a fixed amount of metadata at less than two bits per minimum page size. It also supports prioritized fair waiting allocations and an interactive live view.

Speakers

Photo of Nils Goroll (slink) Nils Goroll (slink)