7 製品化されているメニーコアチップ

IntelのXeon Phiメニーコアチップ

2012年11月に、IntelはメニーコアのXeon Phiプロセサを発表した。発表された「Xeon Phi 5110Pプロセサ」は60コアという仕様になっているが、チップ写真を見るとチップには62コアが搭載されており、その内の2コアの不良を許容して歩留りを上げるという仕様になっていると考えられる。

Intelの発表では、これらの60コアは、Xeonの8コアサーバチップと同様に、双方向リングで接続されていると書かれているが、60ものコアを、単純にリングで接続すると、ネットワーク直径が大きくなるし、2分バンド幅を確保するには、非常に太いリングとすることが必要となり、技術的に良い解であるとは思われない。

図7.1に示すIntelのドキュメントに書かれたブロックダイヤでは、横一列に並んだプロセサコアとL2キャッシュなどとメモリコントローラをリングで接続し、さらに、リング間をRing Connectorと呼ぶ機構で接続するという2階層のネットワークになっている。

図7.1 Xeon Phiのブロックダイヤグラム(出典:Intel Xeon Phi Coprocessor System Software Developers Guide)

また、図7.1の右側に書かれたPCIeコントローラやディスプレイエンジンは1つのリングに接続されているが、そのリングのコアからだけでなく、Ring Connectorを介して他のリングに接続されたコアからもアクセスが可能になっていると考えられる。

具体的にRing Connectorがどのような構造であるかは明らかになっていないが、メニーコア実験チップとなったLarrabeeが2008年のHot Chips 20で発表された時に示された資料がヒントになる。

図7.2 Larrabeeの発表で示されたスケーラブルなメニーコア接続構造 (出典:2008年のHot Chips 20でのIntelの発表資料)

この図7.2では、コアとキャッシュのペアを接続する小さなリングが2つ描かれており、そのリングには"xr"と書かれたリングクロスを行うユニットが含まれている。そして1つの大きなリングがこれらのxrの間を接続している。

また、この構成では、リングクロスの部分に"moesi"と書かれたキャッシュのコヒーレンシプロトコルを処理するユニットと、小リングに含まれるキャッシュのディレクトリ情報を保持するtd(タグディレクトリ)が描かれている。大リングからのスヌープに対して、タグディレクトリを見て、小リング内のキャッシュにデータが無いことが分かれば、その小リングにスヌープを送らないようにする。あるいは、小リング内で済むスヌープは大リングに出さないようにすることにより、リングを通るコヒーレンシトラフィックを減らしてスケーラビリティを改善していると考えられる。

このように2階層のリングとすることにより、ネットワーク直径を小さく抑えることができる。しかし、リング構造であるので、2分バンド幅は大リングの2本分に制限され、60コアをフルに動かすためには、相当、幅の広いリングが必要になると思われる。もっとも、どのようなトポロジとしても2分面を横切る配線の本数×ビットレートのバンド幅しか得られないので、その配線を1つのリングとするのか、2次元メッシュの複数のパスに分割するのかの違いであり、2分バンド幅に関してリング構造が不利であるというわけではない。また、図7.1では左右にRing Connectorが描かれており、大リングが2個存在するのかも知れない。

図7.3 Xeon Phiのチップ写真(出典:Intel Webサイト)

図7.3のチップ写真を見ると、4段にコアが並んでいるが、最上段の右半分の部分を別にすると、2つの4コアのグループの間に別の形のブロックが挟まったモジュールが、合計で7個あることが分かる。そして、最上段右側の部分は2つの3コアグループとなっている。推測であるが、この8コア(右上は6コア)モジュールが1つの小リングを構成しており、そしてこれらの8コアの中央に置かれているユニットがリングクロスを行うxrとmoesiやtdを含むユニットではないかと思われる。

なお、チップの左右の部分は、GDDR5 DRAMとのインタフェースであり、上段中央の形の異なるユニットからPCI Expressインタフェースが接続されているのではないかと思われる。