Title
Short-term memory for self-collecting mutators
Abstract
We propose a new memory model called short-term memory for managing objects on the heap. In contrast to the traditional persistent memory model for heap management, objects in short-term memory expire after a finite amount of time, which makes deallocation unnecessary. Instead, expiration of objects may be extended, if necessary, by refreshing. We have developed a concurrent, incremental, and non-moving implementation of short-term memory for explicit refreshing called self-collecting mutators that is based on programmer-controlled time and integrated into state-of-the-art runtimes of three programming languages: C, Java, and Go. All memory management operations run in constant time without acquiring any locks modulo the underlying allocators. Our implementation does not require any additional heap management threads, hence the name. Expired objects may be collected anywhere between one at a time for maximal incrementality and all at once for maximal throughput and minimal memory consumption. The integrated systems are heap management hybrids with persistent memory as default and short-term memory as option. Our approach is fully backwards compatible. Legacy code runs without any modifications with negligible runtime overhead and constant per-object space overhead. Legacy code can be modified to take advantage of short-term memory by having some but not all objects allocated in short-term memory and managed by explicit refreshing. We study single- and multi-threaded use cases in all three languages macro-benchmarking C and Java and micro-benchmarking Go. Our results show that using short-term memory (1) simplifies heap management in a state-of-the-art H.264 encoder written in C without additional time and minor space overhead, and (2) improves, at the expense of safety, memory management throughput, latency, and space consumption by reducing the number of garbage collection runs, often even to zero, for a number of Java and Go programs.
Year
DOI
Venue
2011
10.1145/1993478.1993493
ISMM
Keywords
Field
DocType
short-term memory,traditional persistent memory model,new memory model,additional heap management thread,memory management operation,memory management throughput,legacy code,persistent memory,minimal memory consumption,self-collecting mutators,heap management,short term memory,integrable system,garbage collection,memory management,programming language,use case,memory model
Registered memory,Interleaved memory,Extended memory,Programming language,Computer science,Parallel computing,Real-time computing,Memory model,Memory management,Memory map,Flat memory model,Region-based memory management
Conference
Volume
Issue
ISSN
46
11
0362-1340
Citations 
PageRank 
References 
0
0.34
17
Authors
7
Name
Order
Citations
PageRank
Martin Aigner1131.66
Andreas Haas2785.75
christoph m kirsch352649.50
Michael Lippautz4524.48
Ana Sokolova525418.88
Stephanie Stroka6131.63
Andreas Unterweger7202.92