コンピュータの消費電力に対するパフォーマンスが今日のレベルから改善しなければ、マシンの運用に必要とされる電気代がハードウェア自体のコストを大幅に上回る可能性があると、Googleのあるエンジニアが警告を発した。
数千台ものサーバを動かすGoogleにとって、こうした状況は望ましいものではないだろう。
「消費電力あたりのパフォーマンスが今後数年間改善されずにいると、電気代がハードウェアのコストを容易に上回り、場合によってはその差が大きく開く可能性もある」と、Luiz Andre Barrosoは、9月に「Association for Computing Machinery's Queue」に発表した論文のなかで述べている。同氏は以前、Digital Equipment Corp.(DEC)でプロセッサを設計していたこともある人物だ。「コンピュータ機器の消費電力を抑えられなくなれば、地球環境全体への影響はもちろん、計算処理全体に関してコスト面で深刻な問題が生じる可能性もある」(Barroso)
Barrosoの見方は、米国時間6日に「Sun Fire T2000」サーバを発売したSun Microsystemsには受けが良さそうだ。同サーバが搭載する「UltraSparc T1」プロセッサ(開発コード名「Niagara」)は消費電力72ワットと、ワットあたりの処理能力でライバル各社の製品を上回っている。また、BarrosoがDECで設計に携わった「Piranha」プロセッサは、結局日の目を見ずに終わったものの、チップ上に8基のプロセシングコアを搭載するなど、Niagaraとはいくつかの共通点がある。
消費電力の問題に対応するため、BarrosoはSunのNiagaraと全く同じアプローチを提案している。それは、スレッドと呼ばれる多くの命令シーケンスを同時に実行できるプロセッサだ。今日の典型的なサーバ用チップは、1、2、あるいは4つのスレッドを同時に実行できるが、8つのコアを搭載するNiagaraは32のスレッドを実行可能になっている。
また、IntelとAdvanced Micro Devices(AMD)との長年にわたる戦いのなかでも、消費電力が焦点となっている。AMDのサーバ用プロセッサ「Opteron」は最大消費電力が95ワットであるのに対し、IntelのXeonチップのほうは最大で110〜165ワットも電力を消費する。ほかのコンポーネントも電力を消費するが、ローエンドのサーバではプロセッサの消費電力が全体の50〜60%を占めるのが一般的だとBarrosoは述べている。
消費電力や放熱に対する懸念が初めてチップメーカー間で共通の話題になったのは、Transmetaが突然市場に参入してきた1999年ごろのことだった。Intelなどの各社は即座にこの問題を取り上げたが、やがてパフォーマンスを向上させつつ解決策を編み出すのは困難であることが判明した。その後、消費電力の増加率はやや低下したものの、必要とされるエネルギー全体の量は依然として増え続けている。その結果、ヒートシンクなど各種の冷却コンポーネントに特化した企業の間で「ミニブーム」が起きている。
Sunでは、Niagaraの消費電力が比較的少ない点を大々的にアピールしているが、この点に力を入れているのは同社だけではない。Intelも、8月に開催したIntel Developer Forumで、消費電力あたりのパフォーマンスを重視する方向でプロセッサ製品ラインを見直す計画を詳細に説明した。
Barrosoによると、Googleのコンピューティングインフラは、ここ3世代でパフォーマンスがほぼ倍増したが、消費電力あたりのパフォーマンスがほとんど変わっていないため、電力使用量もほぼ倍増したという。
Googleのデータセンターでは、主としてx86プロセッサを搭載したローエンドサーバを利用しているが、サーバの消費電力が1年に20%増加すれば、1台のサーバにかかる4年分の電気代が、典型的なサーバの購入費用である3000ドルを上回ってしまう。しかし、もし消費電力が年間50%増加すれば、電力料金が現状のキロワットあたり9セントを維持したとしても「2010年までに電気代がサーバ本体の価格を大幅に上回ることになる」と、Barrosoは説明している。
Barrosoは、この問題の解決策として、マルチスレッド化の進んだプロセッサを採用し、多くのスレッドを同時に処理するという方法を示唆している。同氏はこのアプローチを「チップマルチプロセッサ技術(chip multiprocessor technology:CMP)」と呼んでいるが、これはSunが使う「チップのマルチスレディング」という言葉と近い。
Barrosoは、「コンピューティング業界は、デスクトップやサーバ向けにチップのマルチプロセッシングを主力なソリューションとして採用できる状態にある」と主張するが、同時に大きな障害の存在も認めている。
その1つは、CMPに大きく異なるプログラミングアプローチが必要で、並行かつ同時に実行できるようタスクを再分割する必要があることだ。
実際、ACM Queueの同じ号に掲載された別の記事では、Microsoftの研究員Herb SutterとJames Larusが「並行処理は難しい。今日の言語やツールはアプリケーションを並行処理プログラムへと変換する作業に適していない。また、主流のアプリケーションのなかから並行処理の部分を見つけ出すことも難しい。そして何よりも悪いことに、並行処理は人間が不得意な方法で思考することをプログラマーに求める」と書いている。
しかし、プログラミングツールが徐々にこの技術を導入し始め、マルチスレッディング機能を持つプロセッサが普及し始めるなかで、ソフトウェアの状況には改善が見られると、Barrosoは述べている。
もう1つの課題は、チップメーカー各社が最も販売数の多いPC向けプロセッサの設計を重視してきたことだ。サーバとは異なり、PCではマルチスレッディング技術はあまり必要とされていなかった。
しかしBarrosoによると、CMPは一時的な解決策に過ぎないという。
「CMPだけでは電力効率の課題を解決できない。今後2〜3世代のCPUで問題を緩和するのがせいぜいだ。長期的なトレンドに対処するには、基本的な回路やアーキテクチャの技術革新が依然として必要とされている」(Barroso)
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