Skip to main content
QUICK REVIEW

[論文レビュー] P4COM: In-Network Computation with Programmable Switches

Ge Chen, Gaoxiong Zeng|arXiv (Cornell University)|Jul 29, 2021
Software-Defined Networks and 5G参考文献 53被引用数 8
ひとこと要約

P4COM は、プログラマブルスイッチに MapReduce 形式のデータシャッフルをオフロードすることで、ネットワーク内計算(INC)を可能にする使いやすく、メモリ効率が良く、フォールトトレラントなフレームワークです。高水準の論理を翻訳する P4 インタプリタ、限られたオンチップメモリを最適化するメモリ管理ポリシー、フォールトトレラント性を実現するカットペイロード機構を採用しており、シャッフルスループットを 2–5× 向上させ、10Gbps リンクでラインレートに近い性能を達成しています。

ABSTRACT

Traditionally, switches only provide forwarding services and have no credits on computation in distributed computing frameworks. The emerging programmable switches make in-network computing (INC) possible, i.e., offloading some computation to the switch data plane. While some proposals have attempted to offload computation onto special hardwares (e.g., NetFPGA), many practical issues have not been addressed. Therefore, we propose P4COM - a user-friendly, memory-efficient, and fault-tolerant framework realizing in-network computation (e.g., MapReduce) with programmable switches. P4COM consists of three modules. First, P4COM automatically translates application logic to switch data plane programs with a lightweight interpreter. Second, P4COM adopts a memory management policy to efficiently utilize the limited switch on-chip memory. Third, P4COM provides a cutting-payload mechanism to handle packet losses. We have built a P4COM prototype with a Barefoot Tofino switch and multiple commodity servers. Through a combination of testbed experiments and large-scale simulations, we show that P4COM is able to achieve line-rate processing at 10Gbps links, and can increase the data shuffling throughput by 2-5 times for the MapReduce-style applications.

研究の動機と目的

  • 分散コンピューティングフレームワーク(例:MapReduce)におけるネットワーク通信のボトルneckを解消すること。特に、データセンタで最大 46% のトラフィックを占めるデータ集約処理を対象とする。
  • 限られたオンチップメモリとパケットロスのリスクがある中でも、信頼性のある計算オフロードを可能にすること。
  • 低レベルの P4 プログラミングの知識が不要な、開発者フレンドリーなインターフェースを提供することにより、アプリケーションプログラマーが計算論理を表現できるようにすること。
  • スイッチのメモリ使用率を最大化するとともに、オーバーフローを防ぐためのメモリ管理戦略を設計すること。
  • 重複処理を回避し、損失下でも正しく動作するよう保証する、堅牢なパケット回復メカニズムによりフォールトトレラント性を確保すること。

提案手法

  • P4COM は、高水準の MapReduce 論理を効率的な P4 データプレーンプログラムに自動的に変換する軽量なインタプリタを採用している。
  • リソース制約下でも使用を最適化するため、フローテーブルおよびパケットバッファ用の動的メモリ割り当てとリクライムを実装するメモリ管理ポリシーを導入している。
  • パケットロスを検出・回復するためのカットペイロード輸送プロトコルを用いており、再送信エラーを回避し、正しい計算結果を保証している。
  • 輸送の信頼性を確保するため、TCP-Cubic と統合し、ワーカーノードに P4COM 埋め込みスイッチと接続するシェイムレイヤーを設けている。
  • プロトタイプは Barefoot Tofino スイッチとコンsumerサーバー上で実装され、テストベッド実験および大規模シミュレーションにより検証されている。
  • P4COM は、MapReduce ワークロードで一般的な「多数対 1」のマッパー・リデューサー通信パターンをサポートしている。

実験結果

リサーチクエスチョン

  • RQ1プログラマブルスイッチを活用して、サーバーからの計算タスクをオフロードすることで、分散フレームワークにおけるネットワークシャッフルトラフィックを効果的に削減できるか?
  • RQ2低レベルのネットワークプログラミングの知識がなくても、アプリケーション論理を抽象化し、P4 プログラムにコンパイルできる仕組みは何か?
  • RQ3限られたオンチップスイッチメモリを最大限に活用するとともに、オーバーフローを防ぐためのメモリ管理戦略は何か?
  • RQ4ネットワーク内計算中に発生するパケットロスは、どのように処理すれば正しく計算結果を得られ、重複処理を回避できるか?
  • RQ5提案されたフレームワークは、実際のデータセンタワークロードにおいてラインレート性能を達成し、スループットを顕著に向上させることができるか?

主な発見

  • P4COM は、すべてのテストケースでラインレートに近いグッドプットを達成しており、1 サーバーあたり 1 マッパーを使用した場合、測定されたスループットは 9.13 Gbps に達した。
  • WikiReduce ベンチマークでは、従来の MapReduce と比較してシャッフルスループットが 2–5× 向上し、それぞれ 2 マッパー/サーバーで 4.26 Gbps、4 マッパー/サーバーで 2.31 Gbps のスループットが観測された。
  • マッパー対リデューサー比が 3:1、6:1、12:1 と変化しても、P4COM は一貫した性能を維持しており、多数対 1 の通信パターンにおけるスケーラビリティを示している。
  • メモリ管理ポリシーは、継続的なワークロード下でもスイッチメモリのオーバーフローを効果的に防止しながら、高いメモリ使用率を維持している。
  • カットペイロード機構は、重複計算を引き起こさずにパケットロスからの回復に成功しており、結果の正しさを保証している。
  • シミュレーションおよびテストベッド評価から、P4COM はネットワークボトルneckを軽減し、10Gbps 環境でも効率的にスケーリングできることを確認した。

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

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

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

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