Skip to main content
QUICK REVIEW

[論文レビュー] Programmable Switch as a Parallel Computing Device

Li Chen, Ge Chen|arXiv (Cornell University)|Mar 5, 2018
Software-Defined Networks and 5G参考文献 10被引用数 9
ひとこと要約

この論文では、プログラマブルスイッチにマップ・リダスワークロードをオフロードすることで、転送中にデータ処理を実行する並列プログラミングフレームワークp4mrを提案する。CPUベースの実行と比較して最大20倍の高速化を達成した。データプレーン計算コストをモデル化し、P4ベースのコンパイラスタックを用いることで、依存関係を考慮したラベル配置とパケット単位の実行により、スイッチのネットワーク全体にわたる計算の効率的分布が可能になった。

ABSTRACT

Modern switches have packet processing capacity of up to multi-tera bits per second, and they are also becoming more and more programmable. We seek to understand whether the programmability can translate packet processing capacity to computational power for parallel computing applications. In this paper, we first develop a simple mathematical model to understand the costs and overheads of data plane computation. Then we validate the the performance benefits of offloading computation to network. Using experiments on real data center network, we finnd that offloading computation to the data plane results in up to 20x speed-up for a simple Map-Reduce application. Motivated by this, we propose a parallel programming framework, p4mr, to help users efficiently program multiple switches. We successfully build and test a prototype of p4mr on a simulated testbed.

研究の動機と目的

  • プログラマブルスイッチの高いパケット処理能力を活用して、並列計算デバイスとしての可能性を検証すること。
  • マップ・リダスのような並列ワークロードをデータプレーンにオフロードする際のパフォーマンスペナルティを最小限に抑える課題に対処すること。
  • 複数のスイッチに分散してデータプレーン計算を表現・デプロイできるスケーラブルなプログラミングフレームワークを設計すること。
  • シミュレーテッドテストベッドを用いて実世界のワークロードを用いて、ネットワーク内計算の実現可能性とパフォーマンスメリットを評価すること。

提案手法

  • データプレーン計算のパフォーマンスオーバーヘッドを分析するための数学的モデルを構築し、シリアル化および転送コストに焦点を当てた。
  • 高レベルのp4mrコードを抽象構文木(AST)にパースし、その後依存関係を示す有向無閉路グラフ(DAG)に変換するP4ベースのコンパイラスタックを設計。このスタックはflexとbisonを用いて実装した。
  • 依存関係とホップ数の最小化に基づき、計算タスク(ラベル)をスイッチに割り当てるためのグリーディラベル配置アルゴリズムを実装した。
  • アプリケーションID、ルーティングID、コレクションID、データペイロードなどのフィールドを備えたカスタムパケットヘッダフォーマットを定義し、ネットワーク内処理と結果集約を支援した。
  • Mininetを用いてP4スイッチのプロトタイプを構築し、p4mrプログラムの実行をシミュレートした。これにはパケットの構成と状態保持変数の更新が含まれた。
  • 最終的な結果を指定されたホストに転送することで検証するエンド・ツー・エンドのテストを通じて正しさを評価した。

実験結果

リサーチクエスチョン

  • RQ1プログラマブルスイッチ上で並列ワークロードに効率的に実装可能な基本的計算 primitives は何か?
  • RQ2従来のCPUベースの実行と比較して、データプレーンに計算をオフロードした際のパフォーマンスペナルティはどの程度か?
  • RQ3複数のスイッチをどのようにプログラミング・コordinat して、スケーラブルかつ効率的な分散データ処理タスクを実行できるか?
  • RQ4プログラマブルスイッチ上で汎用並列計算を実現するにあたり、主なシステム設計上の課題は何か?

主な発見

  • データプレーンに単純なマップ・リダスワークロードをオフロードした結果、CPUベースの実行と比較して最大20倍の高速化が達成され、顕著なパフォーマンスメリットが示された。
  • 提案されたp4mrフレームワークは、MininetとP4スイッチを用いたシミュレーテッドテストベッド上で、ワードカウントに類似したワークロードを正常にコンパイルおよび実行した。
  • 依存関係を考慮したラベル配置アルゴリズムにより、データパケットの平均ホップ数が効果的に最小化され、全体のパフォーマンスが向上した。
  • プロトタイプはP4スイッチ内の状態保持変数を用いて中間結果を正しく集約し、最終的な結果を指定されたホストに正しく送信した。
  • フレームワークはデータプレーンにおける分散計算の機能的正しさを実現したが、実ハードウェア上でのパフォーマンス評価は今後の課題である。
  • 本研究では、メモリフットプリントとマルチジョブスケジューリングが、こうしたシステムの本番環境への導入にあたっての重要な課題であると特定した。

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

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

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

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