週刊アスキー

  • Facebookアイコン
  • Xアイコン
  • RSSフィード

消えたTofinoの残響 Intel IPU E2200がつなぐイーサネットの未来

2025年11月03日 12時00分更新

インテルが買収したBarefoot社製品の開発を中止
E2100/E2200はその代替品として機能

 Packet ProcessorはP4言語によって制御されている。P4言語というのは2013年に開発された、ネットワーク機器のパケット制御のための言語である。

 パケット制御はControl PlaneとData Planeに分かれる。SDN(Software Defined Network)でもこの2つを別々に扱っているが、Control Planeはいわばネットワークそのものの制御、つまりルーティングテーブルの作成や変更、ネットワークポリシーの確立、ルーティングプロトコルの管理などを担当する。

 一方のData Planeは、実際にパケットを送信元から受信先に送り出す作業を担当する部分である。P4言語はData Planeの動作を記述するための言語であり、以下の特徴が挙げられる。

  • ネットワークプロトコルに非依存。ユーザーが独自に定義したプロトコルやプロトコルスタックを取り扱える
  • ハードウェア非依存であり、任意のプラットフォームで動作する

 この特徴を生かして、独自のプロトコルスタックの構築や、特定のパケットの処理を最優先するといったカスタムパケット処理を自由に実装できる。ほかにも、ネットワークスタックのハードウェアオフロードや、ネットワーク監視機能を実装できる。

 インテルが2019年に買収したBarefoot Networkというメーカーが、ネットワークスイッチ「Tofino」を出していた。この製品はまさにP4をベースにしたもので、非常に柔軟なパケット処理がウリの製品であった。

 当時インテルはOmni-Path Fabricという次世代インターコネクト製品(200GbpsのOPA200)の開発を断念したことを発表したばかりで、インテルはOmni-Path Fabricでデータセンター内のサーバーを統合する計画を放棄、その代わりにイーサネットベースでインターコネクトを構築することを選び、そのためにBarefoot Networkを買収したものと理解されていた。

 ところが実際にはBarefoot Networkを買収したものの、2022年第4四半期の決算報告の際に、Tofino製品の開発中止(サポートは継続)をアナウンス。すなわち、自社でインターコネクトを提供するという方向性そのものを捨てたことになる。

 例えば、インテルがHPEと共同でアルゴンヌ国立研究所に導入したスーパーコンピューターAuroraのインターコネクトは、HPEが提供するSlingshotである。

 実は、Auroraは本来2018年に完成予定だった。この時はKnights Hillをベースとしたシステムになる予定だったが、これの開発は2017年にキャンセルされている

 もともとKnights HillはチップからOmni-Path Fabricがそのまま出るような構成だったため、最初のバージョンのAuroraはOmni-Path Fabricベースだったはずだ。ところがKnights Hillの開発失敗とAuroraの仕切り直しにともない、インターコネクトもインテルの手から主導権が離れ、おそらくほかにインテル製のインターコネクトを望む大口顧客にも恵まれなかったのだろう。Tofinoは現行製品が最後になってしまった。

 ただそうなると、P4を利用できる製品がなくなってしまうのはインテルとしても都合が悪いということで、Tofinoに代わってIPU E2100で処理できるようにしており、今回E2200がその後継として登場した格好だ。

P4言語を処理するFXP Packet Processor

 話を戻すと、このP4言語の処理を実行する主体がFXP Packet Processorである。前述のとおりハードウェア非依存なのでNeoverse N2コアでも実行は可能なのだが、400Gbpsのスループットで到来するパケットを処理するにはやや性能が足りないうえ、構造も向いていない。したがってNeoverse N2は例外的な処理程度であり、メインはこのFXPが担うと考えられる。

 Crypto Engineもまた、400GbpsのLine Speedに対応できるように、従来比2倍の処理性能になっている。暗号化に関してはFlow(ある特定の相手との通信ストリーム)ごとに暗号化方式と暗号化キーが異なるので、Flow単位で管理しているのは当然であるが、どのくらいのFlow数を扱えるのかは不明である。

Crypto Engineの説明。送信と受信にまたがるSADBはSecurity Association Databaseの略で、暗号化キーを保管する場所である。ここからFlowごとにキーを取り出して暗号化/復号化を行なう

 Traffic Shaperは帯域を制御するためのもので、帯域が逼迫しそうな場合には優先順位に従って通すパケットと破棄するパケットを決める仕組みである。

Traffic Shaperの説明。まずヘッダーを解析してそのパケットの優先順位や有効期限を判断、次いでTiming Wheelにそのパケットを突っ込み、そこからアルゴリズムに沿ってパケットを取り出し、それを出力できるように形を整える。つまりTiming Wheelを挟んでその上下のブロックは独立して動いているわけだ

 中央にあるTiming Wheelとは、特にネットワーク周りのスケジューラーでは非常によく利用されるもので、Hashed Timing WheelやHierarchical Timing Wheelsなどいくつかの種類のものが利用されている。有効期限が異なる多数のパケットを効率的に管理する、あるいは優先順位が付いたパケットを効果的に処理する際によく利用されるアルゴリズムであるが、これをハードウェア化して実装していると思われる。

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事