Proceedings of the 2015 International Symposium on Memory Management 2015
DOI: 10.1145/2754169.2754185
|View full text |Cite
|
Sign up to set email alerts
|

Safe and efficient hybrid memory management for Java

Abstract: Professor Michael Franz, Chair Java uses automatic memory management, usually implemented as a garbage-collected heap.That lifts the burden of manually allocating and deallocating memory, but it can incur significant runtime overhead and increase the memory footprint of applications. We propose a hybrid memory management scheme that utilizes region-based memory management to deallocate objects automatically on region exits. Static program analysis detects allocation sites that are safe for region allocation, i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
4
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 10 publications
(4 citation statements)
references
References 34 publications
0
4
0
Order By: Relevance
“…Scala off-heap [github.com/densh 2017] provides a mechanism to offload all allocations in a given scope onto the unmanaged heap but no full temporal and thread safety. Stancu et al [2015] introduce a static analysis that can infer a hierarchy of regions and annotate allocation sites so that at runtime a stack-like discipline of regions can be enforced. The analysis ensures that pointers only exist from newer regions to older regions or the GC heap but not vice verca.…”
Section: Related Workmentioning
confidence: 99%
“…Scala off-heap [github.com/densh 2017] provides a mechanism to offload all allocations in a given scope onto the unmanaged heap but no full temporal and thread safety. Stancu et al [2015] introduce a static analysis that can infer a hierarchy of regions and annotate allocation sites so that at runtime a stack-like discipline of regions can be enforced. The analysis ensures that pointers only exist from newer regions to older regions or the GC heap but not vice verca.…”
Section: Related Workmentioning
confidence: 99%
“…Alternatively, systems using garbage collection will incur significant garbage collection overheads when all text fragments are separately allocated. The garbage collector must analyze these objects upon each collection pass, adding to the overhead of garbage collection [33]. However, it can be expected that large groups of text fragments have equal life-times in text analytics applications.…”
Section: Memory Managementmentioning
confidence: 99%
“…Region-based memory allocators aim to maximize performance by eradicating internal fragmentation and by efficiently de-allocating a large number of items in bulk [6,12,33]. Region-based memory allocation is effective when individually allocated items go out of scope at the same time, implying that their memory can be reclaimed at the same time.…”
Section: Memory Managementmentioning
confidence: 99%
“…Escape analysis enables compilers to improve the run-time performance of programs: it determines whether an object is accessible outside its allocating method or thread. Subsequently this information is used to apply optimizations such as stack allocation (in contrast to heap allocation), scalar replacements, lock elision, or regionbased memory management [16]. Current JVMs use partial escape analysis [15], which is a control-flow sensitive and practical variant tailored toward JIT compilers.…”
Section: Specializations and Generics For Primitives Reducingmentioning
confidence: 99%