森田 宏
日本ヒューレット・パッカード

 2003年頃まで,プロセッサの性能向上策は,主として「動作周波数を上げて個々のプロセッサの性能を高める」ことだった。サーバーでの処理を銀行の窓口業務に例えた場合,窓口担当者一人ひとりの業務処理能力を上げていくことに相当する(図1)。

図1●プロセッサの性能向上策における2つのアプローチを窓口業務に例えると・・・
図1●プロセッサの性能向上策における2つのアプローチを窓口業務に例えると・・・

 したがって,サーバー性能を判断するのに,「同じプロセッサ数なら,動作周波数が高い(世代が新しい)プロセッサを搭載している方が高性能」「動作周波数が高いプロセッサを搭載しているサーバーほど,新しい」といったことが性能の目安になった。

 ところがある時点で,プロセッサの動作周波数向上を断念せざるを得ない事態が発生した。消費電力の増大が無視できないレベルになったのだ。前述した銀行窓口の例で言えば,窓口担当者一人ひとりの能力向上に限界が見えてきた状況である。

動作周波数に代わる性能向上策を模索

 性能向上のもう1つのアプローチとして,複数の処理を並列で進める「マルチプロセッサ構成」での方法もとられていた。担当者の一人の能力を上げる代わりに,窓口を増やして複数の顧客に同時に対応するわけだ。

 ただ,マルチプロセッサ構成には,期待できる性能向上の割に,価格が高くなりやすいという欠点があった。さらに,効率よく性能を上げるためには,同時並行で複数の処理を実行するように書かれたアプリケーションも必要になるが,実際には,そのようなx86サーバー向けアプリケーションは少なかった。これらの問題が重なって,マルチプロセッサというアプローチは「コスト効率がよくない」という判断がなされた。