sohatach's blog

http://github.com/soha

GREE Tech Talk #05 : 並行/並列プログラミングに参加しました。

GREE Tech Talk #05 : 並行/並列プログラミング
http://techtalk5.labs.gree.jp/
に参加しました。

【基調講演】ここから始める並行プログラミング

高橋 晶(株式会社ロングゲート)
http://www.slideshare.net/faithandbrave/start-concurrent

C++の少し難しい話になるのかと思っていましたが、
並行プログラミングに対する概念的な説明となっており、普段サーバサイドJavaPHPを本業とし
並列プログラミングをあまり意識していない私でも理解しやすかったです。
でもそういえば推薦書のJava並行処理プログラミングは、昔頑張って読んだなあ。殆ど内容覚えてないけど。
また探して読み直すかなあ。

魔導書に書いていない、エラーハンドリング周りや、go/nodeの比較について(仮)

幾田 雅仁(株式会社 gumi)

ErlangやElixir、ScalaのAkkaの話。Goやnode.jsについても触れられていた。
普段私もJavaPHPだけでなく、RubyPython、初歩的なScalaやかつてはCなどいくつか言語をかじったつもりでしたが、
まだまだ知らない世界も多く完全に勉強不足だなあと痛感じました。
Akkaについては、去年のScalaカンファレンス(しかも英語のスピーチ)で、さっぱりわからず
心折れながら帰宅したのを思い出す。なんか凄そうなのはわかったけど具体的にどういうものなのか
どんなところで使ったらいいのかはわかっていなかった。
今回は、ErlangやAkkaなどを使うことで耐障害性の高いシステムが構築できるということがわかった。
今年こそAkka理解し使いこなせるようになりたい。プロセスと呼ばれているのは、OSレベルのプロセスの話なのか、JVMだからスレッドの話なのか。
サーバが物理的に分かれている場合のシステム構成とか、そもそも基本的なことがわかってない。。。出直そう。

STMの設計と進化

熊崎 宏樹(日本電信電話株式会社)

お恥ずかしいながらSTM(Software Transactional Memory)について存在を知りませんでした。
STMとは、「データベーストランザクションに似た並行性制御機構であり、並列計算を行う際の共有メモリへのアクセス法である。」とのこと Wikipediaより
当初何の話のことだかよくわかっていませんでしたが、聞いてみたら非常に面白かったです。純粋に好奇心をすごく掻き立てられた。
共有メモリアクセスにおけるトランザクションアルゴリズムの話。進化の系譜を順を追って説明されてた。
2フェーズロックについては、さすがに私も知ってましたが、今回その偉大さを痛感しました。
ただしそれでもパフォーマンスに問題があるとのことで、さらに様々な改良方法があるとのお話。
時間の都合で最後まで聞けなかったのが非常に残念。ほんとに残念。

サーバサイドの並行プログラミング(仮)

池原 潔(グリー株式会社)

主催でもあるGREEさんの社員の方のお話。
PHPばかりと思っていたGREEさんの異なる側面が見れたようでとても興味深かったです。
KVS管理システムのフロントエンドなどでHaskellが使われているとのこと。
並行/並列プログラミングがどういう使われ方をしているかなどがわかり、
ある意味今回一番理解しやすく勉強になりました。



今回のお話を聞いて、怖がって手を出さなかったErlangHaskellあたりに
少し手を出してみようと思いました。
実際に使う機会はないとしても、教養としては知っておきたいなと。