DPDKの処理モデルに基づく NFVノード可視化機構の開発 ー負荷計測手法の一検討ー

Slides:



Advertisements
Similar presentations
目次 このドキュメントについて・・・前提条件……………………………………… 2
Advertisements

研究目標 研究目標 提案手法 仮想ネットワーク上でのブロードキャスト、マルチキャスト通信の実現
The Enterprise-class Monitoring Solution for Everyone
Webプロキシサーバにおける 動的資源管理方式の提案と実装
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウド上の仮想マシンの安全なリモート監視機構
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
ラウンドトリップタイムを指標とした 無線LAN のためのアクセスポイント選択手法
インターネットにおける オーケストラ演奏同期機構の 設計と実装
Capacity Overprovisioning for Networks with Resilience Requirements
神奈川大学大学院工学研究科 電気電子情報工学専攻
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
クラウドにおけるライブラリOSを用いた インスタンス構成の動的最適化
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
研究背景 クラウドコンピューティングサービスの普及 マルチテナント方式を採用 データセンタの需要が増加
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
発表の流れ 研究背景 マルチテナント型データセンタ 関連研究 IPマルチキャスト ユニキャスト変換手法 提案手法 性能評価.
TranSwitch:ネットワークフロー毎における最適な TCP への動的切替機構
センサノード 時刻同期と位置測定 浅川 和久 2008/11/16 センサノード 時刻同期と位置測定.
研究背景 クラウドコンピューティングサービスの普及 ユーザ数の増加に伴う問題 マルチテナント方式の採用 データセンタの需要が増加
大きな仮想マシンの 複数ホストへのマイグレーション
ネストした仮想化を用いた VMの安全な帯域外リモート管理
帯域外リモート管理の継続を 実現可能なVMマイグレーション手法
サーバ負荷分散におけるOpenFlowを用いた省電力法
過負荷時のWebアプリケーションの 性能劣化を改善する Page-level Queue Scheduling
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
分散IDSの実行環境の分離 による安全性の向上
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
インターネットにおける真に プライベートなネットワークの構築
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
各種ルータに対応する P2P通信環境に関する研究
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
クラウドにおけるVM内コンテナを用いた 自動障害復旧システムの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
クラウドにおけるVM内コンテナを用いた 低コストで迅速な自動障害復旧
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
複数ホストにまたがって動作する仮想マシンの障害対策
仮想ネットワークを考慮した SoftIRQ制御によるCPU割当ての手法
セキュリティ機構のオフロード時の 性能分離
VMMのソフトウェア若化を考慮した クラスタ性能の比較
オブジェクトストレージ(SDS)と ネットワークの仮想化技術(SDN)の 活用方法について
[招待講演] オープンソース 仮想スイッチの実装に見る DPDKの使用方法と 性能への影響
ネットワークをシンプルにする エンタープライズ NFV
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
仮想環境を用いた 侵入検知システムの安全な構成法
仮想マシンの監視を継続可能なマイグレーション機構
トラフィックプロファイラAGURIの設計と実装
仮想マシンとホスト間の通信に着目した 段階的なパケット集約によるNFV効率化手法
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
ゼロコピー・マイグレーションを 用いた軽量なソフトウェア若化手法
「クリーンな仮想化」 と要素独立進化型の 仮想化ノード・アーキテクチャ
強制パススルー機構を用いた VMの安全な帯域外リモート管理
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
強制パススルー機構を用いた VMの安全な帯域外リモート管理
Presentation transcript:

DPDKの処理モデルに基づく NFVノード可視化機構の開発 ー負荷計測手法の一検討ー ICM 研究会 2018/11/15 DPDKの処理モデルに基づく NFVノード可視化機構の開発 ー負荷計測手法の一検討ー ◯ 堂垂 正裕† ,田口 雄規† ,川島 龍太† , 中山 裕貴†† ,林 經正†† ,松尾 啓志† † 名古屋工業大学 †† 株式会社ボスコ・テクノロジーズ

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使用率に代わる負荷指標の選定 既存の運用システムとの連携

目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討 5.まとめと今後の課題

NFVの現状 5G NFV が 5G 実現への鍵 “多様”な通信サービス “迅速”に展開 大容量データ コアネットワーク 超大規模接続 超低遅延 ネットワークスライス アプリケーション NFV ノード 汎用サーバ 専用ハードウェア ホワイトボックススイッチ 仮想化 NFV が 5G 実現への鍵

NFV ノード内部の障害箇所・原因の特定が困難 NFV ノード内部を考慮した可視化機構が必要 ネットワーク監視 物理ネットワーク機器 物理ネットワーク機器 ネットワーク機能 受信 送信 内部構成を考慮しない 管理者 複数のVNF SNMP,NetFlow VM or Container VNF DPDK Host Virtual Switch NFV ノード (サーバ) VNF 間の連携 スイッチング処理 NFV ノード内部の障害箇所・原因の特定が困難 NFV ノード内部を考慮した可視化機構が必要

CPU 使用率を基にした負荷計測ができない 負荷計測の問題点 リングキュー NIC DPDK パケット処理スレッド ポーリング CPU コア使用率が常に100% CPU 使用率を基にした負荷計測ができない VM or Container VNF DPDK Host Virtual Switch 低負荷状態 過負荷状態 CPU 使用率は100% 余剰リソースの発生 パケットドロップ NFVノードの負荷状態がわかる指標が必要

目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討 5.まとめと今後の課題

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), 2016.

負荷指標の選定 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.

目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討 5.まとめと今後の課題

システムの要件定義 NFV ノード内部の障害箇所・原因の特定 負荷情報を基にした負荷分散 ポイント 基盤ネットワーク NFV ノード VM or Container VNF DPDK 監視 エージェント Host Virtual Switch 管理者 監視サーバ SDN コントローラ 連携機構 機構 NFV ノード内部の障害箇所・原因の特定 負荷情報を基にした負荷分散 ポイント 1, 2 ポイント 3 ポイント VNFにおける内部状態,10 Gbps 級のトラフィックに対応 CPU使用率に代わる負荷指標の選定 既存の運用システムとの連携

内部機構の設計 ポイント 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 コアの分離 転送性能に影響無し

新たな負荷指標の選定 ポイント 2 要件定義 負荷計測指標の取得 消費サイクル数の取得 負荷計測が可能 負荷指標に基づく負荷分散 が可能 NIC 0 NIC 2 NIC 1 Virtual Switch DPDK PMD スレッド 監視 エージェ ント core 3 core 2 core 1 core 0 Host 消費サイクル数の取得 負荷計測が可能 負荷指標に基づく負荷分散 が可能 消費サイクル数の 取得機構

既存システムとの連携 ポイント 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 統一的な窓口を提供

目次 1.研究背景 NFV ノード内部の可視化機構 負荷指標の選定 2.関連研究 3.提案アーキテクチャ 4.負荷計測手法の一検討 5.まとめと今後の課題

CPU 使用率を基にした負荷計測ができない 負荷計測の問題点 (再掲) リングキュー NIC DPDK パケット処理スレッド ポーリング CPU コア使用率が常に100% CPU 使用率を基にした負荷計測ができない 過負荷によるパケット欠落,性能低下を予測できない 低負荷時に余剰リソースが発生 NFVノードの負荷状態がわかる指標が必要

負荷指標の選定 望ましい負荷指標は入力負荷を反映 CPU 使用率は単位時間あたりの総パケット処理時間 各パケットの「処理量」 時間 パケットの「個数」 CPU 使用率は単位時間あたりの総パケット処理時間 総パケット処理時間 idle 単位時間 0% 100% 60% 単位時間,処理単位あたりのパケット処理時間が望ましい ※パケット処理時間 = パケット処理における消費サイクル数 パケット処理ループにおける消費サイクル数に着目

DPDKのパケット処理モデル 消費サイクル数は「個数」と「処理量」(入力負荷) を反映 消費サイクル数でNFV ノードの負荷状態を推定可能 パケット処理ループ Rx Process Tx Rx Process Tx 時間 消費サイクル数 入力負荷によって, 消費サイクル数が変化 消費サイクル数 処理パケット (青の2倍の処理量) 消費サイクル数 消費サイクル数は「個数」と「処理量」(入力負荷) を反映 消費サイクル数でNFV ノードの負荷状態を推定可能

各パケット処理ループにおける消費サイクル数を取得 消費サイクル数の測定機構 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 各パケット処理ループにおける消費サイクル数を取得

変曲点を基準にすることで負荷状態を把握可能 消費サイクル数と入力負荷の関係 消費サイクル数 (遅延) 入力負荷 過負荷 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. 2004.

変曲点の事前測定 事前測定が必要 変曲点における消費サイクル数を測定 消費サイクル数 入力負荷 Rx Process Tx Rx C_drop C_thr Rx Process Tx C_inf C_empty Rx 処理パケットが0 ノードの性能限界 変曲点における消費サイクル数を測定

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

消費サイクル数を用いた負荷計測 消費サイクル数を用いた運用が可能 既存の通信フローの一部を委託 管理者にアラートを通知 C_drop 既存の通信フローの一部を委託 管理者にアラートを通知 C_thr (例) 既存の通信フローのみを処理 変曲点 C_inf 新規の通信フローを処理 C_empty 消費サイクル数を用いた運用が可能

有効性の検証 現実トラフィックの 予想範囲 事前測定を用いて設定した 閾値が利用可能 事前測定とほとんど 同じ消費サイクル数 C_drop C_thr 事前測定とほとんど 同じ消費サイクル数 C_inf C_empty

まとめと今後の課題 まとめ 今後の課題 消費サイクル数による負荷計測手法の提案 NFV ノード内部における可視化機構の提案 変曲点を基準にした運用が有効 NFV ノード内部における可視化機構の提案 10 Gbps 級のトラフィックに対応 あらゆるVNFの状態を把握 既存の監視システムと連携 → 性能向上の促進にも役立つ 今後の課題 VM やコンテナ上の VNF の状態を把握する仕組みの 設計・実装 運用管理や性能向上に有用な指標の選定・可視化