Svilen Kanev


Mallacc: Accelerating memory allocation.
Svilen Kanev, Sam (Likun) Xi, Gu-Yeon Wei, David Brooks
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). April 2017. [PDF] [Slides] [Code]

Abstract: Recent work shows that dynamic memory allocation consumes nearly 7% of all cycles in Google datacenters. With the trend towards increased specialization of hardware, we propose Mallacc, an in-core hardware accelerator designed for broad use across a number of high-performance, modern memory allocators. The design of Mallacc is quite different from traditional throughput-oriented hardware accelerators. Because memory allocation requests tend to be very frequent, fast, and interspersed inside other application code, accelerators must be optimized for latency rather than throughput and area overheads must be kept to a bare minimum. Mallacc accelerates the three primary operations of a typical memory allocation request: size class computation, retrieval of a free memory block, and sampling of memory usage. Our results show that malloc latency can be reduced by up to 50% with a hardware cost of less than 1500μm2 of silicon area, less than 0.006% of a typical high-performance processor core.