日時:2008年 2月21日(木) 18:30 から
場所:東京大学 秋葉原拠点 秋葉原ダイビル 13F(地図)
話者:
笹田耕一(東京大学大学院情報理工学系研究科)
話題:
最近のRuby処理系の話
概要:
2007年末にプログラミング言語Rubyの最新版であるRuby 1.9.0-0がリリース
された。このバージョンにはいくつかの文法の変更、多言語化(m17n)対応
や、発表者が取り組んできたRuby用仮想マシンの導入が行われた。そこで、
発表の前半ではこれらの変更点やリリース時のドタバタ話を紹介する。発表
の後半には、発表者が現在取り組んでいるRubyスレッドの並列化や、先日発
表されたSunとの共同研究の話などを紹介する。
出席者: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. 今後検討したい.