🚢

Tofino開発中止のまとめ(Intel Q4 2022Earnings Call を聞いて)

2023/01/28に公開

本記事内容のスライドは Speaker Deck:Tofino開発中止のまとめ(Intel Q4 2022Earnings Call を聞いて) に掲載しています。

2023年1月30日:本件に関する Intel NEX Group Nick McKeaown からのレター日本語訳+まとめを Zenn: Tofino/P4言語の今後(レター日本語訳:Intel's commitment to P4, Nick McKeown) に記載しました

Tofino 製品ライン開発中止のアナウンス

北米時間 2023年1月26日 の Intel Q4 2022 Earnings Call にて "we will end future investment on our network switching product line" [2] と言及され、実質の Tofino Switch ASIC 製品ラインの開発中止 が発表されました。

そのアナウンスを受け Twitter や Slack 等で業界の人々と意見を交わしながら考えた、今後のデータプレーンプログラマビリティについて考察をまとめました。

なお、今回は四半期決算発表としてあくまでも "投資家(株主)向けの発表" であり、今後のユーザ企業(製品ベンダ含む)との会話で方針が調整される可能性があるため、引き続き動向に注視する必要があります。

特に、近日 Intel NEX Group や P4.org (Nick McKeown?) から今後の方向性について発表があると思われるため、その発表内容を元に再度動向を考察する必要があり、本記事はあくまでも "2023年1月28日時点でのメモ" という位置付けであることをご承知ください。

昔を振り返る(Fulcrum Microsystems)

2019年に Intel が Barefoot (Tofino) を買収したときの懸念は Fulcrum のように後継製品を出さずに開発中止をする事でした。
今回はその懸念が現実となってしまい、流石に「インテルさん、またですか...」という気持ちが隠せません。

なお、Fulcrum は 2011年に買収され、Alta Canyon というコードネームで FMxxxx シリーズと呼ばれる Ethernet Switch ASIC として開発・提供されていました。

2011年当時のプレスリリース:Intel to Acquire Fulcrum Microsystems | July 19, 2011

パケットヘッダを柔軟にパースできるアーキテクチャで、新しいネットワークプロトコルをサポート可能な事が特長でした。

Figure 1. Intel Alta
WHITEBOX SWITCHES: PROGRAMMABLE VS FIXED ASICS | JUNE 24, 2019

Intel ark サイトを確認すると、 "Marketing Status: Discontinued" となっている事が確認できます。

https://ark.intel.com/content/www/us/en/ark/products/codename/68710/products-formerly-alta-canyon.html

投資家向け情報 (Intel Investor Relations)

Intel からの公式情報は https://www.intc.com/ からアクセス可能です。
図ではそれぞれのリンク先資料の概要を記載しています。

全て読むのはかなり時間が必要ですので、以下順に興味あるところを追っていくのが良いと思います。

  • Earnings Presentation [1] で数字や事業のポイント(数行)を把握
  • Prepared Remarks [2] でキーワード検索(e.g. switch)し、CEO/CFOコメントを確認
  • Infogrphic [3] で全体像を把握
  • 余裕があれば Earnings Release [4] や FORM 10-K [5] の関連個所に目を通す

全て https://www.intc.com/ から閲覧・ダウンロード可能
[1] Earnings Presentation (Q4'2022 Earnings Deck_Final PDF.pdf)
[2] Prepared Remarks (Q4 22 Investor Call Prepared Remarks.pdf)
[3] Infogrphic (intel-q4-2022-financial-and-business-report_F.pdf)
[4] Earnings Release (Q4 22_EarningsRelease.pdf)
[5] FORM 10-K (0000050863-23-000006.pdf)

売上・営業利益:Network and Edge Group (NEX)

Network and Edge Group (NEX) 部門の "売上・営業利益" を確認しましょう。
Tofino ASIC (network switching product line) は Network and Edge Group (NEX) 部門に所属しています。また、その他にサーバーサイド(e.g. SmartNIC)で利用される IPU (Mount Evans) もNEX部門に所属します。

[1] Earnings Presentation, Page 10

売上高 (Revenue)

  • TAMの低迷により若干の減収となったが、IPUの増産により相殺
  • Slightly lower revenue driven by TAM weakness, offset by ramp of IPU products

営業利益 (Operating Income)

  • プロセスおよび製品ロードマップへの投資増加、ならびにセグメントミックスにより営業利益が減少
  • Lower operating income on increased investment in process and product roadmap and segment mix

Switch ASIC (Tofino) と IPU それぞれの売上・営業利益は非公開のため、どこまでIPUが売上(利益)に貢献し、Tofinoが売上(利益)を落としているのかは不明です。
しかし、コメントは "IPUの増産により売上が支えられている" と解釈できるため、IPUに関しては投資が継続されると推測されます。

Tofino を利用している製品(ベンダ)

Tofino の開発中止によって影響を受ける可能性のあるベンダはどこでしょうか?
現時点で Tofino 利用を公表しているベンダは以下の通りです。

影響が大きいと推測されるのは NoviFlow や Kaloom で、スイッチ製品そのものが Tofino 依存になっているため、(開発中止となっても)現行 Tofino チップの提供やサポートを継続するよう交渉すると推測できます。

全くの希望的観測ですが、これらベンダのニーズに応えるために、データプレーンプログラマビリティに対応した Swich ASIC を積極的に扱う(Intel以外の)チップベンダが現れる事を期待しています。

Tofino開発中止後のデータプレーンプログラマビリティやP4言語の展望

Tofino の開発中止は、ネットワーク業界、特に研究開発にデータプレーンプログラマビリティを活用している人には大きなインパクトである事は間違いありません。

しかし、Intel Tofino以外にもP4をサポートするベンダや製品は存在する事、特にここ数年はIPU/DPU/FPGA等Switch ASIC以外のチップや、DPDK/XDP(eBPF)/OVSといったCPUベースでの適用事例が増加している事から、P4のデータプレーンプログラミング言語の業界標準(デファクト)としての活用は継続されると考えています。

特にIPUはIntelの戦略上重要なチップであることは変わらず、引き続き注力すると考えられ、IntelによるP4言語への投資は継続されると予想しています。

Tofinoが無くなった世界でのP4言語の活用場所やユースケース、データプレーンプログラミングの選択肢について整理しましょう。

P4言語の活用場所(まとめ)

元々はスイッチデータプレーンのプログラム言語として始まったP4言語ですが、現在では様々な場所や形で利用されています。特にここ数年は、大手パブリッククラウド事業者などを中心に、サーバーサイドでの利用が進められています。

P4言語のユースケース

P4言語のユースケースは、大きくわけると以下3つに分類されます。

データプレーンプログラミング言語(Switch ASIC)

  • Cisco Silicon One 等、P4対応のプログラマブルスイッチASICは残っている
  • 但し、現状では限られたユーザーやベンダしかアクセスできず、研究・試作向けに気軽に改造、というのは難しくなる可能性もある

データプレーンプログラミング言語(Server Side)

  • IPU/DPU/FPGA搭載SmartNICや、DPDK/XDP(eBPF)/OVSなどCPUベースのデータプレーンプログラミングへの活用が広まっている
  • IPU/DPUはP4以外ではチップ毎の独自言語となるため、P4活用の効果は大きい
  • FPGAはVHDL/Verilogで開発可能な技術者が少なくは無いため現時点での効果は限定的。但し、FPGAも高位合成 (HLS) によるC言語を利用したプログラム、AIフレームワーク(TensorFlow, Pytorch etc.)に加え、Pythonライブラリ(AMD PYNQ)を活用した開発など、VHDL/Verilogより抽象度の高い開発環境が利用され始めているため、P4 to FPGAコンパイラの進化次第でFPGAでのP4利用が広まる可能性も期待できる
  • DPDK/XDP(eBPF)/OVSはC言語やeBPFに精通した技術者が多く、また性能面のチューニング可能性としてはP4よりもC言語やeBPFの利用は継続すると考えられる。但し、P4言語を利用した場合はIPU/DPUなどでのコード再利用が可能となるため、フレームワークなど開発環境の進展によりP4の利用が広まる可能性が期待できる

データプレーン記述言語

  • プログラムできない Switch ASIC(Fixed ASIC と呼ばれることもある)のデータプレーンパイプラインを記述し、APIを自動生成する目的でP4言語を利用する事が可能である。
  • 例えば Stratum (Open Source Switch OS) ではこれを活用し、異なるASICベンダのチップに対して共通のAPIを提供可能。
  • 広義のSDNとして、ネットワークの自動化・自律化(e.g. Closed Loop Automation)やインテントベースのネットワークを実現するにあたり必要な "データプレーンのモデル化" に引き続き利用される可能性がある。

データプレーンプログラミングの選択肢

次に視点を少し変え、データプレーンプログラミングを実施するにあたり、Tofino 以外にどのような選択肢があるか考えてみましょう。

他ベンダのP4対応スイッチASICの利用

  • Cisco Silicon One, NVIDIA(Mellanox) Spectrum, etc.
  • 懸念点
    • P4コンパイラやSDKをユーザが利用可能か不明
    • 利用可能な場合でも、コスト含む利用条件が不明

他ベンダの "P4非対応な" プログラマブルASICの利用

  • Broadcom Trident 3 (FleXGS), Tomahawk, Qumran, Jericho (OpenNSA)
  • 懸念点
    • FleXGSやOpenNSAをユーザが利用可能か不明
    • 利用可能な場合でも、コスト含む利用条件が不明

サーバーサイドに機能実装(IPU/DPU/FPGAを利用)

  • IPU/DPU/FPGA等、サーバーサイドに搭載可能なチップを利用
    • スイッチはシンプルなL2/L3/SRv6を利用
  • 懸念点
    • 全てのサーバにIPU/DPUを搭載した場合の運用負荷やコスト
    • In-Network Telemetry 等、スイッチでの実行が必須な機能の利用可否は、ネットワーク機器ベンダ依存となる

サーバーサイドに機能実装(XDPやDPDKを利用)

  • XDPやDPDKなど、CPUを用いた高速化技術を利用
    • スイッチはシンプルなL2/L3/SRv6を利用
  • 懸念点
    • 十分な性能が実現可能か不明
    • In-Network Telemetry 等、スイッチでの実行が必須な機能の利用可否は、ネットワーク機器ベンダ依存となる

まとめ

Intelからの公式発表や、各種メディアの速報記事[6]から、Tofino Switch ASIC 製品ラインの開発中止はほぼ確実と思われます。

P4対応の Switch ASIC は Cisco Silicon One など複数ありますが、どれも機器ベンダやクラウド事業者、大手サービス事業者(e.g. Meta)以外のユーザーが自由に利用できる状況にはありません。
そのため、その他ユーザーはスイッチはシンプルに、複雑な処理でスケールアップが必要な場合は IPU/DPU/FPGA の活用、スケールアウトで良い場合は DPDK/XDP(eBPF) 等CPUベースのデータプレーンプログラミングを利用する事になると感じています。

しかし、Tofinoに依存した商用製品を提供するベンダも複数います。
希望的観測ですが、それらベンダのニーズを汲み取り、中小ユーザーもプログラム可能な Switch ASIC が登場する事を(かすかに)期待しながら、今後の発表や動向を注視したいと思います。

[6] Intel Sunsets Network Switch Biz, Kills RISC-V Pathfinder Program
(2023/01/26 PST)

Discussion