SlideShare a Scribd company logo
従来のNIC・
          ネットワークスタックの問題点
              •   マルチコア環境においても一つのNICの受信処理は一つのCPU
                  でしか行えない

              •   通信量が多いときにパケット処理の負荷が特定のコアへ大きく
                  偏り性能に悪影響を及ぼす

              •   1つのNICに届いたパケットを複数のCPUへ分散させる


                  •   ハードウェアによる実装:RSS

                  •   ソフトウェアによる実装:RPS(Linux)

                  •   分散先CPUの最適化:RFS(Linux)



11年7月20日水曜日
RSS
                cpu0     cpu1      cpu2          cpu3
              受信処理     受信処理



                  割り込み

               RX       RX        RX           RX
              Queue    Queue     Queue        Queue
               #0       #1        #2           #3


                                               hash     queue
                                         参照
                         ディスパッチ                 ■         0
                                                ■         1

                         ハッシュ計算


                                パケット着信


                          パケット
                          パケット
                           パケット

                                                          NIC
11年7月20日水曜日
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
RFS
              CPU0     CPU1      CPU2           CPU3

                                プロセスA          プロセスB



                                プロセス起床         プロセス起床




                                ネットワーク         ネットワーク
                                スタック           スタック



                      ポーリング




                     割り込みハンドラ

                         デフォルトCPUへ割り込み

                       NIC
                                        バッファ
11年7月20日水曜日
RFS hardware
                    acceleration

              • RSS対応NICでもRFSが出来るように、
               ネットワークスタック+ドライバを拡
               張




11年7月20日水曜日

More Related Content

PDF
10GbE時代のネットワークI/O高速化
PDF
マルチコアとネットワークスタックの高速化技法
PDF
Ethernetの受信処理
PDF
KVM環境におけるネットワーク速度ベンチマーク
PDF
DPDKを拡張してみた話し
PDF
Linux packet-forwarding
PPTX
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
PDF
DPDK QoS
10GbE時代のネットワークI/O高速化
マルチコアとネットワークスタックの高速化技法
Ethernetの受信処理
KVM環境におけるネットワーク速度ベンチマーク
DPDKを拡張してみた話し
Linux packet-forwarding
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
DPDK QoS

What's hot (20)

PDF
Dpdk pmd
PDF
DPDKを用いたネットワークスタック,高性能通信基盤開発
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PDF
Dpdk環境の話
PDF
Kernel vm-2014-05-25
PDF
仮想化環境での利用者公平性
PDF
Router board勉強会vol2(配布用)
PDF
OpenStack with OpenFlow
PDF
Running lagopus on Xeon D
PDF
Lagopus as open flow hybrid switch 実践編
PDF
リアルタイムゲームサーバーの ベンチマークをとる方法
PDF
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
PDF
FreeBSD jail+vnetと戯れた話
PDF
Infinite Debian - Platform for mass-producing system every second
PDF
Lagos running on small factor machine
PDF
Xeon dとlagopusと、pktgen dpdk
PDF
Router board勉強会vol2(ベンチマーク班まとめ)
PDF
High Performance Networking with DPDK & Multi/Many Core
PDF
Apache cloudstack4.0インストール
PDF
PG-REXで学ぶPacemaker運用の実例
Dpdk pmd
DPDKを用いたネットワークスタック,高性能通信基盤開発
ネットワーク ゲームにおけるTCPとUDPの使い分け
Dpdk環境の話
Kernel vm-2014-05-25
仮想化環境での利用者公平性
Router board勉強会vol2(配布用)
OpenStack with OpenFlow
Running lagopus on Xeon D
Lagopus as open flow hybrid switch 実践編
リアルタイムゲームサーバーの ベンチマークをとる方法
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
FreeBSD jail+vnetと戯れた話
Infinite Debian - Platform for mass-producing system every second
Lagos running on small factor machine
Xeon dとlagopusと、pktgen dpdk
Router board勉強会vol2(ベンチマーク班まとめ)
High Performance Networking with DPDK & Multi/Many Core
Apache cloudstack4.0インストール
PG-REXで学ぶPacemaker運用の実例
Ad

Viewers also liked (20)

