gree主催のオープンソーステクノロジー勉強会に参加

職場の近所ということもあって、会社の帰りに参加してくる。
お題は「RDBMSのスケーラビリティ」と「ウェブデザインパターンについて」
前者のについてはミラクリナックスの吉岡(id:hyoshiok)さんが16wayのES7000というサーバ機において、PostgreSQLを評価したときの話。結論だけ言うと「8CPUまではリニアに性能が伸びましたが、それ以上で性能劣化が見られた」とのこと。profiling toolを使っての性能評価のやり方のさわりなんかを交えつつ、原因となるspin lockを特定するまでの話を頂く。話のベースとなった試験結果などはIPAOSS iPediaにあるとのこと。
質疑の時間では

  • 「こういう高い箱を個人で触るにはどうすればいいですかね?」
    • 今回の検証でも貸し出しを受けただけでIPAの所有ではないので、今のところ難しい。要検討
  • 「問題自体の並列度は十分か?」
  • 「スケールアップだけでなく、スケールアウトするときの評価もして欲しい」(はてなのnaoyaさん)
    • ケースバイケースとなるし、難しい(すみません、ここよく理解できませんでした)
  • linux kernel 2.6上での結果でしたが、2.4や2.2の頃に指摘されていたkernel自体のスケーラビリティはどうなんでしょう?」(私)
    • 2.4のときは4wayあたりでkernel自体のスケーラビリティに引っかかることがあったが、2.6になってからは今回検証した16way程度では十分にスケールするようになった。

今回の検証では個人では手が出ない16wayという機械での話でしたけど、2wayや4wayのSMP機が個人でも手が出るようになってきている今非常に有意義な話だったと思う。OSDLが出来たときもこういう高い機械をOSS関係者に触らせてLinuxをスケールするようにするぜ、という話があったけど、それは見事に達成されたようだし。
吉岡さんの講演の後半はエンジニアとしての心がまえのについてのお話。低いレイヤ重要、継続重要、などなど。ヘネパタは日本語版だけど、今読んでいるところなので、なんとか通読しなきゃなと再認識。端末触ってのお勉強もいいけど、紙の本を読む時間を一日30分でも決めておこう。
最後はグリーの人によるウェブデザインパターン
ウェブのコンポーネントをパターン化することでデザインの容易さや実装の再利用性を高めて効率化を図ろうという話。うちのウェブデザイナの人に是非とも聞かせたい話だった。
デザイナという人種はともすれば職人芸に走りがちだけど、実際ウェブの製作はチーム作業なので、共通言語としてのコンポーネント化というのは重要かも。ただし、実装のコード再利用性という点での有効性はどうなんだろう。裏で動くロジックはポンポンポンとコンポーネントを積み上げるだけでは済まないことが多いしな、というのが実感。ただ、これは作り方が悪いだけかもしれない。