Asayomu Tech
注目★★★★★Lobsters

ZGC の弱参照処理を最適化、clear_path+dyn で 81% 削減

30秒で把握

  • 1ZGCの弱参照処理を3手法の組み合わせで最大81%削減を達成
  • 2sep・dyn・clear_path の超加法効果が判明、単独では最大36%にとどまる
  • 3JDK-8029205 で未解決・weak_fields による根本置き換え案も提示

要約

ウプサラ大学の修士論文として、Oracle GCチームと共同でZGCの弱参照処理オーバーヘッドを調査した研究が公開された。WeakReferenceのキュー未登録オブジェクトを別リストへ振り分ける「sep」、発見リストを連続配列化してキャッシュ局所性を高める「dyn」、参照フィールドクリアのバリアやCASを省略する「clear_path」の3つの最適化を組み合わせることで、非強参照処理時間を最大81%削減できた。各最適化の単独効果(7%・36%)の合計を大きく上回る超加法的な効果が確認された。さらに、WeakReferenceオブジェクト自体をアノテーション付きフィールド機構「weak_fields」に置き換える根本的アプローチも検討されている。

あなたへの影響

弱参照を大量生成するキャッシュ・インターニングマップを使うアプリケーションでZGCのSTWが問題になっているチームは、この研究の成果がJDKに取り込まれる際の優先度確認のため、OpenJDK issue JDK-8029205 の動向を注視しておくとよい。

推奨:現時点では正式実装には至っていないため、本番での即時アクションは不要。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。