スレッド別ごみ集めにおけるライトバリアの高速化
スポンサーリンク
概要
- 論文の詳細を見る
ごみ集めによる長い停止時間の発生頻度を軽減する方法に,スレッド別ごみ集めがある.スレッド別ごみ集めでは,ヒープ領域を分割して個々のスレッドに与え,スレッドは他のスレッドを止めずに単独でごみ集めを行う.スレッド単独でのごみ集めによる停止時間は,分割した領域の大きさに比例するので,ヒープ領域全体を一括してごみ集めする場合より短くなる.スレッド別ごみ集めを他のスレッドを止めずに実行できるのは,他のスレッドから参照できないデータ構造のみをごみ集めの対象とするからである.スレッド別ごみ集めの実装にあたっては,データ構造をスレッド別ごみ集めの対象になるものと,そうでないものに分類する必要がある.分類方法の1つである実行履歴を使う方法では,参照をクラス変数など複数のスレッドから参照可能な場所にストアしたか実行時にライトバリアを使って監視し,したならば参照が指示するデータ構造をスレッド別ごみ集めの対象から除外する.本論文ではライトバリアのオーバヘッドを最小限にとどめる方法について考察する.サーバ向けベンチマークSPECjbb2000を使って予備評価した結果,本論文で提案する方法では,ライトバリアから生じるオーバヘッドを1%未満にできることが分かった.
- 一般社団法人情報処理学会の論文
- 2004-05-15
著者
関連論文
- Javaにおけるコンテナ向けキャストの除去
- Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
- Java向け動的コンパイラによる冗長なBox化の削除
- Java向けヒープに対する不正参照のページ保護による検出
- 脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
- 脆弱性の動的検知機能との連携を考慮した構造化例外処理の設計
- スレッド別ごみ集めにおけるライトバリアの高速化
- Java2Cトランスレータにおける可搬性のオーバヘッド
- 組込み機器向けJava2Cトランスレータにおける2返戻値法を使った例外処理の実現
- Java2Cトランスレータにおける例外処理の実現
- Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
- Javaにおける静的コンパイル済みコードのリンク方法
- Java向け静的コンパイラによるクラス間最適化
- Java向けごみ集めの基本処理の高速化