Optimal Heap Limits for Reducing Browser Memory Use
@article{Kirisame2022OptimalHL, title={Optimal Heap Limits for Reducing Browser Memory Use}, author={Marisa Kirisame and Pranav Shenoy and Pavel Panchekha}, journal={ArXiv}, year={2022}, volume={abs/2204.10455} }
Garbage collected language runtimes must carefully tune heap limits to reduce garbage collection time and memory usage. However, there’s a trade-off: a lower heap limit reduces memory use but increases garbage collection time. Classic methods for setting heap limits include manually-tuned heap limits and multiple-of-working-memory rules of thumb. But because it’s a trade-off, it’s not clear what heap limit rule is best or how even to compare them. We address this problem with a new framework…
References
SHOWING 1-10 OF 28 REFERENCES
Automatic heap sizing: taking real memory into account
- Computer ScienceISMM '04
- 2004
This work presents an automatic heap-sizing algorithm applicable to different garbage collectors with only modest changes, and shows that its adaptive heap sizing algorithm can substantially reduce running time over fixed-sized heaps.
Prioritized garbage collection: explicit GC support for software caches
- Computer ScienceOOPSLA
- 2016
This paper presents prioritized garbage collection, a cooperative programming language and runtime solution to this problem, and uses this API to implement a space-aware least-recently-used cache, called a Sache, that is a drop-in replacement for existing caches, such as Google's Guava library.
Quantifying the performance of garbage collection vs. explicit memory management
- Computer ScienceOOPSLA '05
- 2005
The results quantify the time-space tradeoff of garbage collection: with five times as much memory, an Appel-style generational collector with a non-copying mature space matches the performance of reachability-based explicit memory management.
Controlling garbage collection and heap growth to reduce the execution time of Java applications
- Computer ScienceTOPL
- 2006
Experimental results demonstrate that when compared with the existing approach used in the standard BDW collector, this new strategy can significantly reduce application execution times and be applied in a number of high-performance computing and server environments.
Waste not, want not: resource-based garbage collection in a shared environment
- Computer ScienceISMM '11
- 2011
The design of the memory management system is described, it is shown how it can be added to existing VMs with little effort, and it is document that it has almost no impact on performance when memory is plentiful.
Garbage collection without paging
- Computer SciencePLDI '05
- 2005
This bookmarking collector cooperates with the virtual memory manager to guide its eviction decisions, and using summary information recorded from evicted pages, the collector can perform in-memory full-heap collections.
Program-level adaptive memory management
- Computer ScienceISMM '06
- 2006
This work demonstrates the presence of an optimal heap size for a number of applications and introduces a scheme which adaptively finds this good heap size by adapting itself dynamically, independent of the underlying main memory size, code optimizations, and garbage collection algorithm.
Concurrent marking of shape-changing objects
- Computer ScienceISMM
- 2019
Novel wait-free object snapshotting and lock-based concurrent marking algorithms are introduced for unsafe shape changes in V8 and it is proved that they preserve key invariants.
An advisor for flexible working sets
- Computer ScienceSIGMETRICS '90
- 1990
A memory-use model of virtual memory working sets for garbage-collected systems and databases with block cache buffers is presented, and a method that may be used by virtual memory managers to advise programs on how to adjust their working sets is proposed.
The judgment of forseti: economic utility for dynamic heap sizing of multiple runtimes
- Computer ScienceISMM
- 2015
The FORSETI system is introduced, which is a principled approach for holistic memory management that enables dramatic reductions (up to 5x) in heap footprint without compromising application execution times using a standard Java managed runtime.