skip to main content
10.5555/3049877.3049904dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
research-article

String deduplication during garbage collection in virtual machines

Published: 31 October 2016 Publication History

Abstract

Memory management is a significant topic in virtual machine research. As allocation and deallocation of objects is performed automatically, garbage collection (GC) has become an important field of research. It aims to speed up and optimize the execution of applications developed in languages such as Java, C#, Python and others. Even though GC techniques have become more sophisticated, automatic memory management is not optimal. Garbage collection techniques, such as reference counting, mark-sweep, mark-compact, copying collection and generational garbage collection build the base of most automated memory management environments. Most GC policies include a stop-the-world phase that is used to detect live objects.The research presented in this paper aims to improve the automatic memory management and application execution by investigating an optimization of the memory layout. The goal of the approach described is to utilize the stop-the-world phase of the garbage collector in order to detect duplicate strings and to deduplicate them before copying them to a different region. The goal of this algorithm is to reduce memory duplication, as well as copying of memory, in order to decrease the heap size and therefore the number of garbage collections required to execute the client application.

References

[1]
S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, et al. The DaCapo benchmarks: Java benchmarking development and analysis. In ACM Sigplan Notices, volume 41, pages 169--190. ACM, 2006.
[2]
C. J. Cheney. A nonrecursive list compacting algorithm. Communications of the ACM, 13(11):677--678, 1970.
[3]
G. E. Collins. A method for overlapping and erasure of lists. Communications of the ACM, 3(12):655--657, 1960.
[4]
S. P. E. Corporation. SPEC JBB2005. https://www.spec.org/jbb2005/ {Online. Last accessed: 2016-Aug-24}, 2016.
[5]
S. P. E. Corporation. SPECjbb2013. https://www.spec.org/jbb2013/ {Online. Last accessed: 2016-Aug-24}, 2016.
[6]
R. R. Fenichel and J. C. Yochelson. A LISP garbage-collector for virtual-memory computer systems. Communications of the ACM, 12(11):611--612, 1969.
[7]
M. Horie, K. Ogata, K. Kawachiya, and T. Onodera. String deduplication for Java-based middleware in virtualized environments. In Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, pages 177--188. ACM, 2014.
[8]
R. Jones, A. Hosking, and E. Moss. The Garbage Collection Handbook: The Art of Automatic Memory Management. Chapman & Hall/CRC, 2011.
[9]
K. Kawachiya, K. Ogata, and T. Onodera. Analysis and reduction of memory inefficiencies in Java strings. ACM Sigplan Notices, 43(10):385--402, 2008.
[10]
P.-�. Larson. Dynamic hashing. BIT Numerical Mathematics, 18(2):184--201, 1978.
[11]
D. Marinov and R. O'Callahan. Object equality profiling. In ACM SIGPLAN Notices, volume 38, pages 313--325. ACM, 2003.
[12]
J. McCarthy. Recursive functions of symbolic expressions and their computation by machine, part i. Communications of the ACM, 3(4):184--195, 1960.
[13]
R. A. Saunders. The LISP system for the Q-32 computer. The Programming Language LISP: Its Operation and Applications, pages 220--231, 1974.

Cited By

View all
  • (2017)Improving garbage collection-time string deduplicationProceedings of the 27th Annual International Conference on Computer Science and Software Engineering10.5555/3172795.3172809(113-119)Online publication date: 6-Nov-2017

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '16: Proceedings of the 26th Annual International Conference on Computer Science and Software Engineering
October 2016
355 pages

Publisher

IBM Corp.

United States

Publication History

Published: 31 October 2016

Author Tags

  1. garbage collection
  2. memory management
  3. string deduplication
  4. virtual machines

Qualifiers

  • Research-article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2017)Improving garbage collection-time string deduplicationProceedings of the 27th Annual International Conference on Computer Science and Software Engineering10.5555/3172795.3172809(113-119)Online publication date: 6-Nov-2017

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media