注意:主に公開されている特許情報をつなぎ合わせたものなので、実際のシステムとの関連は不明です。特許申請は新規性であって、使えるシステムとしてサービスや製品として実現するにはとても多くの地道な積み重ねが必要ですね。
※ Googleさんのことなので、TPUv5が運用開始されても TPUv4のインターコネクト詳細は公開しないでしょうね・・・
概要
- きっかけ (TPUv2 and TPUv3, Hot Chips 2020)
- OFC 2021, Jun 9, 2021での Norm Jouppiさん (Google) の発言 (4x4x4x (4x4x4))?
- "Optoelectronic packet switch/routers", Google特許
- 4x4x4 x (Block: 4x4x4) = 4,096 TPUv4?
- コメントを頂いたので追記、2021年9月7日 21:00頃
- 2-D Router (Switch) Google特許
- 3-D Mesh Topologyを意識した Google特許
- TPUv3: 4x Pods (32x32) = 128x32 2-D Mesh, All-reduce operation costs, MLsys 2021, Apr 6, 2021
- TPUv4 ICI (Chip-to-chip interconnect fabric): 6, Keynote, FPL 2021, Sep 1, 2021
- 参考:Switchless Optical 3D Torus, Rockport Networks, MUG 2021, Aug 23, 24
- MUG 2021スライド追加、2021年9月8日 02:30頃
- ※ページ内リンク設定が解らないのでスクロールして下さい。
Hot Chips 2020での Googleの発表
"Google’s Training Chips Revealed: TPUv2 and TPUv3",
Thomas Norrie, Nishant Patil, Doe Hyun Yoon, George Kurian, Sheng Li, James Laudon, Cliff Young, Norman P. Jouppi, and David Patterson, Hot Chips, Aug 20, 2020
※スライド一般公開に合わせてのツイートでしたがスライド URLは以下に変更
共同 1st Nishant Patilさんが発明者に含まれる特許申請を発見
”Reconfigurable computing pods using optical networks”, US20200285524A1
Nishant Patil, Xiang Zhou, Andrew Swing
2019-03-06: Priority to US201962814757P2019-04-11: Application filed by Google LLC2020-09-10: Publication of US20200285524A12021-06-22: Publication of US11042416B2
2021年6月22日に認定
”Reconfigurable computing pods using optical networks”, US11042416B2
Nishant Patil, Xiang Zhou, Andrew Swing
4x4x4のブロック化は判りましたが、ブロック間の Reconfigurable結合がよく解らなかったのでそのままにしておきました。
OFC 2021, Jun 9, 2021での Norm Jouppiさん (Google) の発言
偶然、以下のツイートに出くわし:
2021年06月11日, Karen Liu https://twitter.com/girlgeekanalyst
"Wow, Norm Jouppi confirmed at #OFC21 that Google's TPUv4 uses #allopticalswitching!"
多分、こちらのワークショップでの発言 (Norm Jouppiの発表は他に無し)The Role of Machine Learning in Optical Systems and the Role of Optics in Machine Learning Systems, Jun 9, 2021 https://www.ofcconference.org/en-us/home/program-speakers/symposia/role-of-machine-learning/
改めて特許を探索したところ、上記申請を発展させたとも考えられる別途申請を発見、ただし発明者に上記 3名は含まれず単独での出願です:
”Reconfigurable computing pods using optical networks with one-to-many optical switches”, Jeremiah Willcock, Patent Application, US20210006873A1
2019-07-01: Application filed by Google LLC2019-07-01: Priority to US16/458,9472019-08-16: Assigned to GOOGLE LLC2021-01-07: Publication of US20210006873A1
64 (4x4x4) 個の 4x4x4ブロックを One-to-Many optical switchesを用いて結合させる手法。ブロック 1面からは 4x4 (16) 光接続、ブロック全体 (6面) では 96光接続が必要となり、どう解決するのかと…
"Optoelectronic packet switch/routers", Google特許
すると、興味深い認定済み特許を発見
”Optoelectronic packet switch/routers”, US8792787B1
Xiaoxue Zhao, Bikash Koley, Vijay Vusirikala, Edward Crabbe, Paul Phillip Germano, Hong Liu, Philip Michael Wells
2012-07-19: Application filed by Google LLC2012-07-19: Priority to US13/552,7742012-08-07: Assigned to GOOGLE INC.2012-08-16: Assigned to GOOGLE INC.2014-07-29: Application granted2014-07-29: Publication of US8792787B1
"Each switch fabric includes N layers of N×N arrayed waveguide gratings (AWGs), and each AWG has ingress ports and egress ports."
NxN AWGsを縦・横の 2段とすることで、NxN入出力が Optoelectronicで可能となる提案。例えば、16入出力 (16x16) AWGを 2x 16層用いると 256 <=> 256が実現可能となります。
4x4x4 x (Block: 4x4x4) = 4,096 TPUv4?
これらの特許や Norm Jouppiさんの発言、Google I/O ‘21 TPUv4発表の 4,096個から
Google I/O ‘21, Google Keynote, May 18, 2021
(4x4x4 TPUv4s) を 1つのブロックとしての 4x4x4構成だと 4,096 TPUv4になるので数的は合致すると推測しましたが、TPUv4の詳細は不明でした。
16x16x16ではなくブロック化とジョブによるブロックの結合による 4x4x4 (4x4x4) で
ジョブ対象ブロック外へのパケット送出を防ぐブロック単位での保守が可能
などの利点が考えられます。3-D Torus、2-D Meshではパケットはネットワーク全体に拡散されます (3-D Torusの Cray XT-3に通常の Linuxベースの Storageノードを接続したところ Torusが Hello Packetで一杯となったそうです。演算ノードは不必要なサービスをそぎ落とした Linuxを採用)。パケット移動には電力が必要なので不必要なパケットを抑制することはシステム全体の電力削減にも繋がります。次の N-D Router (Switch) で自分より先で不要なパケットを分別し送出しないように出来なくないかもしれませんが、その仕組みは容易ではなさそうです。
コメント:2021年9月7日
>ジョブ対象ブロック外へのパケット送出を防ぐ
これはBGや京・富岳と同じ、パーティション運用ですね。Crayのインターコネクトはノード割り当てもランダムですし、IO通信も流れるので、全然違う種類のネットワークと思った方がいいです。TPUでもIOはホスト経由で、トーラスには流れないと思います。
もう1つ大事なのは、アロケーションのフラグメント解消と思います。
※とても重要な視点です、全文は下のコメント欄
2-D Router (Switch) Google特許
2-D Mesh、3-D Torusを実現するには TPU側にも対応する Router (Switch) が必要となるので探してみたところ、気になる特許を発見
”Systems and methods for dynamic routing in a multiprocessor network using local congestion sensing”, US8730965B2
Dennis Charles Abts, Peter Michael Klausler, Michael Marty, Philip Wells
2011-01-05: Application filed by Google LLC2011-01-05: Priority to US12/985,0132012-07-05: Publication of US20120170582A12014-05-20: Application granted
2014-05-20: Publication of US8730965B2

