Skip to main content
QUICK REVIEW

[論文レビュー] pForest: In-Network Inference with Random Forests

Coralie Busse-Grawitz, Roland Meier|arXiv (Cornell University)|Sep 12, 2019
Internet Traffic Analysis and Secure E-voting参考文献 31被引用数 20
ひとこと要約

pForest は、フローのライフタイム中に動的に切り替わる文脈に配慮したランダムフォレストモデルの系列を学習することで、プログラマブルなデータプレーン上で ASAP(できるだけ早い段階で)ネットワーク内トラフィック分類を実現する。ソフトウェアベースの機械学習システムと同等の精度を達成しながら、スイッチのハードウェア制約のもとで動作し、数10万件のフローに対して早期かつ正確な分類を可能にする。

ABSTRACT

When classifying network traffic, a key challenge is deciding when to perform the classification, i.e., after how many packets. Too early, and the decision basis is too thin to classify a flow confidently; too late, and the tardy labeling delays crucial actions (e.g., shutting down an attack) and invests computational resources for too long (e.g., tracking and storing features). Moreover, the optimal decision timing varies across flows. We present pForest, a system for "As Soon As Possible" (ASAP) in-network classification according to supervised machine learning models on top of programmable data planes. pForest automatically classifies each flow as soon as its label is sufficiently established, not sooner, not later. A key challenge behind pForest is finding a strategy for dynamically adapting the features and the classification logic during the lifetime of a flow. pForest solves this problem by: (i) training random forest models tailored to different phases of a flow; and (ii) dynamically switching between these models in real time, on a per-packet basis. pForest models are tuned to fit the constraints of programmable switches (e.g., no floating points, no loops, and limited memory) while providing a high accuracy. We implemented a prototype of pForest in Python (training) and P4 (inference). Our evaluation shows that pForest can classify traffic ASAP for hundreds of thousands of flows, with a classification score that is on-par with software-based solutions.

研究の動機と目的

  • ネットワーク内トラフィック分類の最適なタイミングを決定する課題に取り組み、過剰な早期決定や遅延決定を回避すること。
  • 時間の経過に伴い変化するフロー特性に適応する機械学習モデルを用いて、データプレーン上で正確でリアルタイムの分類を実現すること。
  • 浮動小数点演算をサポートしない、ループを許可しない、メモリが限られたといったプログラマブルスイッチの厳密な制約のもとで、高い分類精度を維持するシステムを設計すること。
  • フローのライフタイムの異なる段階に特化した、自動的に生成・デプロイされるランダムフォレストモデルの系列を設計し、パケット単位で動的モデル切り替えを可能にすること。
  • ネットワーク内推論が早期かつ正確に実行可能であることを実証し、固定パケット数やフロー終了時でのみ分類を行う従来手法を上回ること。

提案手法

  • pForest は、フローのライフタイムの各段階(例:初期、中盤、後期)に最適化された文脈依存のランダムフォレストの系列を学習する。
  • フローの進行状況とラベル予測の信頼性に基づき、パケット単位でリアルタイムにこれらのモデルを動的に切り替える。
  • スイッチのハードウェア制約に適合させるために、統計的特徴(例:平均、分散)を浮動小数点演算を避けるために整数演算で近似する。
  • 独自のコンパイル戦略を用いて、学習済みのランダムフォレストモデルを P4 プログラムに変換し、メモリとパイプライン効率を最適化する。
  • ハードウェア制限を考慮した上で精度を最大化するため、非サンプリング型のグリッドサーチを用いてモデルのハイパーパrameter(例:深さ、木の数、閾値)を最適化する。
  • ランダムフォレストの解釈可能性と頑健性を活用し、特徴のドリフトや限られた計算リソース下でも高い精度を維持する。

実験結果

リサーチクエスチョン

  • RQ1固定パケット数に依存せずに、高精度を維持したまま、ネットワーク内分類をできるだけ早期に実行することは可能か?
  • RQ2フローのライフタイムに伴い、特徴の重要性や予測信頼性が変化する中で、機械学習モデルをどのように動的に適応させるか?
  • RQ3浮動小数点演算をサポートせず、メモリが限られたプログラマブルデータプレーンで、ランダムフォレストをどのように効率的にコンパイル・実行できるか?
  • RQ4文脈に特化したランダムフォレストの系列は、静的モデルに比べて、早期かつ正確なトラフィック分類において優れていると期待できるか?
  • RQ5分類精度とタイミングの観点から、pForest はソフトウェアベースの機械学習システムと比較してどの程度優れているか?

主な発見

  • pForest は、ソフトウェアベースの scikit-learn 実装と同等の分類精度を達成しており、ハードウェア制約のあるネットワーク内推論がオフライン性能に匹敵することを示している。
  • システムは、ラベルが十分に確立された段階でフローを分類し、DDoS 攻撃のようなネットワークイベントへの即時の対応が可能になる。
  • pForest は、低遅延かつパケット単位のモデル切り替えを用いて、数10万件の同時フローを効率的に処理できる。
  • 文脈依存のランダムフォレストの使用により、フローの各段階で特徴の重要性や意思決定論理を適応可能にし、予測信頼性を時間経過とともに向上させている。
  • コンパイルパイプラインは、整数演算のみ、動的メモリ割り当て不可といった厳密なスイッチ制約のもとで、複雑なランダムフォレストモデルを効果的に P4 コードにマッピングしている。
  • pForest は、固定パケット数での分類やフロー終了時でのみ分類を行う従来のネットワーク内分類器を上回っており、動的でフェーズに配慮したモデル選択の価値を実証している。

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

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

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

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