Skip to main content
QUICK REVIEW

[論文レビュー] Unified POF Programming for Diversified SDN Data Plane

Haoyu Song, Jun Gong|arXiv (Cornell University)|May 1, 2014
Software-Defined Networks and 5G参考文献 7被引用数 7
ひとこと要約

本稿では、多様なSDNデータプレーンを統合的に扱うためのOpenFlowプログラミングフレームワークを提案する。抽象命令セットを通じてプロトコルに依存しない、プラットフォームに依存しないプログラミングを可能にする。NPUベースのプラットフォームにおけるコンパイルモード実装は、従来の非SDN実装と比較して11%低いパフォーマンスオーバーヘッドを達成し、マイクロコード命令数においてインタプリタモードを57%上回る。これにより、異種の転送要素においても高パフォーマンスで柔軟なデータプレーンプログラミングが可能になる。

ABSTRACT

In many real-world OpenFlow-based SDN deployments, the ability to program heterogeneous forwarding elements built with different forwarding architectures is a desirable capability. In this paper, we discuss a data plane programming framework suitable for a flexible and protocol-oblivious data plane and show how OpenFlow can evolve to provide a generic interface for platform-independent programming and platform-specific compiling. We also show how an abstract instruction set can play a pivotal role to support different programming styles mapping to different forwarding chip architectures. As an example, we compare the compiler-mode and interpreter-mode implementations for an NPU-based forwarding element and conclude that the compiler-mode implementation can achieve a performance similar to that of a conventional non-SDN implementation. Built upon our protocol-oblivious forwarding (POF) vision, this work presents our continuous efforts to complete the ecosystem and pave the SDN evolving path. The programming framework could be considered as a proposal for the OpenFlow 2.0 standard.

研究の動機と目的

  • ASIC、NPU、CPUといった多様なアーキテクチャを持つ異種のSDN転送要素を、単一の抽象化されたインターフェースでプログラミングする課題に対処すること。
  • コントローラ論理を下位のハードウェア仕様から分離する、プロトコルに依存しないデータプレーンプログラミングを可能にすること。
  • 最大の柔軟性を実現するため、粗粒度(ライブラリベース)と細粒度(命令ベース)の両方のプログラミングをサポートすること。
  • OpenFlow命令のコンパイルモードコンパイルが、NPUベースのプラットフォーム上でネイティブ性能に近いパフォーマンスを達成できることを実証すること。
  • 標準化され、拡張可能で将来にも耐えるデータプレーンインターフェースを提供することで、OpenFlow 2.0の基盤を築くこと。

提案手法

  • パケット/メタデータ編集、テーブルアクセス、出力、分岐、アクティブデータパス操作をカバーする抽象的なフローコマンドを備えた、汎用的かつプロトコルに依存しないOpenFlowインタフェースの設計。
  • 2段階のプログラミングモデルの導入:プラットフォームに依存しない命令セットを、プラットフォーム固有のコンパイラを通じてターゲット固有のマイクロコードにマッピング。
  • パフォーマンスとコード効率を比較するために、NPUベースの転送要素上でインタプリタモードとコンパイルモードの両方のコンパイルを実装。
  • コンパイルモードでは、OpenFlow命令を直接マイクロコード命令にマッピングすることで、命令数を最小限に抑え、スループットを最大化。
  • 標準化された命令セットを用いて、フローエントリのマッチキーとアクションブロックを分離し、一意なIDによって参照可能にすることで再利用を可能にする。
  • 異なる実装におけるマイクロコード命令数、スループット(Mpps)、遅延(サイクル数)を評価することでパフォーマンスを評価。

実験結果

リサーチクエスチョン

  • RQ1多様なアーキテクチャ(ASIC、NPU、CPUなど)を持つ異種のSDN転送要素を対象として、統合的かつプロトコルに依存しないプログラミングインターフェースを設計できるか?
  • RQ2NPUベースのプラットフォームにおいて、OpenFlow命令のコンパイルモードコンパイルはインタプリタモードと比較して、パフォーマンスとコード効率の面でどのように異なるか?
  • RQ3コンパイルモード実装が、従来の非SDN実装に近いパフォーマンスをどの程度達成できるか?
  • RQ4抽象的な命令セットを用いることで、同一フレームワーク内でハイレベルなライブラリベースプログラミングと低レベルなフローコマンドプログラミングの両方を実現できるか?
  • RQ5マイクロコード命令数が、データプレーン実装のパフォーマンスに与える影響はどの程度か?

主な発見

  • 基本的なIPv4転送において、コンパイルモード実装はインタプリタモード実装に比べて57%少ないマイクロコード命令数を要した。
  • 同じNPUプラットフォーム上でのスループットは、コンパイルモードが77.5 Mpps、インタプリタモードが35.3 Mppsを記録し、コンパイルモードが優位であった。
  • コンパイルモード実装は、従来の非SDN実装に比べてわずか11%遅れにとどまり、ネイティブ性能に近いパフォーマンスを示した。
  • 同じ数のマイクロコアを使用した場合、コンパイルモード実装はインタプリタモード実装のスループットを2倍にできる。
  • コンパイルモードとインタプリタモードのパフォーマンス格差の主な要因はマイクロコード命令数であり、直接的な命令マッピングの重要性が浮き彫りになった。
  • 標準化された命令セットによりハードウェア固有の詳細を抽象化することで、プラットフォームに依存しないプログラミングが可能となり、ライブラリベースと細粒度プログラミングの両方をサポートする。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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