Ruby用リアルタイムプロファイラの設計と実装
スポンサーリンク
概要
- 論文の詳細を見る
Ruby は高い生産性を持つプログラミング言語である.これまでもプログラムにあるそれぞれのメソッドの実行時間を計測することができるプロファイラは整備されてきた.しかし,分析対象プログラムの実行と並行してリアルタイムプロファイリングが行えるツールが存在しなかった.そこで,本研究では Ruby で書かれたソフトウェアのプロファイリングをリアルタイムに行える実行時間プロファイラを開発した.本プロファイラは,対象となる Ruby で記述されたプログラムの,メソッド単位での実行時間情報を取得することが可能である.この情報取得はネットワークで接続された別のホストからリアルタイムに行うことができる.さらに,それぞれの情報についてプログラムのエントリポイントからの完全なコールパスを関連付けてプロファイリングを行うことが可能であり,対象となるプログラムのパフォーマンスの傾向を詳細に把握することが可能である.本プロファイラは,プロファイリングモジュールとモニタプログラムに分離されており,プロファイリングモジュールで情報を収集し,モニタプログラムがその情報をユーザへリアルタイムに提供する.本稿では,本プロファイラの設計と実装について述べる.また,本プロファイラのオーバヘッドの評価を行い,その結果を述べる.実用的なプログラムによる評価では 1.15 倍程度の実行時間の増加となり,本プロファイラは実用的であるとの結論を得た.
- 2011-06-29
著者
-
笹田 耕一
東京大学大学院情報理工学系研究科
-
笹田 耕一
東京農工大学大学院工学府
-
笹田 耕一
東京大学:(現)東京大学大学院情報理工学系研究科創造情報学専攻
-
笹田 耕一
東京大学大学院 情報理工学系研究科
-
須永 高浩
東京大学大学院情報理工学系研究科
関連論文
- WebVDIのためのVNC Proxy(OS-4:仮想化,2008年並列/分散/協調処理に関する『佐賀』サマー・ワークショップ(SWoPP佐賀2008))
- 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向けシステムソフトウェアにおけるスレッド固有メモリの管理方式(システムプログラム)
- Rubyのメモリ管理の改善
- スケーラビリティとユーザビリティに優れた分散ファイルシステム向けのアクセス制御機構(データアクセス・移動体,インターネットセキュリティ,一般)
- Feature-Packingのためのソフトウェアによるメモリ管理手法の検討(Inventive and Creative Architecture特別セッションII)
- メニーコアプロセッサ時代を拓くシステムソフトウェアへの挑戦(セッション4:マルチコア向けシステムソフトウェア)
- Ricsin: Ruby に C を埋め込むシステム
- Mieruシステムソフトウェア
- KVMを利用した異種ホストOS間上でのライブマイグレーション
- RubyによるOS構成法の提案とその実行基盤の試作
- RubyによるOS構成法の提案とその実行基盤の試作
- Ruby用仮想マシンにおけるAOTコンパイラ
- Mieruシステムソフトウェア
- Ruby 処理系へのスナップショット GC の実装
- スケーラビリティとユーザビリティに優れた分散ファイルシステム向けのアクセス制御機構(データアクセス・移動体,インターネットセキュリティ,一般)
- SMTプロセッサ向けキャッシュメモリリプレース方式(プロセッサアーキテクチャ)
- マルチスレッドプロセッサにおける再構成可能キャッシュメモリ
- FPGAにおけるSMTプロセッサの実装モデル
- SMTプロセッサ向けの軽量な同期機構(プロセッサアーキテクチャ)
- Feature-Packingのためのソフトウェアによるメモリ管理手法の実装と評価
- Feature-Packingのためのソフトウェアによるメモリ管理手法の実装と評価
- メニーコア向けタスクスケジューリングシステムの検討
- 軽量なプロセスマイグレーションを可能とするフレームワーク
- KVMを利用した異種ホストOS間上でのライブマイグレーシヨン
- atomic-Ruby:世界でたった 1 つだけの Ruby
- VMMでWebVDIを実現するシステムの実装と評価
- Mieru システムソフトウェア
- Mieru システムソフトウェア
- Feature-Packing のためのソフトウェアによるメモリ管理手法の実装と評価
- SMTプロセッサにおける同期方式の検討(プロセッサ技術(1), 「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2005))
- yass: yet another simple storage
- Ruby用仮想マシンYARVにおける並列実行スレッドの実装
- オブジェクト指向スクリプト言語 Ruby
- 高度なIT人材を育成するITスクールの実施例(2004年度東京会場)
- Ruby用仮想マシンYARVの実装と評価
- LLVMを用いたオブジェクトファイルの細分化
- Development of a Thread Scheduler for SMT Processor Architecture
- 論理スレッド番号により管理されるキャッシュを持つマルチスレッドプロセッサの性能評価
- 論理スレッド番号により管理されるキャッシュを持つマルチスレッドプロセッサの性能評価
- Rubyの文字列処理の手軽な高速化
- 実用的なRuby用AOTコンパイラ
- Ruby用リアルタイムプロファイラの設計と実装
- 未踏ユースから育ったタレントたち【PART 1 若い未踏クリエータからのメッセージ】:8.Rubyで広がる世界
- オブジェクトファイルの細分化機構と応用
- オブジェクトファイルの細分化機構と応用
- CastOff : Ruby用コンパイラのライブラリとしての実装 (プログラミング Vol.5 No.3)
- オブジェクトファイルの細分化機構と応用(組込みシステムソフトウェア,組込み技術とネットワークに関するワークショップETNET2012)
- オブジェクトファイルの細分化機構と応用(組込みシステムソフトウェア,組込み技術とネットワークに関するワークショップETNET2012)
- (第43回)オブジェクト指向スクリプト言語Ruby(私の研究開発ツール)