Aus und vorbei!

JEP 374: Das Ende von Biased Locking

Dominik Mohilo

© Software & Support Media GmbH / Bianca Röder

Komplexität und eine immer geringer werdende messbare Verbesserung der Performance: Diese beiden Faktoren haben für die Schaffung von JEP 374 gesorgt. Das Proposal sieht vor, Biased Locking mit Java 15 zu standardmäßig zu deaktivieren und schließlich in einem späteren Release komplett auszubauen.

Nutzer der HotSpot VM werden sich mit dem Begriff des Biased Locking bereits einmal auseinandergesetzt haben. Via Biased Locking soll das Ausführen einer vergleichenden und austauschenden atomaren Operation beim Erlangen eines Monitors verhindern. Dies geschieht dadurch, dass angenommen wird, dass ein Monitor im Besitz eines Threads bleibt, bis ein anderer Thread versucht den Monitor zu erhalten. Der Monitor bleibt somit einem bestimmten Thread zugeordnet („biased“) – dies sorgte in der Vergangenheit für Performance-Verbesserungen.

Nicht mehr alles Gold, was glänzt

Und genau da kommen wir zum Knackpunkt von JEP 374: Die oben genannten Verbesserungen in Sachen Performance sind heute, gerade mit dem Aufkommen moderner Prozessorarchitekturen, nicht mehr so signifikant wie noch vor einigen Jahren. Damit ist gemeint, dass atomare Operationen heute sehr viel weniger ins Gewicht schlagen, als dies in der Vergangenheit der Fall war. Hinzu kommt, dass neuere Anwendungen ohnehin auf andere Technologien setzen.

Ein weiterer Faktor, der für das Ende von Biased Locking spricht, ist die Komplexität: Manchem Entwickler fällt es mitunter schwer, den Code des Ganzen zu durchblicken. Kein Wunder also, dass auch Änderungen im Subsystem für die Synchronisation schwerfallen. Die Lösung, vorgeschlagen von Patricio Chilano Mateo ist radikal: Biased Locking soll im JDK 15 standardmäßig ausgeschaltet sein, außer man nutzt in der Kommandozeile den Befehl -XX:+UseBiasedLocking. Die Funktion soll zudem als deprecated markiert und in einem späteren Release dann endgültig entfernt werden.

Weitere Informationen gibt es wie immer auf der Homepage des OpenJDKs.

Java Whitepaper

Gratis-Dossier: Java 2020 – State of the Art

GraalVM, Spring Boot 2.2, Kubernetes, Domain-driven Design & Machine Learning sind einige der Themen, die Sie in unserem brandneuen Dossier 2020 wiederfinden werden!

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: