More Related Content Similar to 動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発 (20) 動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発1. susanow NFV:
High Performance NFVi
Automatically Optimizes
for the Environment
SHIROKURA Hiroki @slankdev
powered by IPA Mitou Program
動的なVNFの性能調節フレームワーク開発と
それを用いたNFV基盤の開発
2. Self Introduction
◎ 城倉 弘樹 (SHIROKURA Hiroki)
◎ HN: slankdev (twitter, github, etc...)
◎ 法政大学B4 / IIJII技術研究所
◎ パケット解析, 高性能通信, DPDK
◎ 2017 IPA 未踏事業採択
2
3. Too Long Don’t Read
susanow NFV
高性能なNFV基盤をフルスクラッチで開発「僕の考える最強のNFV」
- 性能と迅速性がポイント
- VNF性能を動的にスケール
- システム概要と設計と実装とかを話す
3
7. Data Plane Development Kit (DPDK)
● 独自にOSやドライバを書かなくてもLinux上で10/40/100GbEが可能に
● 使いこなすにはコンピュータ理論に精通する必要あり
● DPDK VNF はコアの数で性能を調節できる (達人チューニング)
7
9. 性能の問題 (DPDKが大変)
データプレーンの最適化は大変 :(
◎ 十分に性能を出すためにはマルチコアを使い切る必要あり
◎ DPDKを使いこなせる開発者が少ない.
9
ネットワーク機能の開発
◎ ネットワーク機能のロジック
◎ データプレーン (パケットフォワード部分)の最適化
開発も難しいし時間がかかる
高い開発コストが信頼性を稼ぐのの邪魔になる
信頼性がないから導入が難しい
結果「高性能NFVって実現難しいですよねえ」
11. 複雑な仮想化の問題
● # NF chain
● Flexibility (dynamic/static)
● Performance <-> Security
● DPDK enable ?
● コアの扱い
11
Chaining Functions
● PCI-passthrough
● PCI-passthrough SR-IOV
● Virtio User
14. susanow NFV
1. D2 Framework
◎ データプレーン自動最適化
◎ ネットワーク機能の性能調節
◎ 性能調節をプログラム可能
2. NFV基盤 ssnNFVi
◎ VMを用いない高性能NFV基盤
Flexible, High-Performance, Orchestrate
14
http://github.com/susanow/susanow
15. D2: Dynamic Thread Optimize Technology
NFの性能を自動で調節可能にするスケーラブルフレームワーク
15
D2 operation
No re-execution
No reprogramming
パケット処理ロジック
Dplane最適化ロジック
パケット処理ロジック
Dplane最適化ロジック
D2 Framework
NFの開発工程からDplaneの最適化を分離(自動化可能にした)
Support
- Switch/Router
- Firewall/DPI
- etc...
NF開発者
自動
NF開発者
16. D2 Agent / D2 Operation
16
D2 Agent: NFの性能の監視とD2opを発行する
D2 Operation: スレッドの多重化などの操作
D2-op-OUT D2-op-IN
20. D2: Design & Implementation
- バックエンドはC++11 (dpdk v17.08)
- フロントエンドはREST API
- VNF開発者はD2フレームワークを用いてVNFを開発すれば,
外部からD2opで制御可能
- 外部からの操作は全て, REST API経由で制御可能
- REST APIをラップしたpython モジュールも開発
-
20
21. 外部ツール連携
● REST API
● Python モジュール
● ssnctl コマンド
VNFの操作 (作成, 設定, デプロイ...)
システムパフォーマンス情報の取得
Grafana/InfluxDBなどにデータを渡して可視化できます.
REST APIをそのまま叩けるので, Web Dashboardも用意(開発中)
21
23. ssnpy : susanow python controler
◎ REST APIをラップしたPythonモジュール
◎ D2はssnpyを用いて実装されている.
23
24. ssnctl : control script
● brctlとかovs-vsctlみたいなもの. VNFの生成やデプロイができる
● ssnpyをラップしたスクリプト
● d2の制御もここからできる
24
26. susanow
NFV
More Dynamic :)
Higher performance :)
Dynamic Dataplane Tuning w/t D2
Extensive Scalability
w/t susanow cluster
Programmable Interfaces for orchestration
High performance NFVi w/o VM
to avoid VM-overhead
28. 1. クラウド: 計算機リソース提供
2. ssn: ネットワークリソース提供
3. NW利用者にスケーラブルな
ネットワークを提供可能
Use-case: susanow-NFV on Cloud
28
◎ ssn-NFViをクラウド上にデプロイ
◎ ssn-NFViの空きリソース枯渇前に
クラウドのインスタンスを増加
◎ NFを移動させて, 空きリソースを確保
◎ サービス全体をスケール
◎ vm: 数秒-数十秒, ssn: 数m秒