Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures

5Citations
Citations of this article
29Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We demonstrate that general-purpose memory allocation involving many threads on many cores can be done with high performance, multicore scalability, and low memory consumption. For this purpose, we have designed and implemented scalloc, a concurrent allocator that generally performs and scales in our experiments better than other allocators while using less memory, and is still competitive otherwise. The main ideas behind the design of scalloc are: uniform treatment of small and big objects through so-called virtual spans, efficiently and effectively reclaiming free memory through fast and scalable global data structures, and constant-time (modulo synchronization) allocation and deallocation operations that trade off memory reuse and spatial locality without being subject to false sharing.

Cite

CITATION STYLE

APA

Aigner, M., Kirsch, C. M., Lippautz, M., & Sokolova, A. (2015). Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures. ACM SIGPLAN Notices, 50(10), 451–469. https://doi.org/10.1145/2814270.2814294

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free