Author:
Barrett David A.,Zorn Benjamin G.
Abstract
Dynamic storage allocation is used heavily in many application areas including interpreters, simulators, optimizers, and translators. We describe research that can improve all aspects of the performance of dynamic storage allocation by predicting the lifetimes of short-lived objects when they are allocated. Using five significant, allocation-intensive C programs, we show that a great fraction of all bytes allocated are short-lived (> 90% in all cases). Furthermore, we describe an algorithm for liftetime prediction that accurately predicts the lifetimes of 42–99% of all objects allocated. We describe and simulate a storage allocator that takes adavantage of lifetime prediction of short-lived objects and show that it can significantly improve a program's memory overhead and reference locality, and even, at times, improve CPU performance as well.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
30 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Combining Machine Learning and Lifetime-Based Resource Management for Memory Allocation and Beyond;Communications of the ACM;2024-03-25
2. Predicting Dynamic Properties of Heap Allocations using Neural Networks Trained on Static Code: An Intellectual Abstract;Proceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management;2023-06-06
3. Learning-based Memory Allocation for C++ Server Workloads;Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems;2020-03-09
4. HALO: post-link heap-layout optimisation;Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization;2020-02-22
5. Low Latency Hardware-Accelerated Dynamic Memory Manager for Hard Real-Time and Mixed-Criticality Systems;2019 IEEE 22nd International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS);2019-04