Rps・rfs等最新linux kernel事例

1,041
-1

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,041
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Rps・rfs等最新linux kernel事例

  1. 1. 従来のNIC・ ネットワークスタックの問題点 • マルチコア環境においても一つのNICの受信処理は一つのCPU でしか行えない • 通信量が多いときにパケット処理の負荷が特定のコアへ大きく 偏り性能に悪影響を及ぼす • 1つのNICに届いたパケットを複数のCPUへ分散させる • ハードウェアによる実装:RSS • ソフトウェアによる実装:RPS(Linux) • 分散先CPUの最適化:RFS(Linux)11年7月20日水曜日
  2. 2. RSS cpu0 cpu1 cpu2 cpu3 受信処理 受信処理 割り込み RX RX RX RX Queue Queue Queue Queue #0 #1 #2 #3 hash queue 参照 ディスパッチ ■ 0 ■ 1 ハッシュ計算 パケット着信 パケット パケット パケット NIC11年7月20日水曜日
  3. 3. cpu0 cpu1 cpu2 cpu3 user ユーザ ユーザ buffer プログラム プログラム user buffer システム ユーザ空間へコピー コール ソケット ソケット 受信処理 受信処理 socket socket queue プロセス起床 queue プロトコル処理 CPU間 プロトコル処理 割り込み hash queue 参照 ディスパッチ backlog ■ 0 #1 ■ 1 ハッシュ計算 backlog #2 パケット受信 backlog #3 ソフトウェア割り込み 割り込み無効化 ハードウェア割り込み11年7月20日水曜日 パケット パケット パケット RPS
  4. 4. RFS CPU0 CPU1 CPU2 CPU3 プロセスA プロセスB プロセス起床 プロセス起床 ネットワーク ネットワーク スタック スタック ポーリング 割り込みハンドラ デフォルトCPUへ割り込み NIC バッファ11年7月20日水曜日
  5. 5. RFS hardware acceleration • RSS対応NICでもRFSが出来るように、 ネットワークスタック+ドライバを拡 張11年7月20日水曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×