ここでは 2-D Mesh向け 5-Ports Router (Switch)、1 Portはホスト。
1stの Dennis Charles Abtsさんは元 Crayでスーパーコンピュータ向け Interconnectの専門家で、Cray BlackWidowや例えば
"The Cray XT4 and Seastar 3-D Torus Interconnect", Dennis Abts, Encyclopedia of Parallel Computing, Springer (2011)
※Googleサイトで公開
Crayから Googleへの転職時期は Googleは Supercomputer Architectを求人と話題になった頃と一致なので、Googleでスーパーコンピュータ的な次世代の何かを研究されていた可能性が高いです。現在は Groqの Chief Architect、Groqもチップ間に 3-D Torus対応な独自 Interconnectを実装してますが、Abtsさんは Groq創業メンバーではありません。
Lastの Philip Wellsさんは ”Optoelectronic packet switch/routers”, US8792787B1 のラストでもあるので、3-D Torus向けに Router (Switch) を研究・開発・拡張した可能性がありそうですが、該当する特許申請等は見つかってません。
3-D Mesh Topologyを意識した Google特許
TPU開発のキーパーソンの Norm Jouppiさんが、NeurIPS 2020 Workshop, Machine Learning for Systemsで大規模 TPU Clusterでの耐障害性を考慮した学習について発表されてました
"Highly Available Data Parallel ML training on Mesh Networks",
Sameer Kumar, Norm Jouppi, Google, Workshop on Machine Learning for Systems at NeurIPS 2020
この発表は 2-D Meshですが、関連すると思われる特許申請では
"Cross replica reduction on networks having degraded nodes", US20210049408A1
Bjarke Hammersho,lt Roune, Sameer Kumar, Norman Paul Jouppi
2019-08-16: Application filed by Google LLC2019-08-16: Priority to US16/543,4102019-08-26: Assigned to GOOGLE LLC2021-02-18: Publication of US20210049408A1
3-D Mesh Topologyも対象としているようすです。
TPUv3: 4x Pods (32x32) = 128x32 2-D Mesh, All-reduce operation costs
"Exploring the Limits of Concurrency in ML Training on Google TPUs", Google, MLsys 2021, Apr 6, 2021
4096x TPUv3: 4x Pods (32x32) = 128x32 2D Mesh TopologyAll-reduce operations
ResNet-50: 22% of the total device step timeBERT: 27.3% of the total device step time
ResNet-50、BERTどちらも All-reduce operationsに要する時間は規模によらずデバイス (TPUv3サーバ単位?) でかなりフラット。全体の処理時間をさらに削減させるためにはこの部分を短縮させる必要がありそうです。
※ Googleが詳細を発表する場合、既に次のステップに進んでいる可能性が非常に高く。2-D Meshでの通信コスト削減の限界を見いだしたので、3-D Torus化に進展させた可能性がありそうですが、
いやむしろ、当初から 3-D Torusはロードマップ化されていて Optoelectronic packet switch/routers等の実用により TPUv4で実現された方が高そうです。
TPUv4 ICI (Chip-to-chip interconnect fabric): 6, Keynote, FPL 2021, Sep 1, 2021
TPUv4から派生した推論用 TPUv4iは ICI (Chip-to-chip interconnect fabric) : 2x 400 Gbpsと ISCA 2021で発表がありましたが、TPUv4の ICIリンク数は公開されてませんでした。
"Ten Lessons From Three Generations Shaped Google's TPUv4i",
Norman P. Jouppi, ..., David Patterson, Industry Track, ISCA 2021, Jun 14, 2021
現在、リンク先 PDFは要認証に変更されてます、以下で正式公開
ところが、
"Accelerating Deep Learning with TPUs", Michael Hutton, Tech-Lead//Manager, Google, Keynote, FPL 2021, Sep 1, 2021
TPUv4 / TPUv4i紹介スライドに
Differences:
v4i scaled down from TPUv4 for better perf/TCOOne TPUv4 TensorCore per chip (vs. 2)
- 128 MiB CHEM
- 8GiB HBM
- 2 ICI ports (vs. 6)
6 portsと記載がありました (ただし口頭では触れず)、この講演では他にも新しい情報がいくつも紹介されています。
”Google I/O 2021: Being helpful in moments that matter”, May 18, 2021 https://blog.google/technology/developers/io21-helpful-google/
で公開された TPUv4 boardの左側コネクタを見ると、各 TPUv4で上面 1つ、下面に 3つのコネクタが実装されているようで、。上面の 1つは上側ボードに下の 3つが下側と左右ボードに接続されると推測出来ます。
これで、TPUv4 POD: 4,096は
4x4x4x (4x4x4 TPUv4s 3D / 6 links)
の可能性が高くなりました。
参考:Switchless Optical 3D Torus, Rockport Networks, MUG 2021, Aug 23, 24, 2021
Switchless Optical Networkingを特徴とする Rockport Networksがあります
会社の創業はかなり前のようですが、現在の Opticalベースになったのは最近のようです。
特許と気になる Optics Letters, Aug 2020と OFC 2021での発表
Rockport Networks, M. Williams, CTO, ExaComm 2021, Jul 2, 2021
Slides (19 pages) http://nowlab.cse.ohio-state.edu/static/media/workshops/presentations/ExaCommRockportNetworks2021-07-02.pdf
スライドだけでは良く解らなかったのですが、Annual MVAPICH User Group (MUG) Meeting, Aug 23, 24, 2021で Tutorialと発表があり、とてもフムフムとなりました。
Addressing Network Congestion with Rockport Networks, M. Williams, CTO, Rockport, Tutorial, MUG 2021, Aug 23, 2021
Video: 47:59 https://www.youtube.com/watch?v=9DBdgAiCY0E
NEW (Sep 8) Slides (14 MB / 42 pages) http://mug.mvapich.cse.ohio-state.edu/static/media/mug/presentations/21/MUGRockport2021-08-23.pdf
Upcoming MVAPICH2 Design Enhancements on the Rockport Switchless Network, Matthew Williams, CTO, Rockport, MUG 2021, Aug 24, 2021
Video: 27:28 https://www.youtube.com/watch?v=CehpKleAGw0
NEW (Sep 8) Slides (6 MB / 24 pages) http://mug.mvapich.cse.ohio-state.edu/static/media/mug/presentations/21/MUGRockport2021-08-24.pdf
Optical Switchless 3-D Torus
NIC: 6x (2x 25 Gbps)Rockport SHLE (No Power)
特に Turorialはお勧めです。
最適化ルーティングの中身は複雑そうですが (TPUは閉じた環境なので軽く最適な独自プロトコルを採用しているはず)、Switchless Optical 3-D Torusで安定した低遅延を実現してます。スーパーコンピュータ系インターコネクトベンチマーク:GPCNeTでは Cray Slingshotと同等な好成績です。
"GPCNeT: Designing a Benchmark Suite for Inducing and Measuring Contention in HPC Networks", ANL, NERSC, Cray, SC19 https://twitter.com/ogawa_tter/status/1225059406955442176
3D-Torusは NICからの光ファイバーを一種のパッチボックスで物理配線で実現し、言われてみれば当然ですがその箱は電源不要でメンテナンスフリーです。
Tutorialの質疑応答でパーティショニング化が出てました。
現在の NICは FPGAで、次世代は ASICとのことです。
先ほどの Optics Letters, Aug 2020と OFC 2021での発表
>ジョブ対象ブロック外へのパケット送出を防ぐ
返信削除これはBGや京・富岳と同じ、パーティション運用ですね。
Crayのインターコネクトはノード割り当てもランダムですし、IO通信も流れるので、全然違う種類のネットワークと思った方がいいです。
TPUでもIOはホスト経由で、トーラスには流れないと思います。
>ブロック単位での保守が可能
これは大事ですね。BGはこの単位が大きいのが問題でした。
もう1つ大事なのは、アロケーションのフラグメント解消と思います。
トーラス系でパーティション運用する際は連続割当になるので、フラグメントによって充填率が下がるのが問題でした。
例にあるように64ポートスイッチ96台で64ビルディングブロックを繋げば、フラグメントは完全に解消されそうです。
これを例えばノード数8倍にしてX,Y,Z軸とも2グループずつ作るとフラグメントが発生し始めますが、それでも普通のトーラスより充填率を高くできそうです。
あ、これ匿名になるんですね...
削除> Crayのインターコネクトはノード割り当てもランダムですし、IO通信も流れるので、全然違う種類のネットワークと思った方がいいです。
削除ありがとうございます。確かに Crayは基本的な 3-D Torusですね。
> TPUでもIOはホスト経由で、トーラスには流れないと思います。
TPUv4 1つに 1ホスト (2x AMD Rome, 512GB) のようなので。TPUv4 64ノード https://github.com/mlperf/training_results_v0.7/blob/master/Google/systems/tpu-v4-128-TF.json
4,096 TPUv4だと AMD側の接続がどうなってるのかも気になりますね。
96台だとX,Y,Z毎に2系統だから奇数系、偶数系ができてしまいますね。building block内で座標軸の極性反転できればいいのかな...
返信削除それとも48台で座標軸あたり1系統だったか...
例を詳しく見ないといけませんね。
コメント欄汚し失礼しました。
安島
> 例を詳しく見ないといけませんね。
削除すっきりするためにも Googleさんに詳細公開して欲しいですね。
あと、例の特許は光回路スイッチなので、電気への変換が必要になるパケットスイッチに比べると導入のハードルがかなり低いのも、良い点だと思います。
返信削除Optoelectronic packet switch/routersがどの程度の規模なのか、これのヒント位は学会発表あるかもですね。
削除