Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
動的なVNFの性能調節フレームワーク開発と それを用いたNFV基盤の開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroki SHIROKURA
December 02, 2022
Programming
230
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
100
Hack Dive Deeper into VPP Internals
slankdev
3
1.9k
Kamuee: SRv6対応の設計と実装に関して
slankdev
2
2.6k
DPDK利活用:良質ソフトウェアルータを効率的に作るために我々がやるべきこと
slankdev
7
2.8k
Kamuee: Design and Implementation of High Speed Software Router
slankdev
4
1.4k
Other Decks in Programming
See All in Programming
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
どこまでゆるくて許されるのか
tk3fftk
0
220
JavaDoc 再入門
nagise
1
420
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
はてなアカウント基盤 State of the Union
cockscomb
1
770
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
810
Datadog LLM Observabilityで実現する 安全なLLM Usage 管理
3150
0
110
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
160
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Tell your own story through comics
letsgokoyo
1
970
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
240
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
How to build a perfect <img>
jonoalderson
1
5.7k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Producing Creativity
orderedlist
PRO
348
40k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
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開発 ◎ 初期開発もパケット処理ロジックのみ ◎ 必要に応じてリソースを増やして性能向上可能 ◎ しかも動かしながら性能向上もできる