動的に割付け戦略を最適化するJavaメモリ管理機構
スポンサーリンク
概要
- 論文の詳細を見る
エンタープライズ分野のJavaプログラムは,マルチスレッド処理を行っている.このようなプログラムは,生成スレッド以外から参照されないスレッドローカルなオブジェクトを大量に生成する傾向がある.そのためJavaVMがスレッドローカルなオブジェクトをあらかじめ区別して,スレッド固有のメモリ領域に割り当てることで,スレッドごとの非同期なガーベージコレクション(GC)を行うことができ,実行性能を改善できると考えられる.既存のスレッドローカルGCの手法は,スレッドローカル性の判定を静的コード解析を用いていた.しかし静的コード解析には多くの時間が必要で,十分なオブジェクトを抽出することも難しい.そこで我々は,実行時情報を用いてオブジェクトの割り付けを最適化するスレッドローカルGCの手法を提案する.本手法の特徴は,オブジェクトのスレッドローカル性の判定が困難な場合でも,「投機的」にスレッド固有メモリ領域への割当てが可能な点にある.他のスレッドから到達可能となったオブジェクトは「投機失敗」と見なされ,スレッドローカルGCによる回収を行わない.スレッドローカル性の判定は,他のオブジェクトからの参照の有無によって行い,参照を再帰的に手繰る必要がない.それゆえ判定処理は非常に軽量である.また,ランタイムは投機成功・失敗の履歴情報を用いて,アロケート命令の割付け戦略を動的に決定していく.本論文では提案手法の実装と評価を行い,8〜16CPUのSMPマシンにおいてスケーラビリテイの向上を得た.
- 一般社団法人情報処理学会の論文
- 2003-10-15
著者
関連論文
- ランダムテストプログラムによるJava JITコンパイラ検証システム
- 実時間GCの実現方式と評価
- ロード命令の先行実行の科学技術計算プログラムによる評価
- ロード命令の先行実行とその評価
- ジオメトリプロセサProcyon : コンパクション方式
- FGHC処理システムのメモリ使用特性と世代別ガーベジ・コレクション
- 密結合マルチプロセッサ上のKL1並列処理系の評価
- 2000-HPC-82-22 プロファイルを用いた値予測命令削減手法
- Cコンパイラにおけるループ最適化の検討
- ノンブロッキング型動的負荷分散を用いた並列ガーベージコレクション方式
- ジオメトリプロセサProcyon : コンパイラ
- ジオメトリプロセサProcyon : ソフトウェア・バイパス制御方式
- Javaクラスファイル差分更新システム
- 動的に割付け戦略を最適化するJavaメモリ管理機構
- スーパスカラとLIWの性能比較
- ロード命令の先行実行とその評価
- 動的なレプリカ数調節によるデータスパイク平準化
- spike領域をリアルタイムに高速ストレージに移動することが可能な階層ストレージシステムの提案