Affiliation:
1. Department of Computer Science, Campus Box 430, University of Colorado, Boulder, CO
Abstract
Dynamic storage allocation has become increasingly important in many applications, in part due to the use of the object-oriented paradigm. At the same time, processor speeds are increasing faster than memory speeds and programs are increasing in size faster than memories. In this paper, we investigate efforts to predict heap object reference and lifetime behavior at the time objects are allocated. Our approach uses profile-based optimization, and considers a variety of different information sources present at the time of object allocation to predict the object's reference frequency and lifetime. Our results, based on measurements of six allocation intensive programs, show that program references to heap objects are highly predictable and that our prediction methods can successfully predict the behavior of these heap objects. We show that our methods can decrease the page fault rate of the programs measured, sometimes dramatically, in cases where the physical memory available to the program is constrained.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference19 articles.
1. Using lifetime predictors to improve memory allocation performance
2. Quantifying behavioral differences between C and C++ programs;Calder Brad;Journal of Programming Languages,1994
3. Predicting lifetimes in dynamically allocated memory;Cohn David A.;Advances in Neural Information Processing Systems,1996
4. Improving locality of reference in a garbage-collecting memory management system
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. VCMalloc: A Virtually Contiguous Memory Allocator;IEEE Transactions on Computers;2023-12
2. MaPHeA: A Framework for Lightweight Memory Hierarchy-aware Profile-guided Heap Allocation;ACM Transactions on Embedded Computing Systems;2022-12-13
3. Online Application Guidance for Heterogeneous Memory Systems;ACM Transactions on Architecture and Code Optimization;2022-07-06
4. MaPHeA: a lightweight memory hierarchy-aware profile-guided heap allocation framework;Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems;2021-06-22
5. HALO: post-link heap-layout optimisation;Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization;2020-02-22