2007 Fiscal Year Annual Research Report
マルチコアプロセッサでのRubyプログラムの高速実行方式の開発
Project/Area Number |
19700046
|
Research Institution | Kanagawa University |
Principal Investigator |
米澤 直記 Kanagawa University, 理学部, 助手 (70312832)
|
Keywords | 超高速情報処理 / コンパイラ / プログラミング言語 / 並列処理 / マルチコアプロセッサ |
Research Abstract |
本研究では、逐次プログラムとして記述されたRubyプログラムを、並列実行するために、Rubyに付属する分散オブジェクトシステムであるdRubyを用いた。dRubyが提供する機能を利用して、複数のプロセスが同期し、変数を共有する方式を確立し、メソッドとして実装した。 続いて、逐次プログラムを並列実行可能なプログラムに変換するトランスレータを実装した。このトランスレータはプロセス間通信が必要な箇所に上記のメソッドを生成する。 上記の開発と並行して、ヤコビの反復法(問題サイズ2,048、反復回数1,000回)を手動変換し、8個のコアから構成されるマルチコアプロセッサ(3GHz Intel Xeonが2基搭載されたApple社Mac Pro)で実行した。その結果、コア数1個の実行時間に対して、4個で3.95倍、8個で6.67倍の台数効果が得られた。 ただし、Cプログラムで記述したヤコビの反復法の実行時間と比較すると、Rubyの実行時間が2000倍以上大きい結果となった。一般に、コンパイル方式のCと比較してインタプリタ方式のRubyが実行時間が大きいため、この結果は想定内である。Rubyは、プログラムの開発に要する時間が短いという特長があるため、実行時間だけではなく、開発時間を含めた総合的な評価が必要であると考える。 得られた結果と本研究の構想を、日本Ruby会議2007(2007年6月9、10日)で発表した。 また、平成19年度において、JRuby、Ruby1.9といった次世代のRuby処理系が登場し、いずれも実行性能の改善を謳っている。今後の課題として、これらの処理系を用いて評価することが挙げられる。
|