44th Design Automation Conference(DAC)において、「Thousand-Core Chips」という特別セッションが行われ、将来実現されるであろう1,000コアのマルチコアプロセッサについて語られた。発表者は、Intelのプロセッサの発表ではおなじみのShekhar Borkar氏、そしてMITの教授であるAnant Agarwal氏、UIUCの教授であるWen-Mei Hwu氏、IBMのJohn Darringer氏の4名である。

このセッションの中でBorkar氏は、マイクロプロセッサのトランジスタ数はムーアの法則に従って増加し続け、2015年には1,000億個を突破すると述べた。このマイクロプロセッサには、100Mバイトのキャッシュメモリと、15億個のトランジスタからなるロジック回路が集積できるという。しかし、動作周波数の向上と低消費電力化というトレンドを考慮すると、消費電力は1kWになってしまう。

ポラックの法則では、マイクロプロセッサの性能は面積の平方根に比例し、小さなコアをたくさん作る方が効率が良いとされている。そのため大量のコアで構成する"メニーコア"化が進んでいく。しかし、コア数が1,000に到達したところで、各コア間をメッシュ状に4バイト幅のインタコネクトで結ぶと、その電力だけで150W程度になると予想される。

またマルチコア化した場合、その性能は単純にコア数には比例せず、アムダールの法則により実行時間Tは、

T=Ts+Tp/n

となる。ここでTsはシリアル処理の実行時間であり、Tpはn個のコアでパラレル(並列)処理を行った場合の総実行時間である。この関係を図1に示す。

図1 アムダールの法則によるマルチコアプロセッサの性能

つまり1,000コアのプロセッサであってもシリアル処理部分が5%あると、それがボトルネックとなって1個のコアの20倍弱の性能しか出せない。つまり、1,000コアであることがまったく活かされない。

したがって単純にコア数を増やせば良いというわけではなく、パラレル処理を行うTpが小さい場合はコアを大きめにして、シリアル処理部分の実行時間を短縮するほうが有利である。つまり、コアの大きさとコア数のバランスを取らなくてはならないというトレードオフが存在する。