
スケーラビリティの原理
この記事では、スケーラブルなソフトウェアシステムを構築するためのいくつかの原理とガイドラインをお伝えします。

Ruby 1.9でのファイバー (コルーチン) の追加、および最近のErlangおよびアクターの人気など、あまり知られていない概念がRubyプログラミングの世界に入ってきている。並行性を考えたときにRubyの世界で何が使用可能であるかを大まかに理解するため、長年RubyコミュニティのメンバーであるMenTaLguY氏に話を伺った。

パフォーマンス上の問題が報告される時、防御手段に凝り固まったコメントがついてくることがとても多く、そして、そんなコメントのほとんどは、どこから作業を始めるべきかを理解する上で何の役にも立ちません。このジレンマに直面し、根本的な原因から推量し始めるチームも珍しくありません。ここで「ボックス」の登場です。ボックスはシステム全体を抽象化した小さな図式です。パフォーマンス・ボトルネックの実情を思い出させてくれます。厳密な調査と併用すれば、ボトルネック発見から当て推量を排除するのに役立つでしょう。
このデータベースの総まとめでは、新しいActiveRecord向けのデータshardingプラグインおよび、どのようにしてPostgresデータアクセスが非同期クライアントAPIで改善することができるのかについて検討する。
平行処理のメッセージパッシングとアクタモデルは、現在そして特に今後の CPU を活用するために必要とされる大規模な並列化を実現する方法として期待が寄せられている。Erlang にはその仕組みが最初から組み込まれているし、Scala は Scala Actor ライブラリをフレームワークの中に組み入れているが、他に Kilimというピュア Java のソリューションも存在する。
先日、JSR 166の仕様リードであるDoug Leaは、JSR-166yに導入されるPhasersという新しい機能について、166yのConcurrency-interestメーリングリストに投稿した。
Peter Van Royは2008年のコンピュータ音楽国際会議(ICMC2008)で行った意見表明の中で、マルチコア・プロセッサならびに疎結合システム(例えばインターネット)の出現に関連した多数の問題を提議した。
ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか?
PDCのプレコンファレンスセッション中に、MicrosoftのThe Parallel Computing PlatformチームはConcurrent, Multi-core Programming for Windows and .NETのプレゼンをおこなうことになっている。一連のセッションは終日にわたり、特定のトピックについて詳細なプレゼンがおこなわれる。メインとなるコンファレンスに先立っておこなわれるため、登録が別に必要である。