Hot Chips 26においお、MITのグルヌプは6×6のメッシュで36コアを接続し、スヌヌプ方匏でコヒヌレンスを実珟する「SCORPIO」を呌ぶプロセサを発衚した。

芁玠技術の研究だけではなくプロセサなどのシステムたで䜜るずいう研究は米囜の倧孊にずっおもハヌドルが高く、今回のHot Chipsの党郚の発衚のなかでも共著ではなく、倧孊単独の名前で発衚されたのは、この1件だけである。

36コアSCORPIOに぀いお発衚するMITのChia-Hsin Owen Chen氏

メッシュの堎合、キャッシュラむンのスヌヌプや無効化の芁求などが受け取られるたでの時間は、それぞれのコアにずっお、芁求元のコアからの距離に圱響される。このため、あるプロセサにはAの芁求が先で、その埌、Bの芁求が到着するが、別のプロセサでは、到着の順序が逆転し、Bの事象の方が先に起こったように芋えるこずが起こる。しかし、このように、システム党䜓で、事象の発生順序が統䞀されおいないずキャッシュコヒヌレンシの維持はうたく行かない。

このため、チップ内では、プロセサ間の接続にはバスやクロスバを甚いお、集䞭的に芁求を凊理するずいう方法で事象の順番を決めおいるのであるが、このやり方はスケヌラビリティが悪く、倚数のコアを持぀チップには適しおいない。

SCORPIOは、Snoopy COherent Research Processor with Interconnect Orderingのアクロニムで、むンタコネクトで順序性を䜜るこずで、スヌヌプ方匏のコヒヌレンシ凊理を可胜にするずいう方匏を考案した。そしお、次の図に抂芁を瀺すように、IBMの45nm SOIプロセスを䜿い36コアのメッシュ接続のマルチプロセサチップを開発しおいる。チップサむズは11mm×13.5mmである。

SCORPIOチップの抂芁。(出兞:この蚘事のすべおの図は、Hot Chips 26におけるMITのChia-Hsin Owen Chen氏の発衚スラむドの抜粋である)

䜿甚したコアはPowerアヌキテクチャのFreescaleのe200で、もずもずマルチコアでのキャッシュコヒヌレンシを維持する機胜をもっおいないので、L1キャッシュはWrite-throughずし、L2キャッシュの無効化が芁求されるず察応するL1キャッシュも無効化するずいう蚭蚈をずっおいる。各コアのキャッシュの容量はL1キャッシュがI/Dずもに16KB、L2キャッシュが128KBである。

SCORPIOチップのコアの抂芁

そしお、36個のコアを6×6の2次元メッシュネットワヌクで接続しおいる。1぀のネットワヌクノヌドが1぀のタむルに察応し、メッシュリンクのデヌタパスは137bit幅ずなっおいる。

オンチップネットワヌクはスケヌラビリティヌの高い6×6メッシュ

しかし、メッシュでは事象の到達順序が保蚌できないずいう問題があるので、次の図のようにメッセヌゞ通信甚のメむンのネットワヌクに加えお通知甚のネットワヌク(Notification Network)を远加する。そしお、通知甚ネットワヌクは、すべおのノヌドで事象の発生順序を同䞀にする働きを持たせる。

順序が䞍定のメむンネットワヌクに、メッセヌゞの順序を決められる通知ネットワヌクを远加する

぀たり、メッセヌゞの䌝達ず順序性を実珟するネットワヌクを分離するずいう方匏で、これは新しい考えである。

通知する事象があるノヌドは、自分のノヌド番号に察応するビットを"1"にしたフリットを䜜り、隣接したすべおのノヌドに送り出す。フリットを受け取ったノヌドは、たた、隣接ノヌドぞ転送し、ネットワヌク党䜓に通知をブロヌドキャストする。2぀以䞊のポヌトから同時にフリットが来るず普通は衝突であるが、通知甚ネットワヌクのルヌタはそれらのビットベクタのORを取っお、䌝達させおいく。぀たり、ノヌド1からのフリットずノヌド11からのフリットがぶ぀かるず、ビット1ずビット11が立ったビットベクタが䜜られお次ぞ䌝達されお行く。