PDF
Uw speaking-of-design-shared
PPT
LTC Take Charge Of Your Future
PPS
Fotografias Tomadas En El Tiempo Exacto
PDF
Os negros africanos no Brasil Colonial Monize e Hanna
PDF
Leading Managing a Sustainable Improvement Culture
PPS
Viagra
PPT
Kelly ruggles
PDF
Die Reise des Mobile Content
PDF
Wtl firework safety - issue 1 - october 2013
PPTX
Senior slide show
PPTX
GraFiorio Portfolio
PDF
Meeting Review NESHEP 5th April
PDF
February 3rd meeting summary
PPT
Twitter Cartoons n Doodles
PDF
Groundworks Shad Booking Form
PPTX
Namics Fachtagung Industrie im Web-The Solution for the biggest pains
PDF
Han 342 En
PDF
Reducing The Risk Of Falls From Tail Lifts
PPT
Smooth running: ensure your systems training projects run without a hitch
PDF
7&7 - 7 Years and 7 Lessons from Design Commisison
Uw speaking-of-design-shared
LTC Take Charge Of Your Future
Fotografias Tomadas En El Tiempo Exacto
Os negros africanos no Brasil Colonial Monize e Hanna
Leading Managing a Sustainable Improvement Culture
Viagra
Kelly ruggles
Die Reise des Mobile Content
Wtl firework safety - issue 1 - october 2013
Senior slide show
GraFiorio Portfolio
Meeting Review NESHEP 5th April
February 3rd meeting summary
Twitter Cartoons n Doodles
Groundworks Shad Booking Form
Namics Fachtagung Industrie im Web-The Solution for the biggest pains
Han 342 En
Reducing The Risk Of Falls From Tail Lifts
Smooth running: ensure your systems training projects run without a hitch
7&7 - 7 Years and 7 Lessons from Design Commisison
Ad

Similar to Rps・rfs等最新linux kernel事例 (20)

PDF
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
PDF
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
PDF
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
PDF
Trema day 1
PDF
Windowsのパケットモニタ作成
PDF
Wiresharkで検出できないチャットプログラム
PPT
Agu itr 20100901_communication
PDF
Scapy presentation Remake(訂正)
PPTX
ゲームの通信をつくる仕事はどうなるのだろう?
PDF
さくらのクラウドインフラの紹介
KEY
P2Pって何?
PPT
20060520.tcp
PPTX
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
PDF
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
PDF
Scapy presentation
PDF
Wake and Shutdown on LAN
PPTX
Imprementation of realtime_networkgame
PDF
Fpga local 20130322
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
法政大学情報科学部 2012年度コンピュータネットワーク-第12回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第11回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第8回授業-Web公開用
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
Trema day 1
Windowsのパケットモニタ作成
Wiresharkで検出できないチャットプログラム
Agu itr 20100901_communication
Scapy presentation Remake(訂正)
ゲームの通信をつくる仕事はどうなるのだろう?
さくらのクラウドインフラの紹介
P2Pって何?
20060520.tcp
iPhone 5 の Wi-Fi ちゃんと動いてましたか? #yidev
『どうする?どうやる? データセンター間ネット ワーク』 - 802.1aq(SPB)/TRILL@JANOG29
Scapy presentation
Wake and Shutdown on LAN
Imprementation of realtime_networkgame
Fpga local 20130322

More from Takuya ASADA (20)

PPTX
Seastar in 歌舞伎座.tech#8「C++初心者会」
PDF
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
PDF
ヤマノススメ〜秋山郷 de ハッカソン〜
PDF
UEFI時代のブートローダ
PDF
OSvのご紹介 in 
Java 8 HotSpot meeting
PDF
OSvパンフレット v3
PDF
OSvのご紹介 in OSC2014 Tokyo/Fall
PDF
OSv噺
PDF
OSvの概要と実装
PDF
Linux network stack
PDF
Presentation on your terminal
PDF
僕のIntel nucが起動しないわけがない
PDF
Interrupt Affinityについて
PDF
OSvパンフレット
PDF
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
PDF
「ハイパーバイザの作り方」読書会#2
PDF
「ハイパーバイザの作り方」読書会#1
PDF
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
PDF
仮想化環境におけるパケットフォワーディング
PDF
MMIO on VT-x
Seastar in 歌舞伎座.tech#8「C++初心者会」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
ヤマノススメ〜秋山郷 de ハッカソン〜
UEFI時代のブートローダ
OSvのご紹介 in 
Java 8 HotSpot meeting
OSvパンフレット v3
OSvのご紹介 in OSC2014 Tokyo/Fall
OSv噺
OSvの概要と実装
Linux network stack
Presentation on your terminal
僕のIntel nucが起動しないわけがない
Interrupt Affinityについて
OSvパンフレット
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#1
Implements BIOS emulation support for BHyVe: A BSD Hypervisor
仮想化環境におけるパケットフォワーディング
MMIO on VT-x

Rps・rfs等最新linux kernel事例

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