NUMAlloc: A Faster NUMA Memory Allocator

被引:1
|
作者
Yang, Hanmei [1 ]
Zhao, Xin [1 ]
Zhou, Jin [1 ]
Wang, Wei [2 ]
Kundu, Sandip [1 ]
Wu, Bo [3 ]
Guan, Hui [1 ]
Liu, Tongping [1 ]
机构
[1] Univ Massachusetts Amherst, Amherst, MA 01003 USA
[2] Univ Texas San Antonio, San Antonio, TX USA
[3] Colorado Sch Mines, Golden, CO 80401 USA
关键词
Memory Allocation; NUMA Architecture; MANAGEMENT;
D O I
10.1145/3591195.3595276
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The NUMA architecture accommodates the hardware trend of an increasing number of CPU cores. It requires the cooperation of memory allocators to achieve good performance for multithreaded applications. Unfortunately, existing allocators do not support NUMA architecture well. This paper presents a novel memory allocator - NUMAlloc, that is designed for the NUMA architecture. NUMAlloc is centered on a binding-based memory management. On top of it, NUMAlloc proposes an "origin-aware memory management" to ensure the locality of memory allocations and deallocations, as well as a method called "incremental sharing" to balance the performance benefits and memory overhead of using transparent huge pages. According to our extensive evaluation, NUMAlloc has the best performance among all evaluated allocators, running 15.7% faster than the second-best allocator (mimalloc), and 20.9% faster than the default Linux allocator with reasonable memory overhead. NUMAlloc is also scalable to 128 threads and is ready for deployment.
引用
收藏
页码:97 / 110
页数:14
相关论文
共 50 条
  • [1] An effective shared memory allocator for reducing false sharing in NUMA multiprocessors
    Lee, JW
    Cho, YK
    1996 IEEE SECOND INTERNATIONAL CONFERENCE ON ALGORITHMS & ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP'96, PROCEEDINGS OF, 1996, : 373 - 382
  • [2] A faster optimal register allocator
    Fu, CQ
    Wilken, K
    35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS, 2002, : 245 - 256
  • [3] FreeGuard: A Faster Secure Heap Allocator
    Silvestro, Sam
    Liu, Hongyu
    Crosser, Corey
    Lin, Zhiqiang
    Liu, Tongping
    CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2389 - 2403
  • [4] A tunable hybrid memory allocator
    Hasan, Yusuf
    Chang, J. Morris
    JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (08) : 1051 - 1063
  • [5] A Decoupled Local Memory Allocator
    Diouf, Boubacar
    Hantas, Can
    Cohen, Albert
    Ozturk, Ozcan
    Palsberg, Jens
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2013, 9 (04)
  • [6] STALKING THE WILD MEMORY ALLOCATOR
    HOLUB, A
    DR DOBBS JOURNAL, 1988, 13 (06): : 80 - &
  • [7] Hardware implementation of a memory allocator
    Jasrotia, K
    Zhu, JW
    EUROMICRO SYMPOSIUM ON DIGITAL SYSTEM DESIGN, PROCEEDINGS: ARCHITECTURES, METHODS AND TOOLS, 2002, : 355 - 358
  • [8] The intelligent memory allocator selector
    Ulgen, Onur
    Avci, Mutlu
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 : 342 - 354
  • [9] Vmalloc: a general and efficient memory allocator
    AT&T Bell Lab, Murray Hill, NJ, United States
    Software Pract Exper, 3 (357-374):
  • [10] The Hippocampus as a Stable Memory Allocator for Cortex
    Valiant, Leslie G.
    NEURAL COMPUTATION, 2012, 24 (11) : 2873 - 2899