2009年3月5日木曜日

マルチスレッドについて(1)

 ここんところ、ちょっとテンションが下がってます。が、書くと書いた手前、1回目は、緩い感じでいきたいと思います。
 「Googleを支える技術」の中にCPUに関する記述が見られます。我々の業界では有名なムーアの法則というものがありますが、ここへ来て変革が起こっています。CPUの処理速度はクロックアップによって成立してきましたが、クロックアップするためには、消費電力を大幅に上げなければなりません。この消費電力が地球温暖化等の問題もあいまって、コア数を上げるという方向へ転換しているのです。この本を書かれた西田さんという方は、スーパープログラマという触れ込みで、スーパープログラマって、どんなやねん?とも思うのですが、読んでみて、なるほど、これは調査から推測まで、これだけのものはスーパープログラマでなければ書けないな?という納得の一冊です。これを書く能力は並大抵ではありません。この業界で読んでいない方は、ぜひ手にとってみてください。
 もうひとつは、情報化社会を支える技術として、超大量処理が挙げられると思います。マルチスレッドの処理は、分散処理問題と読み解くこともでき、以上のような要因により、今後、益々重要になってくる概念です。もう、8割型常識になっている気もしますので、今更、何書いてんの?といった感でしょう。
 マルチスレッド・プログラミングの難しさって、どこにあるのでしょうか?
  • 協調作業
  • 分離化
  • 同期保護
  • 整合性確保
といったあたりになるのでしょうか?同期保護と整合性確保は、意味は同じかもしれません。
・・・続く

0 件のコメント: