Skip to main content
QUICK REVIEW

[論文レビュー] Open Packet Processor: a programmable architecture for wire speed platform-independent stateful in-network processing

Giuseppe Bianchi, Marco Bonola|arXiv (Cornell University)|May 6, 2016
Software-Defined Networks and 5G参考文献 39被引用数 37
ひとこと要約

本稿では、eXtended Finite State Machines (XFSM) を低レベルプログラミング抽象化として用いる、プラットフォームに依存しないワイヤースピードアーキテクチャである Open Packet Processor (OPP) を提案する。商用ハードウェア上で実装された OPP は、フローレベルの状態追跡と決定的でサイクル数が上限のある処理を可能にし、外部コントローラーに依存せずにリアルタイムでプログラマブルなネットワーク関数の実現可能性を示している。

ABSTRACT

This paper aims at contributing to the ongoing debate on how to bring programmability of stateful packet processing tasks inside the network switches, while retaining platform independency. Our proposed approach, named "Open Packet Processor" (OPP), shows the viability (via an hardware prototype relying on commodity HW technologies and operating in a strictly bounded number of clock cycles) of eXtended Finite State Machines (XFSM) as low-level data plane programming abstraction. With the help of examples, including a token bucket and a C4.5 traffic classifier based on a binary tree, we show the ability of OPP to support stateful operation and flow-level feature tracking. Platform independence is accomplished by decoupling the implementation of hardware primitives (registries, conditions, update instructions, forwarding actions, matching facilities) from their usage by an application formally described via an abstract XFSM. We finally discuss limitations and extensions.

研究の動機と目的

  • OpenFlow の静的マッチ/アクションモデルを超える、柔軟でリアルタイムな状態保持型パケット処理のニーズに対応する。
  • トラフィック分類やレート制御などの複雑なネットワーク関数を、プラットフォームに依存しないワイヤースピードで実装可能にする。
  • 抽象的な XFSM モデルを用いて、ハードウェアプリミティブの実装とアプリケーション論理を分離し、異なるスイッチアーキテクチャ間での移植性を確保する。
  • コントローラーに依存する状態管理の遅延およびスケーラビリティの制限を克服するため、状態保持処理をデータプレーンに直接統合する。
  • 将来の拡張可能なデータプレーンプログラミングフレームワークの実用的でハードウェアプロトタイプ化された基盤を提供する。

提案手法

  • パケット到着によってトリガーされる状態遷移をサポートする、eXtended Finite State Machines (XFSM) を基盤とするハードウェアアーキテクチャを設計する。
  • マッチング、条件評価、更新論理、転送アクションのための専用ハードウェアブロックを実装し、低レベルプリミティブを抽象化する。
  • TCAM を用いたフローテーブルを用いて XFSM の状態遷移を符号化し、高速かつ並列な検索および更新処理を実現する。
  • 検索と更新の関数を分離することで、フロー間の状態処理を可能にし、プログラミング技術を用いて非同期イベントの対応を可能にする。
  • 複雑な状態更新を可能にするために、更新論理ブロックに ALU を統合する。将来的には条件評価への拡張も想定される。
  • 商用 FPGA ハードウェア上で設計をプロトタイピングし、ワイヤースピード性能およびサイクル数が上限となる遅延の妥当性を検証する。

実験結果

リサーチクエスチョン

  • RQ1プラットフォームに依存しないワイヤースピードのデータプレーンアーキテクチャは、外部コントローラーに依存せずに、複雑な状態保持型パケット処理を実現できるか?
  • RQ2eXtended Finite State Machines (XFSM) を、遅延が上限となるインネットワーク処理に効果的にマッピングするハードウェアアーキテクチャはどのように設計できるか?
  • RQ3性能と決定論的動作を維持したまま、状態保持処理を特定のハードウェアプラットフォームからどれだけ分離できるか?
  • RQ4クロック同期でパケット到着をトリガーとする状態遷移モデルは、リアルタイムネットワーク関数に適用する上で、実用的な制限は何か?
  • RQ5XFSM 抽象は、タイマー、パイプライン処理、マルチステージ処理といった高度な機能をサポートするために、どのように拡張できるか?

主な発見

  • OPP アーキテクチャは、商用 FPGA ハードウェア上でワイヤースピードで、プラットフォームに依存しない状態保持型パケット処理を実現し、決定的でサイクル数が上限となる動作を達成した。
  • プロトタイプは、トークンバケッジレート制御や C4.5 を用いたトラフィック分類といった複雑なネットワーク関数に対して、XFSM を低レベルプログラミング抽象化として効果的に使用できることを示した。
  • 検索と更新の関数を分離することで、フロー間の状態処理が可能となり、メインパイプライン内に個々のフローの状態を保存する必要がなくなる。
  • 更新論理ブロックにプログラマブルな ALU を統合することで、複雑な状態更新が可能であるが、条件評価は現在のところ更新フェーズに限定されている。
  • ネイティブなタイマー機能の欠如および並列実行に起因するパイプライン更新の非対応が、将来的な拡張が必要な主な制限要因として特定された。
  • OPP は、P4 や OpenFlow などの既存の取り組みを補完する形で、プログラマブルデータプレーンへの段階的で実用的な道筋を提供し、将来的な高レベル言語のコンパイルターゲットとしても有望である。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。