ポラックの法則

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

ポラックの法則(ポラックのほうそく)は、「プロセッサの性能はその複雑性の平方根に比例する」という経験則。ここで「複雑性」とは、論理回路の水準で見るならばゲート数やFF数、電子回路の水準で見るならばネットリストのエッジ数とノード数すなわち配線数と素子数、などのことである。トランジスタ数のことだとして、この法則に文字通り従うならば、1プロセッサに使うトランジスタを2倍に増やしても、性能は倍にしか上がらない。

ここで、ある系列のプロセッサの新型を設計するとして、その新型ではプロセス微細化なしに2倍のトランジスタを使うことにする。すると(実際にはその設計次第であるが)、ポラックの法則に従うならばプロセッサの性能は1.4倍しか向上していないにもかかわらず、トランジスタ数に比例して消費電力は2倍に増大している。したがって消費電力あたりの性能は、トランジスタ数を2倍にした結果逆に0.7倍に低下することになる。消費電力は、ほぼそのまま発熱量とみてよい。結論として、トランジスタ数の増加によるプロセッサの性能の向上は、遠からず(仮に電力の供給はなんとかできたとしても)熱の問題により頭打ちとなることが、この法則が正しければ予言される。

直感的に説明するならば、この法則はプロセッサ設計がある種の「飽和」に達した後の現象だということになる。32ビットコンピュータを8ビットの算術論理演算装置を並べて作っていたような時代であれば、単純な物量作戦で性能は線形に上がるだろうし、もっとかも(グロッシュの法則)しれない。その後、単純に物量作戦で可能なことは全てやり、パイプライン化なども行われると、それ以上の性能向上は並列(parallel)処理で、となり、scoreboardingTomasuloのアルゴリズムなど、並行(concurrent)処理の複雑さが、目的の計算以上に素子などの資源を喰ってしまうわけである。

なお以上の議論ではプロセス微細化なしにという前提を置いているが、MOS集積回路の開発から200x年代頃までのトレンドとしては、ムーアの法則を達成するためのプロセス微細化によるデナードスケーリングによって、高速化と同時に消費電力も低減されていたため、そちらによる性能向上が大きかった。こちらによる性能向上は、集積回路の生産プロセスを更新するだけでプロセッサ設計やマスクパターンの大きな変更無しに、単にパターンをより小さく縮小するだけであり、「無料の昼食」(Free Lunch)などと形容されることも[1]ある。

インテル社のMRL(Microprocessor Research Labs)のディレクター兼インテル・フェロー(Intel Fellow)を務めていたフレッド・ポラック(Fred Pollack)が提唱した。なお、実際のデータからは、文字通りではなく、物量と性能の関係は一定ではなく変化するものだ、という意味に取るのが良いようである[2]

この法則が示唆する通り、その後のプロセッサは低消費電力・マルチコア化を指向するようになった。

出典[編集]

  • www.intel.com/research/mrl/Library/micro32Keynote.pdf Technologies1999年に開催されたMicro-32の基調講演にてPollack氏が提示したプレゼンテーション。この4ページ目に示された"We are on the Wrong Side of a Square Law"(我々は二乗則の悪い側にいる[2])という言葉がのちに「ポラックの法則」として広まることとなる。この言葉は、計算機の性能は価格の2乗に比例する、としたグロッシュの法則を踏まえたものと思われる(複雑性=価格とすれば、それぞれの法則を描いたチャートは、逆の形を描くことになる)。

[編集]

  1. ^ The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
  2. ^ a b http://news.mynavi.jp/column/architecture/122/index.html

関連項目[編集]