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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
アクセシビリティから考える情報設計
high_g_engineer
0
380
App Intentsのビルドプロセスを支える技術
kntkymt
0
380
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
Are APIs Still Relevant in the AI Era?
soyuka
0
230
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
550
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
2.9k
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
120
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
940
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Crafting Experiences
bethany
1
340
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.1k
Skip the Path - Find Your Career Trail
mkilby
1
230
Become a Pro
speakerdeck
PRO
31
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Test your architecture with Archunit
thirion
2
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
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開発 ◎ 初期開発もパケット処理ロジックのみ ◎ 必要に応じてリソースを増やして性能向上可能 ◎ しかも動かしながら性能向上もできる