第 341 回 PTT のお知らせ


日時:2008年 2月21日(木) 18:30 から


場所:東京大学 秋葉原拠点 秋葉原ダイビル 13F(地図



話者:
笹田耕一(東京大学大学院情報理工学系研究科)


話題:
最近のRuby処理系の話

概要:
2007年末にプログラミング言語Rubyの最新版であるRuby 1.9.0-0がリリース された。このバージョンにはいくつかの文法の変更、多言語化(m17n)対応 や、発表者が取り組んできたRuby用仮想マシンの導入が行われた。そこで、 発表の前半ではこれらの変更点やリリース時のドタバタ話を紹介する。発表 の後半には、発表者が現在取り組んでいるRubyスレッドの並列化や、先日発 表されたSunとの共同研究の話などを紹介する。



第 341 回 PTTメモ

出席者:40名

大山恵弘,金子佳樹,唐澤雄気,川ノ上哲規,小室直,高須賀清隆,
高野保真,多田好克,田村知博,丹野治門,鶴原翔夢,寺田実(電通大),
和田英一,小柳誠文,斉藤正伸,山崎 良祐(IIJ),山崎淳(ミラクルアーツ),
久野靖(筑波大),桜田武嗣,並木美太郎(東京農工大),
齋藤宏治(シンセリアル),伊知地宏(ラムダ数教研),日比野啓(朝日ネット),
三木盛雄,西川武志(東京工業大),三廻部大(IBM),
大坪弘尚,松崎公紀,松田一孝,三橋泉,森畑明昌,横山大作,筧 一彦(東京大),
遠藤侑介,酒井政裕,渡辺奈夕子,大駒誠一,三好健文,佐原具幸,ほか 1名


質疑応答:

Q:lengthメソッドで「文字数」を返すとあるが,半角と全角はどうなるのか?
A:ちゃんと文字数を返す.

Q:Drubyとの共存はどうなってる?
A:Drubyと今回の話は直交した話なので問題ない.

Q:キャッシュの表がある?
A:表というか1エントリの表がある

Q:キャッシュエントリは不必要ではないか?
A:そうかも,と答えたが,問題があるかも.

Q:現行のネイティブメソッドについてスレッドセーフ対応フラグがついて
るのか?
A:数学系はやって,並列版Rubyを公開したが誰も触ってくれなかった.

Q:concatというベンチマークは最悪のケースなのか?
A:そう.

Q:アフィニティの設定はどうなるのか?
A:監視スレッドがいて閾値を超えると設定する.

Q:ロックってのはどういう実装?
A:pthreadミューテックスを使ってる.

Q. 並列機能を持たないYARV,並列機能を持つYARV 1procでの比較は.
A. 表に示したとおり。

Q. 「ヘテロ」での実験で示そうとしていたことは.
A. 現状で有効な利用用途を示すため.

Q. p-threadの動く環境なら移植は可能か(Itanium上でも動作するか).
A. おそらく.

Q. 1 bit分を犠牲にするだけで良いのか.
A. 現状では

C. fixnumのbit長は,(10 pflopsでの計算を行なうような)量子化学など
では大切である.
C. 仮数部が 1に近付くように教えこまれているので,指数部がいらなくなる.
A. 大変参考になりました.

Q.  1足すのと 1引くのとではどちらが速いか.
A. 試していない.

Q. parity flagで 3と論理積をとるのはどうか.
A. 移植性に問題が出るので....

Q. NaN, -\infty, +\inftyなどでも問題ないか.
A. ヒープ上にとられるビットパターンなので問題ない.

Q:比較してるPythonのバージョンは?
A:確か2.4

Q:ゴミがでたらGCされるのか?
A:される.そもそもゴミがでないようにするにはという話だった.

Q. MVMでのごみ集めは.
A. ヒープを分けて,各VMごとに行う.

Q. MVMはJavaでは大きなメリットがあったが,Rubyではどうか.
A. 検討中.

Q. ひとつのCPUに集めることで高速動作するようになった理由は.
A. CPU 実行権の遷移が減ったため.

C. MVM実現のとき,fault toleranceに気を配って欲しい.256コア共有メモ
リといった環境は十分あり得る状況なので.
A. 今後検討したい.