Author:
Grunwald Dirk,Zorn Benjamin,Henderson Robert
Abstract
The allocation and disposal of memory is a ubiquitous operation in most programs. Rarely do programmers concern themselves with details of memory allocators; most assume that memory allocators provided by the system perform well. This paper presents a performance evaluation of the reference locality of dynamic storage allocation algorithms based on trace-driven simualtion of five large allocation-intensive C programs. In this paper, we show how the design of a memory allocator can significantly affect the reference locality for various applications. Our measurements show that poor locality in sequential-fit allocation algorithms reduces program performance, both by increasing paging and cache miss rates. While increased paging can be debilitating on any architecture, cache misses rates are also important for modern computer architectures. We show that algorithms attempting to be space-efficient by coalescing adjacent free objects show poor reference locality, possibly negating the benefits of space efficiency. At the other extreme, algorithms can expend considerable effort to increase reference locality yet gain little in total execution performance. Our measurements suggest an allocator design that is both very fast and has good locality of reference.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference27 articles.
1. Optimally profiling and tracing programs
2. Using lifetime predictors to improve memory allocation performance
3. The software lookaside buffler reduces search overhead with linked lists
4. Software prefetching
5. Digital Equipment Corporation. Unix ManualPagefor PIXIE ULTRIX V4.2 (rev 96) edition September 1991. Digital Equipment Corporation. Unix ManualPagefor PIXIE ULTRIX V4.2 (rev 96) edition September 1991.
Cited by
23 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Flare: A Fast, Secure, and Memory-Efficient Distributed Analytics Framework;Proceedings of the VLDB Endowment;2023-02
2. wfspan: Wait-free Dynamic Memory Management;ACM Transactions on Embedded Computing Systems;2022-07-31
3. Tracing and its observer effect on concurrency;Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes;2021-09-29
4. Massively parallel GPU memory compaction;Proceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management - ISMM 2019;2019
5. Mimalloc: Free List Sharding in Action;Programming Languages and Systems;2019