Abstract
Prior work on dynamic memory allocation has largely neglected long-running server applications, for example, web servers and mail servers. Their requirements differ from those of one-shot applications like compilers or text editors. We investigated how to build an allocator that is not only fast and memory efficient but also scales well on SMP machines. We found that it is not sufficient to focus on reducing lock contention - higher speedups require a reduction in cache misses and bus traffic. We then designed and prototyped a new allocator, called LKmalloc, targeted for both traditional applications and server applications. LKmalloc uses several subheaps, each one with a separate set of free lists and memory arena. A thread always allocates from the same subheap but can free a block belonging to any subheap. A thread is assigned to a subheap by hashing on its thread ID. WC compared its performance with several other allocators on a server-like, simulated workload and found that it indeed scales well and is quite fast hut memory more efficiently.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference18 articles.
1. Real-time concurrent collection on stock multiprocessors
2. Memory allocation costs in large C and C++ programs
3. Wolfram Gloger Dynamic memory allocator implementations in Linux system libraries http://www.dent.med.uni-muenchen.de/---wmglo/ maltoc-slides.html (site visited May 11 1998) Wolfram Gloger Dynamic memory allocator implementations in Linux system libraries http://www.dent.med.uni-muenchen.de/---wmglo/ maltoc-slides.html (site visited May 11 1998)
4. Customalloc: Efficient synthesized memory allocators
Cited by
16 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Towards Increased Datacenter Efficiency with Soft Memory;Proceedings of the 19th Workshop on Hot Topics in Operating Systems;2023-06-22
2. NUMAlloc: A Faster NUMA Memory Allocator;Proceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management;2023-06-06
3. Zallocator: A High Throughput Write-Optimized Persistent Allocator for Non-Volatile Memory;ACM Journal on Emerging Technologies in Computing Systems;2022-10-13
4. wfspan: Wait-free Dynamic Memory Management;ACM Transactions on Embedded Computing Systems;2022-07-31
5. Core-aware combining: Accelerating critical section execution on heterogeneous multi-core systems via combining synchronization;Journal of Parallel and Distributed Computing;2022-04