2021年9月6日月曜日

TPUv4 Optical Interconnect Topology Memo

Google TPUv4 Interconnect Topologyについて過去ツイートを纏めてみました。
注意:主に公開されている特許情報をつなぎ合わせたものなので、実際のシステムとの関連は不明です。特許申請は新規性であって、使えるシステムとしてサービスや製品として実現するにはとても多くの地道な積み重ねが必要ですね。
※ 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頃
  • ※ページ内リンク設定が解らないのでスクロールして下さい。

きっかけ (TPUv2 and TPUv3, Hot Chips 2020)

Hot Chips 2020での Googleの発表
"Google’s Training Chips Revealed: TPUv2 and TPUv3", 
Thomas NorrieNishant 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 US201962814757P
2019-04-11: Application filed by Google LLC
2020-09-10: Publication of US20200285524A1
2021-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 LLC
2019-07-01: Priority to US16/458,947
2019-08-16: Assigned to GOOGLE LLC
2021-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 LLC
2012-07-19: Priority to US13/552,774
2012-08-07: Assigned to GOOGLE INC.
2012-08-16: Assigned to GOOGLE INC.
2014-07-29: Application granted
2014-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 LLC
2011-01-05: Priority to US12/985,013
2012-07-05: Publication of US20120170582A1
2014-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 LLC
2019-08-16: Priority to US16/543,410
2019-08-26: Assigned to GOOGLE LLC
2021-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 Topology
All-reduce operations
ResNet-50: 22% of the total device step time
BERT: 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/TCO
One 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

スライドだけでは良く解らなかったのですが、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

Upcoming MVAPICH2 Design Enhancements on the Rockport Switchless Network, Matthew Williams, CTO, Rockport, MUG 2021, Aug 24, 2021

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での発表
McGill University等と小型 Optical Switchを研究しているようなので、いずれ NICに組み込むのではと期待してます。

7 件のコメント:

  1. >ジョブ対象ブロック外へのパケット送出を防ぐ
    これはBGや京・富岳と同じ、パーティション運用ですね。
    Crayのインターコネクトはノード割り当てもランダムですし、IO通信も流れるので、全然違う種類のネットワークと思った方がいいです。
    TPUでもIOはホスト経由で、トーラスには流れないと思います。

    >ブロック単位での保守が可能
    これは大事ですね。BGはこの単位が大きいのが問題でした。

    もう1つ大事なのは、アロケーションのフラグメント解消と思います。
    トーラス系でパーティション運用する際は連続割当になるので、フラグメントによって充填率が下がるのが問題でした。
    例にあるように64ポートスイッチ96台で64ビルディングブロックを繋げば、フラグメントは完全に解消されそうです。
    これを例えばノード数8倍にしてX,Y,Z軸とも2グループずつ作るとフラグメントが発生し始めますが、それでも普通のトーラスより充填率を高くできそうです。

    返信削除
    返信
    1. あ、これ匿名になるんですね...

      削除
    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側の接続がどうなってるのかも気になりますね。

      削除
  2. 96台だとX,Y,Z毎に2系統だから奇数系、偶数系ができてしまいますね。building block内で座標軸の極性反転できればいいのかな...
    それとも48台で座標軸あたり1系統だったか...
    例を詳しく見ないといけませんね。
    コメント欄汚し失礼しました。

    安島

    返信削除
    返信
    1. > 例を詳しく見ないといけませんね。
      すっきりするためにも Googleさんに詳細公開して欲しいですね。

      削除
  3. あと、例の特許は光回路スイッチなので、電気への変換が必要になるパケットスイッチに比べると導入のハードルがかなり低いのも、良い点だと思います。

    返信削除
    返信
    1. Optoelectronic packet switch/routersがどの程度の規模なのか、これのヒント位は学会発表あるかもですね。

      削除

Tesla Memo [3/3] : Tesla AI Day, Aug 19, 2021

Teslaについて過去ツイートを纏めてみました (Memo from my past tweets)。 Tesla Memo [1/3] : Tesla Autonomy Investor Day, Apr 2019 - Sep 2020 https://this-may-int...