2009-03-23
LLVM勉強会のスレッドに関する間違えの訂正
|LLVM勉強会でyarv2llvmでrb_thread_createで作ったスレッドが、マルチコアで並行にスレッドが動いているか、いないかの話の続きです。
既にささださんはじめ皆様から指摘されているように、ジャイアントロックが掛かっているので並行には動いていないことをソースで確認しました。間違えはnative_thread_create関数より先を見ずに、th->first_funcがそのままスレッドになると思い込んでいたのが原因です。嘘を言ってしまい参加者の皆様に大変迷惑を掛けました。申し訳ありません。
今後、スレッドをrb_thread_createでは無くCreateThread APIを生で使い、排他制御の必要なところにCAS命令を使ったスピンロックを生成するような並行対応をつくろうかなと思っています。
トラックバック - http://d.hatena.ne.jp/miura1729/20090323/1237799188
リンク元
- 43 http://www.rubyist.net/~kazu/samidare/
- 36 http://shinh.skr.jp/m/
- 25 http://steps.dodgson.org/?date=20090325
- 22 http://atnd.org/events/381
- 16 http://reader.livedoor.com/reader/
- 15 http://steps.dodgson.org/
- 8 http://llvmruby.org/wordpress-llvmruby/
- 6 http://a.hatena.ne.jp/fujita-y/
- 6 http://d.hatena.ne.jp/keyword/LLVM
- 6 http://www.google.co.jp/reader/view/
楽しんでもらえて幸いです.
スライドですが、google groups あたりにまとめさせていただく予定です. 別途ご連絡します.
ところで、スライドですが Mac で見るといくつか文字化けしているところがあります(12 page のところなど)
私のほうでも原因は判らないので、なんとも解決策を提示できないのですが...
いろいろ不手際があって迷惑を掛けてすみません。
JustsystemのPDF createrというソフトを使ってPDFに変換しているのですが、バグっているのかなーって気もします。たまに開けないファイルを作ったりしますから。
とりあえず元のpptファイルもgithubにアップしておきます。
http://cloud.github.com/downloads/miura1729/yarv2llvm/yarv2llvm-slide.ppt
東京での勉強会お疲れさまでした。
私に聞かせて頂いた先輩の顔は本当に輝いていました。
これからも研究がんばって下さい。
練習に付き合ってもらってありがとうございます。おかげさまで何とか質問が来る程度にはなることができました。
勉強会で色々改善点を指摘してもらったので直していきたいのですが、まずは商工会の総会の準備を優先させます。これもよろしくお願いします。