SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
従来の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日水曜日

Más contenido relacionado

La actualidad más candente

DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けモノビット エンジン
 
Dpdk環境の話
Dpdk環境の話Dpdk環境の話
Dpdk環境の話Masaru Oki
 
仮想化環境での利用者公平性
仮想化環境での利用者公平性仮想化環境での利用者公平性
仮想化環境での利用者公平性Takuya ASADA
 
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)milk hanakara
 
OpenStack with OpenFlow
OpenStack with OpenFlowOpenStack with OpenFlow
OpenStack with OpenFlowToshiki Tsuboi
 
Running lagopus on Xeon D
Running lagopus on Xeon DRunning lagopus on Xeon D
Running lagopus on Xeon DMasaru Oki
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Masaru Oki
 
リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法リアルタイムゲームサーバーの ベンチマークをとる方法
リアルタイムゲームサーバーの ベンチマークをとる方法モノビット エンジン
 
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会GlusterFS Updates (and more) in 第六回クラウドストレージ研究会
GlusterFS Updates (and more) in 第六回クラウドストレージ研究会Keisuke Takahashi
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話Masaru Oki
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
 
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)milk hanakara
 
High Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many CoreHigh Performance Networking with DPDK & Multi/Many Core
High Performance Networking with DPDK & Multi/Many Coreslankdev
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 

La actualidad más candente (20)

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

Destacado

Uw speaking-of-design-shared
Uw speaking-of-design-sharedUw speaking-of-design-shared
Uw speaking-of-design-sharedDavid Conrad
 
LTC Take Charge Of Your Future
LTC Take Charge Of Your FutureLTC Take Charge Of Your Future
LTC Take Charge Of Your FutureAlexShibicky
 
Fotografias Tomadas En El Tiempo Exacto
Fotografias Tomadas En El Tiempo ExactoFotografias Tomadas En El Tiempo Exacto
Fotografias Tomadas En El Tiempo Exactohagustigma
 
Os negros africanos no Brasil Colonial Monize e Hanna
Os negros africanos no Brasil Colonial Monize e HannaOs negros africanos no Brasil Colonial Monize e Hanna
Os negros africanos no Brasil Colonial Monize e Hannanice miranda
 
Leading Managing a Sustainable Improvement Culture
Leading  Managing a Sustainable Improvement CultureLeading  Managing a Sustainable Improvement Culture
Leading Managing a Sustainable Improvement CultureAlan Bassett
 
Wtl firework safety - issue 1 - october 2013
Wtl   firework safety - issue 1 - october 2013Wtl   firework safety - issue 1 - october 2013
Wtl firework safety - issue 1 - october 2013Alan Bassett
 
Senior slide show
Senior slide showSenior slide show
Senior slide showerinhdowney
 
Meeting Review NESHEP 5th April
Meeting Review NESHEP 5th AprilMeeting Review NESHEP 5th April
Meeting Review NESHEP 5th AprilAlan Bassett
 
February 3rd meeting summary
February 3rd meeting summaryFebruary 3rd meeting summary
February 3rd meeting summaryAlan Bassett
 
Groundworks Shad Booking Form
Groundworks Shad Booking FormGroundworks Shad Booking Form
Groundworks Shad Booking FormAlan Bassett
 
Namics Fachtagung Industrie im Web-The Solution for the biggest pains
Namics Fachtagung Industrie im Web-The Solution for the biggest painsNamics Fachtagung Industrie im Web-The Solution for the biggest pains
Namics Fachtagung Industrie im Web-The Solution for the biggest painsNamics – A Merkle Company
 
Reducing The Risk Of Falls From Tail Lifts
Reducing The Risk Of Falls From Tail LiftsReducing The Risk Of Falls From Tail Lifts
Reducing The Risk Of Falls From Tail LiftsAlan Bassett
 
Smooth running: ensure your systems training projects run without a hitch
Smooth running: ensure your systems training projects run without a hitchSmooth running: ensure your systems training projects run without a hitch
Smooth running: ensure your systems training projects run without a hitchBrightwave Group
 
7&7 - 7 Years and 7 Lessons from Design Commisison
7&7 - 7 Years and 7 Lessons from Design Commisison7&7 - 7 Years and 7 Lessons from Design Commisison
7&7 - 7 Years and 7 Lessons from Design CommisisonDavid Conrad
 

Destacado (20)

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

Similar a Rps・rfs等最新linux kernel事例

動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御Ryousei Takano
 
Trema day 1
Trema day 1Trema day 1
Trema day 1ykuga
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hwykuga
 
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)Akira Kanaoka
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Studyirix_jp
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseMikio Hirabayashi
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2Etsuji Nakai
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみたMasakazu Asama
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging順也 山口
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~Juniper Networks (日本)
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Panda Yamaki
 

Similar a Rps・rfs等最新linux kernel事例 (19)

VIOPS06: マルチコア時代のコンピューティング活用術
VIOPS06: マルチコア時代のコンピューティング活用術VIOPS06: マルチコア時代のコンピューティング活用術
VIOPS06: マルチコア時代のコンピューティング活用術
 
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
透過型確率的パケットマーキング装置の提案と開発(オープンルータコンペティション発表資料)
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
V6read#4
V6read#4V6read#4
V6read#4
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Ras piでrt linux
Ras piでrt linuxRas piでrt linux
Ras piでrt linux
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in Japanese
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみた
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
 
PFI Seminar 2010/01/21
PFI Seminar 2010/01/21PFI Seminar 2010/01/21
PFI Seminar 2010/01/21
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 

Más de Takuya ASADA

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

Más de Takuya ASADA (20)

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

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日水曜日