Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
Search
Hiroki SHIROKURA
December 02, 2022
Programming
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
https://www.ipa.go.jp/jinzai/mitou/2017/gaiyou_t-3.html
Hiroki SHIROKURA
December 02, 2022
More Decks by Hiroki SHIROKURA
See All by Hiroki SHIROKURA
MITOU2017DEMODAYS.pdf
slankdev
0
110
Hack Dive Deeper into VPP Internals
slankdev
3
2k
Kamuee: SRv6対応の設計と実装に関して
slankdev
2
2.6k
DPDK利活用:良質ソフトウェアルータを効率的に作るために我々がやるべきこと
slankdev
7
2.9k
Kamuee: Design and Implementation of High Speed Software Router
slankdev
4
1.4k
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
960
ジョジョの世界をXRで再現する
mofurune
0
150
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
パスワード再設定メールのURLについて知っておこう
uyuki234
0
120
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
残高管理から台帳サービスへの進化
artoy
0
180
Kubernetes祭り #2 OP/ED
bells17
0
110
golang-bob.pdf
iwatsukayura
0
120
Are APIs Still Relevant in the AI Era?
soyuka
0
450
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
650
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
3
4.2k
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Odyssey Design
rkendrick25
PRO
2
870
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
770
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Amusing Abliteration
ianozsvald
1
340
Fireside Chat
paigeccino
43
4.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
The browser strikes back
jonoalderson
0
1.8k
Transcript
susanow NFV: High Performance NFVi Automatically Optimizes for the Environment
SHIROKURA Hiroki @slankdev powered by IPA Mitou Program 動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
Self Introduction ◎ 城倉 弘樹 (SHIROKURA Hiroki) ◎ HN: slankdev
(twitter, github, etc...) ◎ 法政大学B4 / IIJII技術研究所 ◎ パケット解析, 高性能通信, DPDK ◎ 2017 IPA 未踏事業採択 2
Too Long Don’t Read susanow NFV 高性能なNFV基盤をフルスクラッチで開発「僕の考える最強のNFV」 - 性能と迅速性がポイント -
VNF性能を動的にスケール - システム概要と設計と実装とかを話す 3
Outline 1. Background a. NFVとDPDKとその課題 2. susanow NFV overview a.
D2 (VNFの自動スケールフレームワーク) b. ssn-NFVi (新規に開発したスレッドベースのNFV基盤) c. 外部ツール連携 d. 設計と実装 3. Demonstration 4
Background
ネットワーク機能の柔軟性とNFV 6 ❏ 専用機 (ex. シスコルータ) ❏ 専用機 ❏ ソフトウェアネットワーク機能
柔軟性が向上 昔 現 在
Data Plane Development Kit (DPDK) • 独自にOSやドライバを書かなくてもLinux上で10/40/100GbEが可能に • 使いこなすにはコンピュータ理論に精通する必要あり •
DPDK VNF はコアの数で性能を調節できる (達人チューニング) 7
NFVの課題 1. 性能の問題 2. 複雑な仮想化の問題 3. 柔軟性の問題 8
性能の問題 (DPDKが大変) データプレーンの最適化は大変 :( ◎ 十分に性能を出すためにはマルチコアを使い切る必要あり ◎ DPDKを使いこなせる開発者が少ない. 9 ネットワーク機能の開発
◎ ネットワーク機能のロジック ◎ データプレーン (パケットフォワード部分)の最適化 開発も難しいし時間がかかる 高い開発コストが信頼性を稼ぐのの邪魔になる 信頼性がないから導入が難しい 結果「高性能NFVって実現難しいですよねえ」
Note: データプレーンの最適化 10 再プログラム 再実行 - リセットは長い時間がかかる - 再実行 (数秒
~ 数十秒) - 再プログラム (数週間) 4core, 4多重で4Gbps 8core, 8多重で8Gbps 他にも - パケット処理機能の実装 - PCIe配置とbad-NUMAと 性能に合わせてコアアサイン - NICのHWコンフィグ
複雑な仮想化の問題 • # NF chain • Flexibility (dynamic/static) • Performance
<-> Security • DPDK enable ? • コアの扱い 11 Chaining Functions • PCI-passthrough • PCI-passthrough SR-IOV • Virtio User
柔軟性の課題 12 せっかくソフトウェア + たくさんあるコアでやるわけだし, ふんだんに使いたい. でも無駄に使ってる余裕はない 状況に応じて, 最適にコアを使いまわしたい. d-plane:
DPDKを採用 スレッドベースの独自NFVi VNF性能をミリ秒オーダで調節可能
susanow NFV overview
susanow NFV 1. D2 Framework ◎ データプレーン自動最適化 ◎ ネットワーク機能の性能調節 ◎
性能調節をプログラム可能 2. NFV基盤 ssnNFVi ◎ VMを用いない高性能NFV基盤 Flexible, High-Performance, Orchestrate 14 http://github.com/susanow/susanow
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開発者
D2 Agent / D2 Operation 16 D2 Agent: NFの性能の監視とD2opを発行する D2
Operation: スレッドの多重化などの操作 D2-op-OUT D2-op-IN
D2 最適化の流れ 17
ssn-NFVi ◎ D2に最適なnonVM NFV基盤 ◎ D2によるVNFの自動スケーリング ◎ VMを用いないことでVMオーバーヘッドの回避 18
Design & Implementation
D2: Design & Implementation - バックエンドはC++11 (dpdk v17.08) - フロントエンドはREST
API - VNF開発者はD2フレームワークを用いてVNFを開発すれば, 外部からD2opで制御可能 - 外部からの操作は全て, REST API経由で制御可能 - REST APIをラップしたpython モジュールも開発 - 20
外部ツール連携 • REST API • Python モジュール • ssnctl コマンド
VNFの操作 (作成, 設定, デプロイ...) システムパフォーマンス情報の取得 Grafana/InfluxDBなどにデータを渡して可視化できます. REST APIをそのまま叩けるので, Web Dashboardも用意(開発中) 21
REST API 22 • NFViは全てREST API経由で操作可能 • APIはSwaggerで管理中 • スクリプト言語などで簡単にラップ可能
ssnpy : susanow python controler ◎ REST APIをラップしたPythonモジュール ◎ D2はssnpyを用いて実装されている.
23
ssnctl : control script • brctlとかovs-vsctlみたいなもの. VNFの生成やデプロイができる • ssnpyをラップしたスクリプト •
d2の制御もここからできる 24
• 簡単なパケットフォワーダ • トラフィック量に応じて 必要最低限度のリソースで動作する. • 動作を止めることなく, 動的に自動で最適化 • トラフィックの上昇/下降に注目
agent https://youtu.be/qc0GnlyICl0 ssnctl https://youtu.be/OFAZyPeJ4tQ 25 Demonstration…. DEMO: D2の自動最適化
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
appendix
1. クラウド: 計算機リソース提供 2. ssn: ネットワークリソース提供 3. NW利用者にスケーラブルな ネットワークを提供可能 Use-case:
susanow-NFV on Cloud 28 ◎ ssn-NFViをクラウド上にデプロイ ◎ ssn-NFViの空きリソース枯渇前に クラウドのインスタンスを増加 ◎ NFを移動させて, 空きリソースを確保 ◎ サービス全体をスケール ◎ vm: 数秒-数十秒, ssn: 数m秒
性 能 向 上 D2によるNFの開発サイクルの迅速化 29 開 始 パケット処理ロジック データプレーン最適化
- スレッドモデル設計 - NICの設定 試 験 導 入 データプレーン最適化 - スレッドモデル再考 - NICの設定再考 試 験 導 入 開 始 パケット 処理ロジック 試 験 導 入 性 能 向 上 性 能 向 上 性 能 向 上 性 能 向 上 性 能 向 上 従来のNF開発 ◎ 性能向上のために再設計が必要なことがある ◎ データプレーン最適化のための開発コスト ◎ コードを書き換える場合は再テストも必須 D2を利用したNF開発 ◎ 初期開発もパケット処理ロジックのみ ◎ 必要に応じてリソースを増やして性能向上可能 ◎ しかも動かしながら性能向上もできる