Ricsin: Ruby に C を埋め込むシステム
スポンサーリンク
概要
- 論文の詳細を見る
スクリプト言語 Ruby は,その記述の容易さから世界中で広く利用されているオブジェクト指向プログラミング言語である.C 言語を用いて実装されている Ruby 処理系はRuby C API を提供しており,Ruby では記述できない機能拡張や,性能のボトルネックとなるメソッドを C で実装するといったことが可能である.しかし,C で機能拡張を行う場合,メソッド単位で C 言語を記述する必要があり,Ruby プログラムの一部を直接 C で記述することはできない.また,Ruby から C のような,言語をまたぐプログラムの呼び出しにはオーバヘッドが生じるという問題がある.そこで,我々は Ruby プログラムに C プログラム片を埋め込むためのシステム Ricsin を開発した.埋め込んだ C プログラム片から Ruby プログラムのローカル変数などのコンテキスト情報へのアクセスが可能である.本システムを用いることで,Ruby の記述性の高さと C 言語の強力な機能を組み合わせることができる.また,Ruby 処理系に専用の命令を導入することで言語間の呼び出しオーバヘッドを抑える.本論文では Ricsin のアーキテクチャについて述べ,実装し評価を行った結果を述べる.
- 2009-03-23
著者
-
笹田 耕一
東京大学大学院情報理工学系研究科
-
笹田 耕一
東京農工大学大学院工学府
-
笹田 耕一
東京大学:(現)東京大学大学院情報理工学系研究科創造情報学専攻
-
笹田 耕一
東京大学大学院 情報理工学系研究科
関連論文
- 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(私の研究開発ツール)