skip to main content
article

Inter-JVM Sharing

Published: 01 September 2016 Publication History

Abstract

Some Java programs lend themselves to being run many times and create the same fixed objects every time. Many of these common objects are Strings. To exploit this trend, we have modified IBM's J9 Java virtual machine JVM to allow the same String objects to share reuse their internal char[] character arrays in each JVM. The first instance of the Java program runs to completion and then sets up the Strings for sharing, so that subsequent instances of the same program can use the char[] arrays that it created instead of recreating them. String sharing will not provide benefit in all applications, but for those that fit the pattern, as exemplified by the Eclipse and H2 benchmarks, we were able to achieve significant heap saving with negligible impact on performance. Copyright � 2015 John Wiley & Sons, Ltd.

References

[1]
JGosling, BJoy, GSteele, GBracha, and ABuckley 2011, JavaTM Language Specification, The Java SE 7 Edition, Addison-Wesley Professional, Redwood City, CA, USA.
[2]
KKawachiya, KOgata, and TOnodera 2008, Analysis and reduction of memory inefficiencies in java strings, pp.385-402. Proceedings of the 23rd ACM Sigplan Conference on Object-oriented Programming Systems Languages and Applications, <bookSeriesTitle>OOPSLA '08</bookSeriesTitle>, ACM, New York, NY, USA.
[3]
DMarinov, and RO'Callahan 2003, Object equality profiling, pp.313-325. Proceedings of the 18th Annual ACM Sigplan Conference on Object-oriented Programing, Systems, Languages, and Applications, <bookSeriesTitle>OOPSLA '03</bookSeriesTitle>, ACM, New York, NY, USA.
[4]
MWegiel, and CKrintz 2008, Xmem: Type-safe, transparent, shared memory for cross-runtime communication and coordination, pp.327-338. Proceedings of the 2008 ACM Sigplan Conference on Programming Language Design and Implementation, <bookSeriesTitle>PLDI '08</bookSeriesTitle>, ACM, New York, NY, USA.
[5]
RJones, AHosking, and EMoss 2011, The Garbage Collection Handbook: The Art of Automatic Memory Management 1st¿edn., Chapman & Hall/CRC, Boca Raton, FL, USA.
[6]
RPagh, and FFRodler 2001, Cuckoo hashing, pp.Springer 2001, ISBN 3-540-42493-8, 121-133. Algorithms - ESA 2001, 9th Annual European Symposium, Aarhus, Denmark, August 28-31, 2001, Proceedings. Lecture Notes in Computer Science 2161,
[7]
DAbuaiadh, YOssia, EPetrank, and USilbershtein 2004, An efficient parallel heap compaction algorithm, pp.224-236. Proceedings of the 19th Annual ACM Sigplan Conference on Object-oriented Programming, Systems, Languages, and Applications, <bookSeriesTitle>OOPSLA '04</bookSeriesTitle>, ACM, New York, NY, USA.
[8]
SBhatkar, DCDuVarney, and RSekar 2003, Address obfuscation: An efficient approach to combat a board range of memory error exploits, pp.105-120. Proceedings of the 12th Conference on Usenix Security Symposium - Volume 12, <bookSeriesTitle>SSYM'03</bookSeriesTitle>, USENIX Association, Berkeley, CA, USA.
[9]
SMBlackburn, RGarner, CHoffmann, AMKhang, KSMcKinley, RBentzur, ADiwan, DFeinberg, DFrampton, SZGuyer, MHirzel, AHosking, MJump, HLee, JEBMoss, APhansalkar, DStefanović, TVanDrunen, D<familyNamePrefix>von</familyNamePrefix>Dincklage, and BWiedermann 2006, The DaCapo benchmarks: Java benchmarking development and analysis, pp.169-190. Proceedings of the 21st Annual ACM Sigplan Conference on Object-oriented Programming Systems, Languages, and Applications, <bookSeriesTitle>OOPSLA '06</bookSeriesTitle>, ACM, New York, NY, USA.
[10]
Standard performance evaluation corporation benchmarks. "/proxy/http://www.spec.org" {last accessed 11 February 2015}.

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 Software—Practice & Experience
Software—Practice & Experience  Volume 46, Issue 9
September 2016
141 pages

Publisher

John Wiley & Sons, Inc.

United States

Publication History

Published: 01 September 2016

Author Tags

  1. footprint reduction
  2. garbage collection
  3. java
  4. shared memory
  5. string
  6. string deduplication

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
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

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media