Software-Defined Tester(SDT) を用いた高精度遅延測定による SDN/NFV 品質向上 富士通アドバンストテクノロジ株式会社システム技術統括部大久保克彦 fatec-ood-2017@dl.jp.fujitsu.com 0
背景 リアルタイム性が必要な分野への適用 5G( 低遅延 ) による新たなサービス展開 ゲーム VoIP 動画医療金融車載 遅延がサービス品質に直結 End-to-End で遅延 1~10m 秒要求 従来のネットワーク専用装置と異なりソフトウェアに起因した遅延の発生 Open Flow Switch SDN/NFV 参考文献 Myungjin Lee, Nick Duffield, Ramana Rao Kompella Not All Microseconds are Equal: Fine-Grained Per-Flow Measurements with Reference Latency Interpolation 参考文献 Ramana Rao Kompella, Kirill Levchenko, Alex C. Snoeren, and George Varghese Every Microsecond Counts: Tracking Fine-Grain Latencies with a Lossy Difference Aggregator 品質を評価するため μ 秒精度の遅延測定が必要とされている 1
ソフトウェアに起因した遅延 頻度 アクセラレータを使用した Open Flow Switch の場合 1 ソフトウェア更新によるパケット処理の変化 Open Flow Switch ソフトウェア 2 割り込み処理による遅延増加 CPU 高負荷時に発生 遅延の範囲 パケット キャッシュ溢れ ip_dst ip_src 10.0.1.10 10.0.2.10 10.0.3.10 10.0.4.10 10.0.5.10 10.0.2.10 フローテーブル ハードウェア 3 フローテーブルの更新による一時的な遅延増加 ハードウェア (μ 秒オーダー ) 参考文献 YASUDA YUTAKA, MIYOSHI TADEFUMI, FUNADA SATOSHI; Development of a FPGA-based measurement tool for latency on OpenFlow switch ソフトウェアに起因した遅延の測定手段が必要 ソフトウェア (m 秒オーダー ) 遅延 サンプリングでは取得不可 2
求められる測定器の要件 ソフトウェア起因の遅延 1 ソフトウェア更新によるパケット処理の変化 測定方法要件従来の測定器 更新毎に測定 ( 頻度多 ) 常設できる程度に安価に入手可能であること ソフトウェア測定器 専用測定器 〇 高価 2 割り込み処理による遅延増加 割り込み処理が発生する条件で測定 フルワイヤで測定可能であること 制約有 〇 3 フローテーブル更新による一時的な遅延増加 全パケット遅延測定しヒストグラム取得 全パケットを μ 秒精度で測定し ヒストグラムを取得可能であること 制約有 〇 従来の測定器では要件を満足できない 3
価格 要件満足に向けた施策 Software-Defined Tester(SDT) 専用測定器 OSS 専用ハードウェア ソフトウェア測定器 汎用 NIC + 汎用サーバ SmartNIC+ 汎用サーバ 測定器の要件を満足する領域 機能 / 性能 ソフトウェア測定器をベースに SmartNIC で機能 / 性能を向上 4
ソフトウェア測定器の機能 / 性能制約 全パケット / ヒストグラム : 汎用サーバの負荷が大きく取りこぼしが発生 フルワイヤ : PCIe 帯域制約によりフルワイヤ不可 汎用サーバ データ処理 汎用 NIC ソフトウェア測定器 コントローラ ヒストグラム集計 タイムスタンプ解析 パケット生成 タイムスタンプ付与 μ 秒精度 : 割り込み処理により遅延測定に m 秒オーダの揺らぎが発生 PCIe データ処理 /PCIe 帯域がボトルネック 5
測定器の要件の実現 SmartNIC でソフトウェア測定器のボトルネック解消 ソフトウェア測定器 汎用サーバ 汎用サーバ SDT ボトルネック 汎用 NIC コントローラデータ処理 揺らぎ有取りこぼし有 PCIe Smart NIC コントローラ データ処理 制御情報 / 測定情報のみ 揺らぎ無取りこぼし無 PCIe データ処理を SmartNIC 側に実装 6
SmartNIC とは ネットワーク処理を効率化するための機能を具備した NIC 汎用サーバ SmartNIC PCIe NPU タイムスタンプ付与チェックサム計算 パケット MAC RX プロトコル解析 Parser 数千スレッドでパケットを並列に処理 ( プログラマブル ) PCI Manager CPU core CPU core Memory Controller QoS 順序制御 TM 多数の CPU を有効活用 タイムスタンプ付与チェックサム計算 MAC TX ハードウェアアシスト機能 DRAM NPU: Network Processing Unit TM: Traffic Manager 多数の CPU とハードウェアアシスト機能で高速処理可能 7
データ処理の実装 汎用サーバ SmartNIC NPU 受信直後にタイムスタンプ付与揺らぎ無 MAC RX CPU core タイムスタンプ解析 受信処理 ヒストグラム集計 フロー解析 読出し ヒストグラム演算 PCIe PCI Manager 書込み パケット設定 内部で生成するため PCIe バス帯域ボトルネック無 CPU core パケット生成 送信処理 送信直前にタイムスタンプ付与 MAC TX 取りこぼし無 数百の CPU で並列処理 数百の CPU で並列処理 NPU を最大限活用し機能 / 性能要件を満足 8
性能評価 ( フルワイヤ ) フルワイヤで測定可能であること 構成図 SDT( ) パケット設定 4x10GbE ポート折り返し パケット設定 :L2 以上のパケット フロー数 :16000/ ポート フレーム長 :64~1518byte ソフトウェア測定器は汎用サーバ + 汎用 NIC 構成 SmartNIC は Netronome Agilio-CX 1x40GE を使用 PCIe のボトルネック無でフルワイヤ転送可能 9
性能評価 ( 全パケット / ヒストグラム ) 頻度 全パケットを μ 秒精度で測定し ヒストグラムを取得可能であること ヒストグラム Open Flow Switch 構成図 遅延 SDT( ) ソフトウェア ヒストグラム集計 ~10GbE プロトコル設定 :L2 以上のパケット フロー数 :16000/ ポート フレーム長 :64byte ハードウェア 汎用サーバ +SmartNIC 構成 フローテーブル : 固定 SmartNIC は Netronome Agilio-CX 1x40GE を使用 10
性能評価 ( 全パケット / ヒストグラム ) 頻度 [ パケット数 ] μ 秒精度で遅延を測定 ハードウェア ソフトウェア ソフトウェアに起因した遅延を測定 頻度少の遅延も測定可 10-6 10-4 10-2 全パケットに対し高精度遅延測定が可能 遅延 [ 秒 ] 11
SDN/NFV へ適用 頻度 適用案 SDT で遅延をリアルタイム & 高精度で監視し品質劣化要因を早期発見 要因を取り除き品質向上! ヒストグラム 品質劣化 遅延 RPC SDT SDT GW GW SDT SDT データセンタ データセンタ 12
まとめ SDN/NFV の品質向上にむけて SDN/NFV の適用分野拡大 ソフトウェア起因の遅延発生 ネットワーク遅延がサービス品質に直結 高精度遅延測定と対策が必要 SmartNIC+ 汎用サーバで測定器を構成 高精度遅延測定で SDN/NVF の品質向上 13