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
khwarizmi
December 20, 2018
Technology
0
230
ネットワーク性能調査ちょっとやってみる
khwarizmi
December 20, 2018
Tweet
Share
More Decks by khwarizmi
See All by khwarizmi
IntelNIC 送受信を学ぶ
khwarizmi
3
970
NICのデバドラ開発
khwarizmi
0
180
ハードウェア乱数を用いた謝辞代表者の決定
khwarizmi
0
98
僕はDPDKをやっている人ではありません(XDP・netmap入門)
khwarizmi
1
800
klab インターン成果物発表
khwarizmi
0
320
Z4「高速なFW/IDSの実装」
khwarizmi
0
190
HIGHSPEED PACKET IO
khwarizmi
0
110
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
24
17k
AI Agentと MCP Serverで実現する iOSアプリの 自動テスト作成の効率化
spiderplus_cb
0
500
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
180
How to achieve interoperable digital identity across Asian countries
fujie
0
120
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
0
240
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
140
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
210
BirdCLEF+2025 Noir 5位解法紹介
myso
0
200
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
540
BtoBプロダクト開発の深層
16bitidol
0
330
Featured
See All Featured
Building an army of robots
kneath
306
46k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
Thoughts on Productivity
jonyablonski
70
4.9k
Site-Speed That Sticks
csswizardry
11
880
How to train your dragon (web standard)
notwaldorf
96
6.3k
How to Ace a Technical Interview
jacobian
280
24k
Making Projects Easy
brettharned
119
6.4k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Why Our Code Smells
bkeepers
PRO
339
57k
Designing Experiences People Love
moore
142
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Transcript
ネットワーク性能調査を ちょっとやってみる 法政大学 応用情報工学科B4 河原颯太(khwarizmi)
自己紹介 - 河原颯太(かわはらそうた) @khwarizmi6514 - 法政大学応用情報工学科 学部4年 金井(ネットワークセキュリティ)研究室所属 - 小学5年から野球を初めて高校3年までやっていた.
- 春日部高校出身です! (これを言うといろんなところで先輩後輩が釣れることに最近 気が付いた) - パソコンとは無縁の生活だったが, 大学入学時, 気が付いたらパソコンをやらなけ ればいけなくなっていた. - 一緒に研究をしてくれる後輩募集中 (一人で研究をしていて寂しい)
最近やってること - DPDKを用いたネットワークスタック開発 - NICのデバドラ開発 - NICのハードウェア機能活用による性能比較調査 *最近やりたいこと* - FreeBSDで性能調査(ネットワークスタック参照したりしときながら触ったことがな
い) - XDP(Internet week での lineの金丸さんのLTが熱かった) - 自作キーボード(おととい自作キットをポチった) - FPGA(購入してLEDチカチカまでしてそのままタンスの奥にいる)
話に入る前に ちょうど24時間前くらいに決まったほぼ飛び入りLTなので ぜひ 期待値0で 聞いてください
今日の話題 つい最近からやっている NICのハードウェア機能活用による性能比較調査 の現在の進捗を発表します.
近年の High speed network 事情 - ハードウェア性能が向上し, ワイヤーレートが非常に伸びている - ネックがハードからソフト的な場所に移っている
⬇ - ソフト的なネックを排除したい - 余っているハードウェアパワーを有効に使いたい
近年の High speed network 事情 - ハードウェア性能が向上し, ワイヤーレートが非常に伸びている - ネックがハードからソフトに近い場所に移っている
⬇ - ソフト的なネックを排除したい - 余っているハードウェアパワーを有効に使いたい
今日の話題となる手法 - RSS (と RPS) - チェックサムオフローディング - LRO (と
GRO)
RSS (とRPS) マルチコア環境における問題 - パケット受信のソフト割り込みは1つのCPUに偏ってしまう. - 家庭用PCでもマルチコアが普通の環境出コア数で性能がスケールしないのは非 常によろしくない - 単純に適当にパケットを順番に各コアに割り振るのでは多くの無視できない問題が
ある.
RSS (とRPS) RSSとは - Receive Side Scalingの略 - パケットをマルチコアで処理する手法 -
マルチキューNICでのみ使用可能 RPSとは - RSSのソフトウェア実装
RSS (とRPS) 仕組み - パケットヘッダの一部でハッシュ計算をし, ハッシュ値からキューを選択 - 各コアに各キューが割り振られる(と思ってほとんど構わない) - 担当のキューにパケットが来たら各コアが処理
- パケットのヘッダからハッシュを取るため, 同じフローのパケットが分散されることが ない
RSS (とRPS) 計測結果 RSS スループット (Gbps) 有効 9.43 無効 5.08
RSS (とRPS) ソフト割り込みの様子 ← 前 後→ (ちょっと怪しい...)
チェックサムオフローディング - IP, TCP, UDPのチェックサムをNICが計算してくれるやつ - こういう決まりきった計算はハードウェアの方が得意だという風に誰かが言っていま した - 基本的にはCPU使用率を下げる効果がある
チェックサムオフローディング 計測結果 checksum offloading スループット (Gbps) CPU使用率 (%) 有効 9.36
96.2 無効 9.29 99.3
LRO と GRO 割り込み事情 - 割り込みはとにかく重い(コンテキストスイッチ, キャッシュ汚染) - GbEでショートパケット(64byte)とすると, 1000000000(bit)
÷ 8(byte) ÷ 64(パケット) = 1953125 つまり, 秒間約200万回の割り込みが発生している - さすがに多すぎるでしょ
LRO と GRO LROとは - Lerge Receive Offload の略 -
分割されたTCPパケットをNICでリアセンブルする - 割り込みを削減できる GROとは - General Receive Offload の略 - LRO のソフトウェア実装
LRO と GRO 計測結果 GRO スループット (Gbps) CPU使用率 (%) 有効
9.41 10.3 無効 5.08 100
まとめ うまくNICを使ってちゃんとチューニングをすれば linuxネットワークスタックでも10G出せます