GCにおけるポインタ探索高速化のためのハードウェア支援手法

Info

里見 優樹, 井手上 慶, 津邑 公暁, 松尾 啓志 : "GCにおけるポインタ探索高速化のためのハードウェア支援手法", 情処研報 (HOKKE-21) ,pp1--9 (Dec. 2013) 予稿

Abstract

スマートフォンなどの普及に伴い,ガベージ・コレクション(GC) の性能が与える影響範囲が拡大している.一方,GC の高速化はこれまで主にアルゴリズム面で改良がなされてきたが,GC 実行時のレスポンス低下など,GC が抱える重要な問題の根本的解決には未だ至っていない.そこで本稿では,多くのGC アルゴリズムにおいてオブジェクト間のポインタを辿ってメモリ上のオブジェクトを探索する必要がある点に着目し,これをハードウェア支援によって高速化する手法を提案する.オブジェクトの多くはクラスメソッド等の情報を持つクラスオブジェクトを参照している.そのため,クラスオブジェクトは複数のオブジェクトから参照される可能性が高く,クラスオブジェクトへのマーク処理の多くが重複してしまっている.そこで,一度探索したクラスオブジェクトへのポインタを管理する専用の表を用いることで,クラスオブジェクトへのマーク処理の重複を防ぐ。また,オブジェクトへの参照を辿る際には,その参照が参照元オブジェクト内のどこに存在するかを計算によって求める必要があるが,この参照が存在する位置はオブジェクトのクラスごとに共通している.そこで,クラスオブジェクトの値と併せて,子オブジェクトへの参照の位置を表で管理することで,オブジェクト間の参照の探索コストを削減しGC の高速化を実現する.シミュレーションによる評価の結果,提案手法によるGC の高速化が,スループット及びGCによる停止時間を改善させることを確認した.