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
スマホアプリ「モンスターストライク」も支えるデータプレーン技術
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Junpei YOSHINO
September 10, 2018
Technology
980
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
スマホアプリ「モンスターストライク」も支えるデータプレーン技術
ミクシィ社でデータプレーン開発をチームでやっていることを共有します。
自作の処理がどのようなレイテンシで処理がされるのかを測りました。
Junpei YOSHINO
September 10, 2018
More Decks by Junpei YOSHINO
See All by Junpei YOSHINO
hbstudy76_yoshino
junpei_y
1
2.1k
ネットワーク運用におけるgithubの活用と今後の展望
junpei_y
2
490
Other Decks in Technology
See All in Technology
Agile and AI Redmine Japan 2026
hiranabe
4
500
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
150
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
510
AI時代のコスト管理を考えよう〜明日から使える実践AWSノウハウ~
yoshimi0227
0
960
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
120
When Platform Engineering Meets GenAI
sucitw
0
200
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
160
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
210
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
260
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
200
元・セキュリティ学習経験0大学生による業務紹介 / An Introduction to the Job by a Former College Student with Zero Security Training Experience
nttcom
0
940
Lightning近況報告
kozy4324
0
230
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
Agile that works and the tools we love
rasmusluckow
331
22k
Typedesign – Prime Four
hannesfritz
42
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
How to Ace a Technical Interview
jacobian
281
24k
The Curse of the Amulet
leimatthew05
2
13k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Transcript
モンストも⽀えるデータプレーン技術 2018/9/10 Junpei Yoshino 株式会社ミクシィ XFLAG STUDIO
⾃⼰紹介 1 • 名前:吉野純平 • 2008年の新卒入社から10年半くらい働いています • 所属:開発本部 XFLAG事業推進室 インフラ開発G
• 事業開発の部隊と共に戦う! • 物理インフラ周りのオペレーション • 開発、構築、運用などなど • パケット加工の処理
2 オペレーション x ネットワーク
3 オペレーションをする上で必要なこと • 1つの問題で全滅しないか • 1つの実装で動いていないか • 安全に迂回ができるか • ソフトウエア改修等で断なくできるか
• どんなときでもプランBがあるか
パケット処理を⾃作できると 5 • ⾃由度が格段にあがる • 世の中にないものもできるかも 高度な処理機能付き ネットワーク機器 変化 よくある
ネットワーク機器 自作処理
4 パケットの処理とは • ⼤きく分けて2種類 • データプレーン • 流れているパケットデータを触る部分の処理 • 今日の主題はこちら
• コントロールプレーン • データプレーンでの処理の仕方を調整するための通信 • 例としてはBGPやIGPのルーティングプロトコル
6 今回紹介する題材 GREのトンネルヘッダー外し
レイテンシを⼩さくしなければならない 7 • ボトルネックがレイテンシになることがある • アプリの作り次第で⼯夫することもできる • ⼩さなレイテンシ環境を⽤意できればシンプル • IBMのクラウドサービスはレイテンシが⼩さい
• しかし、工夫が必要 • スマホアプリ「モンスターストライク」にてIBMを利⽤
アドレスバッティングと回避策検討 8 緑の部分で アドレスバッティングがあった IBM ベアメタル IBM VM IBM ミクシィ
IBM 共通基盤 オンプレ サーバ 他社 クラウド こっちに流れて欲しい こっちに⾏く
9 GREトンネルでの回避策 サーバ VM IBM 共通基盤 オンプレ サーバ 他社 クラウド
ミクシィ サーバ ト ン ネ ル ト ン ネ ル ト ン ネ ル オンプレにサーバ数分の トンネルを作成して回避した
GREトンネルのパケットフォーマット 10 実際に通信したい内容をGREで包む Ethernet IP (outer) GRE IP (inner) payload
実際に通信したい内容 トンネルのためのヘッダー パケットの先頭から=>=>=>
11 ということで GREトンネル終端 を実装してみた 実装と測定
何をするか 12 GREのついたパケットが来る =>外すして転送する! Ethernet IP (outer) GRE IP (inner)
payload Ethernet IP (inner) payload
何をするか 12 GREのついたパケットが来る =>外すして転送する! Ethernet IP (outer) GRE IP (inner)
payload Ethernet IP (inner) payload
開発 • DPDK • 弊社はgtestを使ってテストしています • テストでパケットを投入してどう変更されたかをチェック等 • FPGA Smart
NIC • verilog使います • テストも書きます。どこのビットとクロックが。 • CDは? • ちゃんとグレースフルshutdownできるようにしてあります • かっこいいデプロイはもうちょっとやっていかないといけない
CD!!! • Graceful shutdownについて • ルーティング技術で迂回する ネットワーク機器 ネットワーク機器 開発物 ルーティングプロトコル
ネットワーク機器 ネットワーク機器 開発物
測定 13 • Latency • パケットをどのくらいの処理時間で処理できるか • Packet per Second
• 1秒間に何パケット処理できるか • 10Gbpsならば14.88Mppsが目標 • 最小サイズの64byteで10Gbpsが流せる • (当然ですよねってところで今回はパス)
レイテンシの測り⽅ 14 • 光ファイバを通る光を抜き出す • 時刻情報はArista Networks社の製品機能を使った • TAP aggregation機能
• 誤差はnano secレベルになる。分析用のサーバ性能に非依存 試験対象 トラフィック 送信 トラフィック 受信 TAP aggregation 分析用サーバ
CPU ASIC 実装したものと⽐較対象 15 • ⾃作 • DPDKを使ったもの • FPGA
Smart NICを使ったもの • ⽐較対象 • ASICで処理されるネットワーク機器 NIC FPGA Smart NIC PCIe
⽐較結果 16 5回測定を回した平均値。⾚字の通常転送を基準とした時間を()に記載。 DPDK FPGA Smart NIC ASIC Latency 9.529usec
(+7.435usec) 3.184usec (+1.090usec) 2.294usec (+0.200usec) Latency without GRE 9.456usec (+7.362usec) 3.010usec (+0.915usec) 2.094usec 実装期間 機能半日 +修正数日 実装5日 +事前学習 調整を加えて 3時間
まとめ 18 • データプレーンは作れる • ASICには劣るが⼗分な性能である • ※メモリ参照が多かったりロックが必要な処理には弱い • 変更差分を⼊れた時等にレイテンシも⽐較できることは
有意義である • こうすることでネットワークに多様性の注⼊ができる • ⾃作なのでトラフィック迂回設計の幅が広がる • この技術スタックで新しいものを実装をたくらみ中
None