Nothing Special   »   [go: up one dir, main page]

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

Persistent memory storage of cold regions in the OpenJ9 Java virtual machine

Published: 29 October 2018 Publication History

Abstract

In this paper an optimization technique for object-oriented language runtimes with automatic memory management is investigated. The technique involves segregating objects into different memory areas, backed by different memory devices, on a per object basis. This technique is compared to operating system paging mechanisms with swap partitions. Two different schemes for determining which objects should be segregated into slower memory are tested and their results are discussed. It has been observed that each technique can be the most or least optimal choice depending on the application.

References

[1]
David F. Bacon and V.T. Rajan. 2001. Concurrent Cycle Collection in Reference Counted Systems. In ECOOP 2001 - Object-Oriented Programming, Jørgen Lindskov Knudsen (Ed.). LNCS, 207--235.
[2]
C. Bailey. 2008. IBM Java Garbage Collection: Best Practices for Sizing and Tuning the Java Heap. https://www-01.ibm.com/support/docview.wss?uid=swg27013824&aid=1. Accessed: 2017-09-07.
[3]
K. Briggs, B. Zhou, and G. Dueck. 2017. Cold object identification in the Java virtual machine. Software - Practice & Experience 47 (2017), 79--95. Issue 1.
[4]
George E. Collins. 1960. A Method for Overlapping and Erasure of Lists. 3, 12 (Dec. 1960), 655--657.
[5]
dacapobench. 2010. The DaCapo Benchmark Suite. http://dacapobench.org/benchmarks.html. Accessed: 2018-03-27.
[6]
T. Eimouri, K. B. Kent, and A. Micic. 2016. Effects of false sharing and locality on object layout optimization for multi-threaded applications. In Electrical and Computer Engineering (CCECE), 2016 IEEE Canadian Conference on. IEEE, 1--5.
[7]
Robert R. Fenichel and Jerome C. Yochelson. 1969. A Lisp Garbage Collector for Virtual Memory Computer Systems. 12, 11 (Nov. 1969), 611--612.
[8]
J. Gosling, B. Joy, et al. 2011. The Java Language Specification Java SE 7 Edition. Oracle America, Inc., 500 Oracle Parkway M/S 5op7, California 94065, U.S.A.
[9]
IBM. {n. d.}. Balanced Garbage Collection policy. https://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.0.0/com.ibm.java.lnx.70.doc/diag/understanding/mm_gc_balanced.html. Accessed: 2018-04-16.
[10]
IBM. 2017. J9 Virtual Machine (JVM). https://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/user/java_jvm.html. Accessed: 2017-06-23.
[11]
IBM. 2018. Eclipse OMR. https://github.com/eclipse/omr. Accessed: 2018-03-27.
[12]
IBM. 2018. Eclipse OpenJ9. https://github.com/eclipse/openj9. Accessed: 2018-03-27.
[13]
Intel. 2017. Intel Optane Technology - Disruptive Memory Technology. https://www.intel.com/content/www/us/en/architecture-and-technology/optane-technology-animation.html. Accessed: 2017-06-22.
[14]
R. Jones, A. Hosking, and E. Moss. 2012. The Garbage Collection Handbook. CRC Press, 6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742.
[15]
C. Lameter. 2013. NUMA (Non-Uniform Memory Access): An Overview. Queue 11, 7, Article 40 (July 2013), 12 pages.
[16]
T. Lindholm, F. Yellin, et al. 2011. The Java Virtual Machine Specification Java SE 7 Edition. Oracle America, Inc., 500 Oracle Parkway M/S 5op7, California 94065, U.S.A.
[17]
T. Mikolajick, C. Dehm, et al. 2001. FeRAM technology for high density applications. Infineon Technologies AG Munich, Memory Products Division (2001).
[18]
R. Neale, D. Nelson, and Gordon Moore. 1970. Non-volatile and programmable, the read-mostly memory is here. Electronics (1970), 56--60.
[19]
P. Patros, K.B. Kent, and M. Dawson. 2017. Investigating the Effect of Garbage Collection on Service Level Objectives of Clouds. Proceedings of the 19th IEEE International Conference of Cluster Computing (2017), 633 -- 634.
[20]
pmem.io. 2016. Persistent Memory Programming. http://pmem.io/. Accessed: 2017-06-23.
[21]
pmem.io. 2018. Persistent Memory Development Kit. http://pmem.io/pmdk/. Accessed: 2018-03-27.
[22]
A. Rudoff. 2017. Persistent Memory Programming.; login: 42 (2017), 34--40. Issue 2.
[23]
R. Sciampacone, P. Burka, and A. Micic. 2011. IBM Balanced garbage collection as a new option. https://www.ibm.com/developerworks/websphere/techjournal/1108_sciampacone/1108_sciampacone.html. Accessed: 2017-09-07.
[24]
R. Stoica and A. Ailamaki. 2013. Enabling Efficient OS Paging for Main-Memory OLTP Databases. DaMoN '13 Proceedings of the Ninth International Workshop on Data Management on New Hardware (24 june 2013).
[25]
S. Tehrani, B. Engel, et al. 2000. Recent Developments in Magnetic Tunnel Junction MRAM. IEEE Transactions on Magnetics 36 (2000), 2752--2757. Issue 5.
[26]
B. Zhou. 2015. Cold Objects in the Java Virtual Machine. University of New Brunswick, 3 Bailey Dr, Fredericton, NB E3B 5A3.

Cited By

View all
  • (2023)Performance Evaluation of Template-based JIT Compilation in OpenJ9Proceedings of the 33rd Annual International Conference on Computer Science and Software Engineering10.5555/3615924.3615935(103-112)Online publication date: 11-Sep-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '18: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering
October 2018
439 pages

Publisher

IBM Corp.

United States

Publication History

Published: 29 October 2018

Author Tags

  1. garbage collection
  2. language runtime
  3. memory layout
  4. object oriented programming
  5. performance optimization

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)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Performance Evaluation of Template-based JIT Compilation in OpenJ9Proceedings of the 33rd Annual International Conference on Computer Science and Software Engineering10.5555/3615924.3615935(103-112)Online publication date: 11-Sep-2023

View Options

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