私家版 jun_makino さんによる計算とデータとデバイスの考察
電子情報通信学会 集積回路研究専門委員会(ICD)主催 情報処理学会 計算機アーキテクチャ研究会(SIGARC)協賛 第7回アクセラレーション技術発表討論会のプログラムが決まったそうです ieice.org/~icd/news/2015… 今年は浜松の光産業創成大学院大学にて。
2015-03-19 08:26:53但し、 KNF とか KNC では、あまりに設計がアレであるという問題が多す ぎて、 MIMD メニーコアの本質的な問題点が見えにくくなっているようにおも う。
2015-03-19 14:13:46設計がアレなのは、主記憶のアクセスレイテンシが 250 サイクルくらい ( らしい ) のはまあしょうがないとして、リモートキャッシュも同じくらいある とか、なにがどうなってるかよくわからないけどバリア同期に 10 マイクロ秒以 上かかるとか。
2015-03-19 14:13:4810 マイクロって本当に論外で、チップ内並列化の最小単位の実行時間が 100 マイクロ秒くらいないとまともな性能がでない。つまり、 1 億演算くらい必 要。ところが、 L2 キャッシュはチップ全体で 20MB 程度 ( だっけ? )
2015-03-19 14:13:52こうなると、ループ単位で OpenMP でプラグマいれて、というアプロー チでは駄目で、プログラム全体をまずマルチスレッド化して、どうしても必要 なところだけで同期する、としないといけない。
2015-03-19 14:13:56「京」は ( というか Venus とかその前の Jupiter から ) 、ハードウェアバリアの機構がついてるのでこんな阿呆なことはない。これは明らかに優れているところ。
2015-03-19 14:13:58但し、では例えば 64 コアで共有 L2 がもてるかというともちろん無理で、 FX100 (SPARC64 XIfx) では 32 コアを 16 コア毎の 2 ブロックにわけている。
2015-03-19 14:14:02でもこれもかなりの力技で、「京」に比べると L2 のサイクルあたりのデー タ供給量が 4 倍 ( コア数 2 倍、 SIMD 幅 2 倍 ) である。つまり、 4 倍の本数の配線が いる。
2015-03-19 14:14:04L2 がチップ全体に対して 2 個しかないわけで、必然的に L2 とプロセッ サコアの間の配線はチップサイズ程度の長さになり、これは半導体テクノロジー に無関係になる。そうすると、データ移動に必要なエネルギー消費が 半導体テクノロジーが進歩してもあまり減らない。
2015-03-19 14:14:06実際には線を細くし、バッファを増やし、パイプラインステージ数を増やすとかしているはず。そうすると、必要エネルギーはある程度減らせるが、 L2 アクセスレイテンシがどんどん増えることになる。
2015-03-19 14:14:08これは何を意味するかというと、 1 つの L2 が供給できるバンド幅 ( サイク ルあたり ) には限界があるということ。「京」の、名目 B/F=2 で FMA32 個、 128B/ サイクルというあたりが配線可能な限界に近いと考えられる。
2015-03-19 14:14:10これを、共有メモリベクトルプロセッサと比べると、 16 プロセッサ 2 パイ プの C90 が B/F=4 なら 16*4*4=256B/ サイクル、 32 プロセッサの SX-7 は 2KB/ サイクルだったかな? SX-7 はすごい。
2015-03-19 14:14:15配線可能にするには、多数のコアによる L2 共有を諦めるしかない。 Xeon Phi はその方向で、 60 コアくらいの L2 が論理的にはリングでつながっている。
2015-03-19 14:14:17これはまあ、 Stanford DASH を 1 チップにしたようなものである。まあそ れならもうちょっとコア間ネットワーク工夫すればもうちょっと使えたのでは という気もするがそれはそれ。
2015-03-19 14:14:19今のところ、そうはいっても 1 チップメニーコアと DASH みたいな DSM はだ いぶ違うが、もうちょっとコア数やメモリバンド幅が増えるとおそらく同じに なる。
2015-03-19 14:14:23つまり、オフチップメモリに対する uniform access は無理になって、 コアに物理的に近いか遠いかでレイテンシやバンド幅が変わるであろう。
2015-03-19 14:14:25