Affiliation:
1. Arthitecture and Language Implementation Laboratory, Department of Computer Science, University of Massachusetts, Amherst, MA
Abstract
Pretenuring can reduce copying costs in garbage collectors by allocating long-lived objects into regions that the garbage collector with rarely, if ever, collect. We extend previous work on pretenuring as follows. (1) We produce pretenuring advice that is neutral with respect to the garbage collector algorithm and configuration. We thus can and do combine advice from different applications. We find that predictions using object lifetimes at each allocation site in Java prgroams are accurate, which simplifies the pretenuring implementation. (2) We gather and apply advice to applications and the Jalapeño JVM, a compiler and run-time system for Java written in Java. Our results demonstrate that building combined advice into Jalapeño from different application executions improves performance regardless of the application Jalapeño is compiling and executing. This
build-time
advice thus gives user applications some benefits of pretenuring without any application profiling. No previous work pretenures in the run-time system. (3) We find that application-only advice also improves performance, but that the combination of build-time and application-specific advice is almost always noticeably better. (4) Our same advice improves the performance of generational and Older First colleciton, illustrating that it is
collector neutral
.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Garbage Collection for Mostly Serialized Heaps;Proceedings of the 2024 ACM SIGPLAN International Symposium on Memory Management;2024-06-20
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. Preserving Addressability Upon GC-Triggered Data Movements on Non-Volatile Memory;ACM Transactions on Architecture and Code Optimization;2022-03-24
4. 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
5. Evaluating the effectiveness of program data features for guiding memory management;Proceedings of the International Symposium on Memory Systems;2019-09-30