Endlich nebenläufig!

JEP 376: ZGC – Concurrent Thread-Stack Processing

Dominik Mohilo

Fast geschafft: Die Garbage Collection mit dem Z Garbage Collector ist schon fast komplett aus den berüchtigten Safepoints ausgebaut. Lediglich das Stack Processing läuft noch nicht wirklich nebenläufig. JEP 376 adressiert genau dieses Problem und soll endlich mit unnötigen Pausen Schluss machen.

Die Garbage Collection sorgte in der Vergangenheit bei Oracles Virtual Machine HotSpot für Pausen und Probleme mit der Skalierung. Daher wurde bei Oracle beschlossen, sämtliche Tasks im Zuge der Garbage Collection aus den sogenannten Safepoints herauszunehmen. Diese Safepoints stellen so etwas wie einen Freeze beim Ausführen eines Programms dar, bei dem garantiert werden kann, dass der Heap konsistent ist. Alles steht also für einen Moment still, erst dann kann die Garbage Collection beginnen – das ist natürlich ungünstig.

In einer der nächsten Java-Versionen soll also die Garbage Collection endlich komplett parallel zum Programmfluss laufen. Das Ziel: Das Eliminieren der GC-Pausen in den Safepoints. Das hat bislang auch gut geklappt, so sind bereits die meisten Teile bereits ausgebaut worden, etwa Marking, Relocation, Reference Processing, Class Unloading und das Root Processing. Das Einzige, was nun noch fehlt, ist das Stack Processing, damit der Z Garbage Collector parallel laufen kann.

Ziel von JEP 376 – ZGC: Concurrent Thread-Stack Processing ist also unter anderem, das Stack Processing aus den ZGC Safepoints auszubauen, allerdings nicht nur. Das Stack Processing soll zudem lazy, kooperativ, nebenläufig und inkrementell gemacht werden. Auch sollen die anderen Root Processings aus den ZGC Safepoints entfernt werden, die pro Thread anfallen. Was mit dem neuen JEP nicht verfolgt wird ist die Implementierung nebenläufiger Pro-Thread-Processings von Safepoint-Operationen, die nichts mit der Garbage Collection zu tun haben, also etwa die Neudefinierung von Klassen.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: