Download presentation
Presentation is loading. Please wait.
1
DPDKの処理モデルに基づく NFVノード可視化機構の開発 ー負荷計測手法の一検討ー
ICM 研究会 2018/11/15 DPDKの処理モデルに基づく NFVノード可視化機構の開発 ー負荷計測手法の一検討ー ◯ 堂垂 正裕† ,田口 雄規† ,川島 龍太† , 中山 裕貴†† ,林 經正†† ,松尾 啓志† † 名古屋工業大学 †† 株式会社ボスコ・テクノロジーズ
2
NFV ノード内部の障害箇所・原因の特定が困難
最終目標 管理者 監視サーバ SDN コントローラ 連携機構 複数のVNF 管理者 SNMP,NetFlow VM or Container VNF DPDK 監視 エージェント Host Virtual Switch 独自のリソース管理 NFV ノード内部の障害箇所・原因の特定 負荷情報を基にした負荷分散 監視 機構 連携機構 ポイント 3 NFV ノード内部の障害箇所・原因の特定が困難 ポイント 1, 2 VNF 間の連携 基盤ネットワーク NFV ノード スイッチング処理 NFV ノード内部全体の状態を把握 NFV ノード内部の可視化機構の開発 ポイント VNFにおける内部状態,10 Gbps 級のトラフィックに対応 CPU使用率に代わる負荷指標の選定 既存の運用システムとの連携
3
目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討
5.まとめと今後の課題
4
NFVの現状 5G NFV が 5G 実現への鍵 “多様”な通信サービス “迅速”に展開 大容量データ コアネットワーク 超大規模接続
超低遅延 ネットワークスライス アプリケーション NFV ノード 汎用サーバ 専用ハードウェア ホワイトボックススイッチ 仮想化 NFV が 5G 実現への鍵
5
NFV ノード内部の障害箇所・原因の特定が困難 NFV ノード内部を考慮した可視化機構が必要
ネットワーク監視 物理ネットワーク機器 物理ネットワーク機器 ネットワーク機能 受信 送信 内部構成を考慮しない 管理者 複数のVNF SNMP,NetFlow VM or Container VNF DPDK Host Virtual Switch NFV ノード (サーバ) VNF 間の連携 スイッチング処理 NFV ノード内部の障害箇所・原因の特定が困難 NFV ノード内部を考慮した可視化機構が必要
6
CPU 使用率を基にした負荷計測ができない
負荷計測の問題点 リングキュー NIC DPDK パケット処理スレッド ポーリング CPU コア使用率が常に100% CPU 使用率を基にした負荷計測ができない VM or Container VNF DPDK Host Virtual Switch 低負荷状態 過負荷状態 CPU 使用率は100% 余剰リソースの発生 パケットドロップ NFVノードの負荷状態がわかる指標が必要
7
目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討
5.まとめと今後の課題
8
10 Gbps 級のトラフィックではリアルタイムな解析ができない
NFVPerf NFV ノード内部のボトルネック特定機構† Central Analysis Module VM VM VNF - 1 VNF - 2 Host 解析プロセス Local Capture Module VM - VM 間の スループット,遅延を計測 Virtual Switch Sniffer Port VM – VM間のパケットをキャプチャ NFV ノード データプレーンの性能が800 Mbps / 解析プロセス 10 Gbps 級のトラフィックではリアルタイムな解析ができない † P. Naik, D et al., “NFVPerf: Online Performance Monitoring and Bottleneck Detection for NFV,” Proc. IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN),
9
負荷指標の選定 DPDK の特性を考慮した過負荷検知† 受信キュー内のパケット数を指標として提案 負荷計測指標に適さない 理想的な変化
Host, VM or Container VNF DPDK 理想的な変化 Rx_Ring Rx Tx 過負荷状態 変化なし 負荷計測指標に適さない † J. Xie et al., “Overload Detecting in High Performance Network I/O Frameworks,” HPCC/SmartCity/DSS, 2016.
10
目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討
5.まとめと今後の課題
11
システムの要件定義 NFV ノード内部の障害箇所・原因の特定 負荷情報を基にした負荷分散 ポイント
基盤ネットワーク NFV ノード VM or Container VNF DPDK 監視 エージェント Host Virtual Switch 管理者 監視サーバ SDN コントローラ 連携機構 機構 NFV ノード内部の障害箇所・原因の特定 負荷情報を基にした負荷分散 ポイント 1, 2 ポイント 3 ポイント VNFにおける内部状態,10 Gbps 級のトラフィックに対応 CPU使用率に代わる負荷指標の選定 既存の運用システムとの連携
12
内部機構の設計 ポイント 1 要件定義 VNFの状態把握 性能低下の抑制 DPDKライブラリに実装 VNFに非依存 ノード全体の情報を取得
NIC 0 NIC 2 NIC 1 Virtual Switch DPDK PMD スレッド 監視 エージェ ント core 3 core 2 core 1 core 0 Host core 5 core 4 VM or Container VNF - 1 core 7 core 6 VNF - 2 要件定義 VNFの状態把握 性能低下の抑制 データプレーン 監視プレーン DPDKライブラリに実装 VNFに非依存 ノード全体の情報を取得 CPU コアの分離 転送性能に影響無し
13
新たな負荷指標の選定 ポイント 2 要件定義 負荷計測指標の取得 消費サイクル数の取得 負荷計測が可能 負荷指標に基づく負荷分散 が可能
NIC 0 NIC 2 NIC 1 Virtual Switch DPDK PMD スレッド 監視 エージェ ント core 3 core 2 core 1 core 0 Host 消費サイクル数の取得 負荷計測が可能 負荷指標に基づく負荷分散 が可能 消費サイクル数の 取得機構
14
既存システムとの連携 ポイント 3 要件定義 既存のシステムとの連携 標準 API を設定 既存システムと連携 ホスト側に情報を集約
NIC 0 NIC 2 NIC 1 監視 サーバ core 5 core 4 Virtual Switch DPDK PMD スレッド エージェ ント 連携 機構 core 3 core 2 core 1 core 0 Host VM or Container VNF - 1 core 7 core 6 VNF - 2 要件定義 既存のシステムとの連携 標準 API を設定 既存システムと連携 ホスト側に情報を集約 標準API 統一的な窓口を提供
15
目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討
5.まとめと今後の課題
16
CPU 使用率を基にした負荷計測ができない
負荷計測の問題点 (再掲) リングキュー NIC DPDK パケット処理スレッド ポーリング CPU コア使用率が常に100% CPU 使用率を基にした負荷計測ができない 過負荷によるパケット欠落,性能低下を予測できない 低負荷時に余剰リソースが発生 NFVノードの負荷状態がわかる指標が必要
17
負荷指標の選定 望ましい負荷指標は入力負荷を反映 CPU 使用率は単位時間あたりの総パケット処理時間
各パケットの「処理量」 時間 パケットの「個数」 CPU 使用率は単位時間あたりの総パケット処理時間 総パケット処理時間 idle 単位時間 0% 100% 60% 単位時間,処理単位あたりのパケット処理時間が望ましい ※パケット処理時間 = パケット処理における消費サイクル数 パケット処理ループにおける消費サイクル数に着目
18
DPDKのパケット処理モデル 消費サイクル数は「個数」と「処理量」(入力負荷) を反映 消費サイクル数でNFV ノードの負荷状態を推定可能
パケット処理ループ Rx Process Tx Rx Process Tx 時間 消費サイクル数 入力負荷によって, 消費サイクル数が変化 消費サイクル数 処理パケット (青の2倍の処理量) 消費サイクル数 消費サイクル数は「個数」と「処理量」(入力負荷) を反映 消費サイクル数でNFV ノードの負荷状態を推定可能
19
各パケット処理ループにおける消費サイクル数を取得
消費サイクル数の測定機構 NIC 0 NIC 2 NIC 1 Virtual Switch DPDK PMD スレッド 監視 エージェ ント core 3 core 2 core 1 core 0 Host 消費サイクル数の 取得機構 ポーリング関数 (Rx) rte_eth_rx_burst 本処理 (Process) 送信 (Tx) 消費サイクル数の取得 rte_rdtsc 消費サイクル数の 取得処理を追加 Rx Process Tx Rx Process Tx 各パケット処理ループにおける消費サイクル数を取得
20
変曲点を基準にすることで負荷状態を把握可能
消費サイクル数と入力負荷の関係 消費サイクル数 (遅延) 入力負荷 過負荷 C_drop C_thr 高負荷 変曲点 C_inf 低負荷 C_empty 変曲点を基準にすることで負荷状態を把握可能 消費サイクル数 負荷 補足 C_empty 0% ループにおけるパケット処理数が0 C_inf -- 変曲点,負荷状態が切り替わる点 C_thr 閾値,超えた場合に対策を実施 C_drop 100% 性能限界,パケットロスが発生 † M. John and S. Eric, Practical Service Level Management: Delivering High-Quality Web-Based Service, Cisco Press, Jan
21
変曲点の事前測定 事前測定が必要 変曲点における消費サイクル数を測定 消費サイクル数 入力負荷 Rx Process Tx Rx
C_drop C_thr Rx Process Tx C_inf C_empty Rx 処理パケットが0 ノードの性能限界 変曲点における消費サイクル数を測定
22
Intel Core i7-6900K 3.2GHz (8 cores, HT: off)
事前測定環境 1 Mpps 単位で変動するトラフィックを生成 単純な L2 転送のみ Traffic Generator (MoonGen) Open vSwitch Zabbix- agent port 0 port 1 DPDK 監視 スレッド NFV ノード 指標値の取得,計算,監視サーバへの送信 NFV ノードの情報 CPU Intel Core i7-6900K 3.2GHz (8 cores, HT: off) メモリ 64 GB NIC Intel X540-T2 (10 GbE, 2 ports) OS CentOS 7.4 DPDK v 18.02 Open vSwitch v 2.9.0
23
消費サイクル数を用いた負荷計測 消費サイクル数を用いた運用が可能 既存の通信フローの一部を委託 管理者にアラートを通知
C_drop 既存の通信フローの一部を委託 管理者にアラートを通知 C_thr (例) 既存の通信フローのみを処理 変曲点 C_inf 新規の通信フローを処理 C_empty 消費サイクル数を用いた運用が可能
24
有効性の検証 現実トラフィックの 予想範囲 事前測定を用いて設定した 閾値が利用可能 事前測定とほとんど 同じ消費サイクル数 C_drop
C_thr 事前測定とほとんど 同じ消費サイクル数 C_inf C_empty
25
まとめと今後の課題 まとめ 今後の課題 消費サイクル数による負荷計測手法の提案 NFV ノード内部における可視化機構の提案
変曲点を基準にした運用が有効 NFV ノード内部における可視化機構の提案 10 Gbps 級のトラフィックに対応 あらゆるVNFの状態を把握 既存の監視システムと連携 → 性能向上の促進にも役立つ 今後の課題 VM やコンテナ上の VNF の状態を把握する仕組みの 設計・実装 運用管理や性能向上に有用な指標の選定・可視化
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.