2009年6月23日火曜日

更なるエネルギー効率化はどうするか

データセンター内での、更なるエネルギー効率化はどうするかという問題ですが、現在までの方式はハードウエアの特化したもので、またデータセンター内だけでは達成できないと思います。このうちソフトウエアについて述べます。

ハードが発熱問題を解決しながら、性能を向上させる方法として、マルチコアを開発しました。これを利用する方法としてはソフトのスレッドをそれぞれのコア上で実行することができます。このためには、プログラムが並列で実行できるような設計になっていなければならず、いわゆるパラレル・プログラミングの実用が必要です。OSはかなり並列に実行できるようになっていますが、アプリケーションの段階では殆どそうなっていません。筆者も20-30年前に並列実行を習いましたが、未だに実際にそれが走っているのを見たことがありません。

パラレル・プログラミングは難しいです。人間はあまり並列して物事を考えられないのでしょうか。そのためそれを助けるツールなんかも必要でしょう。最近のコンパイラーのオプティマイゼーションの機能がどんなものか知りませんが、ツールに頼るだけでなく実際に性能向上を上げるプログラミングを教える等の措置が必要でしょう。

更に、大きくてモジュール化していないソフトは実行時にメモリーをたくさん必要とするし、またバグを多く含むことも知られており、再開発する必要があります。しかし、SMTPのように多くの場所で使用されていますが、これを再開発するのは大変な工数で、しかもソフトが安定するのは時間が掛かるので、悩ましいところです。これも今後のソフトの設計のトレーニングが必要でしょう。

原文ここ

0 件のコメント: