Ruby 処理系へのスナップショット GC の実装
スポンサーリンク
概要
- 論文の詳細を見る
オブジェクト指向スクリプト言語 Ruby はガーベッジコレクション(以下,GC)を備えており,プログラマがメモリ管理をする必要がないという特長を持つ.しかし,現在広く利用されている Ruby 処理系は Stop The World GC を採用しており,場合によってはアプリケーションの実行が長く中断されてしまうという問題がある.これを解決するため,一連の GC 処理を細かく分割し,アプリケーションと並行して少しずつ実行するインクリメンタル GC という手法が考案されている.そこで,我々は GC によるアプリケーションの停止時間を低減させるため,インクリメンタル GC の 1 つであるスナップショット GC を Ruby 処理系へ実装した.スナップショット GC にはオブジェクト間の参照関係を維持するための処理 (ライトバリア) が必要となるが,C 言語による拡張ライブラリが開発可能な Ruby においては,これらにもライトバリアを挿入しなければならない.このため,本研究では GC 時にメモリ領域を書き込みから保護しておくことでライトバリア挿入の漏れを検出するという方式を用いて,効率的にスナップショット GC を実装した.本発表では Ruby 処理系におけるスナップショット GC の実装と開発,および評価結果について述べる.
- 一般社団法人情報処理学会の論文
- 2009-03-23
著者
-
本位田 真一
(株)東芝研究開発センター
-
笹田 耕一
東京大学大学院情報理工学系研究科
-
笹田 耕一
東京農工大学大学院工学府
-
笹田 耕一
東京大学:(現)東京大学大学院情報理工学系研究科創造情報学専攻
-
本位田 真一
東京大学大学院情報理工学系研究科|国立情報学研究所
-
相川 光
東京大学大学院情報理工学系研究科
-
本位田 真一
東芝研究開発センター
-
笹田 耕一
東京大学大学院 情報理工学系研究科
関連論文
- マルチエージェントシステムにおけるメタデータを用いた協調プロトコル合成手法(モデル/理論,ソフトウェアエージェントとその応用論文)
- WebVDIのためのVNC Proxy(OS-4:仮想化,2008年並列/分散/協調処理に関する『佐賀』サマー・ワークショップ(SWoPP佐賀2008))
- 適応エージェントのためのユビキタスコンピューティングミドルウェア(エージェント)
- MANETにおける省資源性を考慮した位置依存情報収集手法(ネットワーク)
- CSTソリューションコンペティション2007及び2008の総括(ペトリネット,離散事象システム,一般)
- AI-2-1 CSTソリューションコンペティション2008 : 総括(AI-2.CSTソリューションコンペティション2008:表彰式・シンポジウム,ソサイエティ企画)
- AK-2-3 マルチカーエレベータ群管理アルゴリズムに関する研究動向 : CSTソリューションコンペティション2007の活動を通じて(AK-2.基礎・境界分野の研究最前線,ソサイエティ特別企画,ソサイエティ企画)
- CSTソリューションコンペティション2007 : 評価実験の詳細報告(コンカレントシステム,離散事象システム,ハイブリッドシステム,及び一般)
- AI-1-5 CSTソリューションコンペティション2007(総括)(AI-1. CSTソリューションコンペティション2007:表彰式・シンポジウム,依頼シンポジウム,ソサイエティ企画)
- SMTプロセッサにおけるスレッドスケジューラの開発(マルチスレッド)
- SMTプロセッサにおける再構成可能キャッシュモデルとFPGAによる実装
- FPGAを用いたSMTプロセッサの実現と再構成可能キャッシュメモリの検討(設計手法と高性能化, リコンフィギャラブルシステム, 一般)
- SMTプロセッサにおける同期方式の検討(プロセッサ技術(1), 「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2005))
- SMTプロセッサにおける細粒度最適化手法の検討(ARC-3 : プロセッサアーキテクチャIII)(2004年並列/分散/協調処理に関する『青森』サマー・ワークショップ(SWoPP青森2004) : 研究会・連続同時開催)
- SMTプロセッサにおける物理レジスタバンクの動的割当て
- SMTプロセッサにおけるスレッドスケジューラの開発(スレッド・プロセス)
- マルチスレッドアーキテクチャ向けOS「Future」におけるプロセス管理
- マルチスレッドアーキテクチャにおけるスレッドライブラリの実装と評価(プロセッサアーキテクチャ)
- SMTプロセッサにおけるアウトオブオーダ実行に必要なリソースの共有方式の評価(ARC-1:プロセッサ)(2003年並列/分散/協調処理に関する『松江』サマー・ワークショップ(SWoPP松江2003))
- スレッド管理機構を用いたオンチップマルチスレッドのためのキャッシュメモリシステム
- ヘテロジニアスマルチプロセッサのためのタスク分散手法(ARC-2:マルチコア1,2008年並列/分散/協調処理に関する『佐賀』サマー・ワークショップ(SWoPP佐賀2008))
- 高速なRuby用仮想マシンの開発(研究会推薦博士論文速報)
- モデリングは教育できるか?(要求/教育)
- マルチスレッドアーキテクチャOChiMuS PE向けシステムソフトウェアにおけるスレッド固有メモリの管理方式(システムプログラム)
- 多数のノード取得攻撃に対応した無線センサネットワークにおける不正イベントの検知(センサネットワーク・P2Pネットワーク,ネットワークを支えるソフトウェア技術論文)
- Rubyのメモリ管理の改善
- 物理的相互作用に着目したスマート空間の形式仕様記述と検証
- プロセス間競合を考慮した自己適応システムの形式仕様構築
- スケーラビリティとユーザビリティに優れた分散ファイルシステム向けのアクセス制御機構(データアクセス・移動体,インターネットセキュリティ,一般)
- Feature-Packingのためのソフトウェアによるメモリ管理手法の検討(Inventive and Creative Architecture特別セッションII)
- メニーコアプロセッサ時代を拓くシステムソフトウェアへの挑戦(セッション4:マルチコア向けシステムソフトウェア)
- Ricsin: Ruby に C を埋め込むシステム
- A-12-8 CSTソリューションコンペティション2007 : 課題と評価ツール(A-12.コンカレント工学,一般講演)
- AP-2-5 CSTソリューションコンペティション2007(概要)(AP-2.コンカレント技術研究の方向性,パネル討論,ソサイエティ企画)
- Mieruシステムソフトウェア
- KVMを利用した異種ホストOS間上でのライブマイグレーション
- RubyによるOS構成法の提案とその実行基盤の試作
- RubyによるOS構成法の提案とその実行基盤の試作
- Ruby用仮想マシンにおけるAOTコンパイラ
- Mieruシステムソフトウェア
- Ruby 処理系へのスナップショット GC の実装
- 知的移動エージェントによる低消費電力なワイヤレスセンサネットワークアプリケーションの構築(モバイル/ユビキタス/P2P,ソフトウェアエージェントとその応用論文)
- 知的移動エージェントによるマルチパーパスワイヤレスセンサネットワークアプリケーション(モバイルアプリケーション,ユビキタス時代を支えるモバイル通信と高度交通システム)
- スケーラビリティとユーザビリティに優れた分散ファイルシステム向けのアクセス制御機構(データアクセス・移動体,インターネットセキュリティ,一般)
- Event Calculusに基づく合意を用いたモバイルエージェントの協調(モバイル/ユビキタス/P2P,ソフトウェアエージェントとその応用論文)
- プロセス記述によるサービス合成のパーベイシブコンピューティングへの適用(モバイルコンピューティング)
- ソフトウェア論文座談会
- 産業界におけるソフトウェア・エンジニアリングの動向(ソフトウェアの品質保証について)
- SMTプロセッサ向けキャッシュメモリリプレース方式(プロセッサアーキテクチャ)
- マルチスレッドプロセッサにおける再構成可能キャッシュメモリ
- FPGAにおけるSMTプロセッサの実装モデル
- SMTプロセッサ向けの軽量な同期機構(プロセッサアーキテクチャ)
- Feature-Packingのためのソフトウェアによるメモリ管理手法の実装と評価
- Feature-Packingのためのソフトウェアによるメモリ管理手法の実装と評価
- メニーコア向けタスクスケジューリングシステムの検討
- 軽量なプロセスマイグレーションを可能とするフレームワーク
- 遺伝的アルゴリズムによるアナログLSIの素子配置
- KVMを利用した異種ホストOS間上でのライブマイグレーシヨン
- タグに関連づけられた時間・場所の概念抽出(「Webインテリジェンス」及び一般)
- atomic-Ruby:世界でたった 1 つだけの Ruby
- VMMでWebVDIを実現するシステムの実装と評価
- 8.パネル討論:エージェントの社会的インパクト(社会に向き合うエージェントシステム)
- JADEを利用したマルチエージェントシステムの開発(研究のツールボックス 第6回)
- 要求の重要度を用いたマルチエージェントシステムの分析モデル検証(モデル/理論,ソフトウェアエージェントとその応用論文)
- IMPULSE:KAOSを利用したマルチエージェントシステムの分析モデル構築(分析・設計技法,ソフトウェア工学の理論と実践)
- ゴール指向要求分析を用いたself-adaptiveシステムの構築
- Mieru システムソフトウェア
- Mieru システムソフトウェア
- 6.ユビキタス環境で活躍するエージェント(社会に向き合うエージェントシステム)
- Feature-Packing のためのソフトウェアによるメモリ管理手法の実装と評価
- 多数のノード取得攻撃に対応した無線センサネットワークにおける複製ノードの分散検知(センサネットワーク・P2Pネットワーク,ネットワークを支えるソフトウェア技術論文)
- 無線センサネットワークにおけるFalse Eventの検知(無線・モバイルネットワーク,情報洪水時代のネットワークサービス)
- variable-size DBFによる分散ハッシュテーブルのトラヒック量削減(モバイル/ユビキタス/P2P,ソフトウェアエージェントとその応用論文)
- Ringed Bloom Filterによる分散ハッシュテーブルのトラフィック量削減(ミドルウェア,マルチメディア,分散,協調とモバイル(DICOMO2006))
- SMTプロセッサにおける同期方式の検討(プロセッサ技術(1), 「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2005))
- ゴール指向要求工学方法論の共通用語モデルと共通パターン(ソフトウェア要求工学,インタラクション技術の原理と応用)
- 無線センサネットワークにおける複数プログラムの動的配備
- トップエスイー「サイエンスによる知的ものづくり教育」
- yass: yet another simple storage
- トップエスイー : サイエンスによる知的ものづくり教育
- Teaching how to write security target of Common Criteria using the i* methodology (ソフトウェア工学)
- ユビキタス環境における動的なプロセス配備のためのプログラミング支援フレームワーク(モバイルアプリケーション,ユビキタス時代を支えるモバイル通信と高度交通システム)
- Ruby用仮想マシンYARVにおける並列実行スレッドの実装
- 「コンピュータソフトウェア」における論文とは
- セキュリティソフトウェア工学の最前線
- オブジェクト指向スクリプト言語 Ruby
- 高度なIT人材を育成するITスクールの実施例(2004年度東京会場)
- 経路情報を用いた複数タスクへのセンサ割当て
- ソフトウェアの問題記述のための実行可能な形式化自然語の提案
- Ruby用仮想マシンYARVの実装と評価
- Chordネットワークに配置された配列に対する並列範囲アクセス
- 同種サービスの併用を考慮した効率的なサービス選択
- 無線センサネットワークにおける対象追跡の分解能を調整可能なセンサモデル(スマートな社会を支えるインターネットアーキテクチャ論文)
- メタデータ制約を用いた協調プロトコルの自動合成手法
- SVMのバイオメトリクス認証への応用について : 分散システム下でのエージェント認証に向けて
- ページキャッシュの復元による遠隔地ライブマイグレーションの高速化
- ページキャッシュの復元による遠隔地ライブマイグレーションの高速化
- ページキャッシュの復元とその他のメモリ転送の並列動作による遠隔地ライブマイグレーション高速化
- 照合操作の識別のためのOCL解析方法
- クラウドを動的に利用するWebサービス連携のための動作記述(「サービス・クラウドの応用及びマッシュアップ」及び一般)