GC optimizations you never knew existed

Day 3 /  / Track 2  /  EN / For practicing engineers

You're probably familiar with the well-known Garbage Collection policies such as CMS, G1, Shenandoah, ZGC, gencon, balanced, etc. Many GC optimizations can go unnoticed if not paid close attention.

This talk is meant to demystify some of these optimizations that even though might be transparent to a JVM user, makes a tremendous performance impact. We'll start the talk by going over two well-known OpenJ9 GC policies, balanced and CS gencon as a preparation for the main part of the talk. Once we have the necessary background we’ll dive into Dynamic breadth-first scan ordering which is a scan ordering algorithm that takes into consideration the hotness of a field. The second optimization we'll share is double mapping of arraylets which is a way to improve memory management of large arrays in region-based GCs. Finally, we'll share be sharing Off-heap technology for region-based Collectors which is a way to optimize large object allocation for region-based GCs.

By the end of the talk, you will have a better understanding of how these technologies work and how they can be beneficial to a Java application. The talk is a target for an audience with previous Garbage Collection knowledge.

Download presentation


Igor Braga

Software developer at IBM Canada in runtimes OpenJ9 team particularly focusing on Garbage Collection technology. Igor has also completed his masters in computer sciences from University of Waterloo with focus in Machine Learning. There are several topics that interests him, and among them are systems, compilers, programming languages, and machine learning. And a fan fact about Igor is that he's a former professional tennis player.

Jonathan Oommen
Jonathan Oommen

Jonathan has been a Java Virtual Machine and Java Garbage Collection software developer on the IBM Runtimes team for nearly 4 years. He is an active contributor primarily for the Eclipse OMR and Eclipse OpenJ9 projects. He has worked most specifically on garbage collection development with a focus on application throughput optimization.

Invited Experts

Gleb Smirnov
Gleb Smirnov

Gleb has seen some things.

Volker Simonis

Volker Simonis is a Principal Software Engineer in the Corretto team at Amazon Web Services. He works on Java Virtual Machines since 2004 and is an OpenJDK Member, Reviewer and Committer right from the start. Before joining Amazon he worked for SAP, Sun Microsystems and the University of Tübingen from where he holds a master and PhD degree in Computer Science. He represented SAP in the Executive Committee of the JCP and was a member of the JCP Expert Groups for Java SE 9 to 13. He's a passionate and frequent speaker at conferences around the globe and can easily be contacted at @volker_simonis.