‹Programming› 2020
Mon 23 - Thu 26 March 2020 Porto, Portugal
Tue 24 Mar 2020 10:00 - 10:30 at W1 - Java HotSpot VM Chair(s): Fabio Niephaus

Java has a built-in synchronization mechanism and there are many research works to optimize the mechanism by reducing use of costly operations, such as OS monitors and atomic operations. OpenJDK implements biased locking to eliminate all synchronization-related atomic operations for uncontended locks. However, atomic operations are still observed in Hadoop map tasks even though a map task is single-threaded. This paper presents a scenario a map task causes infrequent lock contentions and an enhancement to help biased locking work better in such situation. Our enhancement includes a new mechanism to profile lock usages, new transitions to enforce those high profiled locks to continue benefit from biased locking, and a mechanism to bypass lock state transition during deoptimization. It accelerated execution by almost 50% in a micro benchmark and by 7% to 20% in TPC-DS queries. We also verified it reduced lock-related atomic operations by up to 90%.

Tue 24 Mar
Times are displayed in time zone: Greenwich Mean Time : Belfast change

08:50 - 10:30: Java HotSpot VMMoreVMs at W1
Chair(s): Fabio NiephausHasso Plattner Institute, University of Potsdam
08:50 - 09:00
Day opening
Edd BarrettKing's College London, Fabio NiephausHasso Plattner Institute, University of Potsdam
09:00 - 10:00
Shenandoah GC 2.0Invited Talk
Roman KennkeRed Hat, Inc.
10:00 - 10:30
Enhancement of OpenJDK Biased Locking for Infrequent Lock Contention
Ting WangIBM, Michihiro HorieIBM Research - Tokyo, Kazunori OgataIBM Research, Japan, Hao Chen GuiIBM, Xiao Ping GuoIBM, Yang LiuIBM