Submit Search
Upload
[kernel/vm] Implements the RPS/RFS for FreeBSD
•
Download as PPTX, PDF
•
2 likes
•
1,574 views
G
gokzy
Follow
Report
Share
Report
Share
1 of 26
Download now
Recommended
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
@ otsuka752
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ROBOTIS Japan
これからROS(ROS1,ROS2)を学習する方、学内・社内でROSの導入を検討している方向けのガイダンス資料です。(第38回日本ロボット学会学術講演会 RSJ2020 (オンライン)での発表資料です。)
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
ROBOTIS Japan
NVIDIA Jetson プラットフォーム Meet-up #08 にて発表 発表者: 田中 義丸 (東京大学/ロボティズ・学生インターン) アッフォンソ ギリェルメ(東京大学/ロボティズ・学生アシスタント)
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
ROBOTIS Japan
ROS Japan UG #10 勉強会資料 Turtlebot3の紹介
Ras piでrt linux
Ras piでrt linux
Hideki Aoshima
OSC Tokyo 2012 Fall 特殊なフォントを使っていたため、PDFに差し替えました。
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Kazuhiro Takahashi
Raspberry pi 用 にTOPPERS/SSPの海賊版(シュリンク版)をのせてみました。 それの紹介です。baremetal環境がマルチタスクで動作します。
DVB recording command on gstreamer.
DVB recording command on gstreamer.
裕士 常田
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
Hideki Takase
IoT/M2M展 2019【春】(Japan IT Week 2019春)でのアヴネット株式会社様のブースにおいて,ミニプレゼンを実施させていただきました. ROS (Robot Operating System)に対応した研究・教育向けの自動走行ロボットTurtleBot3において,任意のハードウェア回路を書換可能なFPGAを活用することができる統合開発プラットフォームZytleBotの紹介です.ROBOTIS Japan様とも協業しております. https://github.com/tlk-emb/ZytleBot ROSの各種メリットを活かしながら,自動走行ロボットの開発にFPGAを導入することができます.CPUでは難しい処理をFPGAにオフロードすることで,高性能化や省電力化を図ることができます.また,ROSノードからのFPGAのインターフェースをテンプレートとして提供しており,ROSxFPGAのロボットシステム開発の加速化にも貢献します.
Recommended
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り HSRP編
@ otsuka752
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ROBOTIS Japan
これからROS(ROS1,ROS2)を学習する方、学内・社内でROSの導入を検討している方向けのガイダンス資料です。(第38回日本ロボット学会学術講演会 RSJ2020 (オンライン)での発表資料です。)
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
ROBOTIS Japan
NVIDIA Jetson プラットフォーム Meet-up #08 にて発表 発表者: 田中 義丸 (東京大学/ロボティズ・学生インターン) アッフォンソ ギリェルメ(東京大学/ロボティズ・学生アシスタント)
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
ROBOTIS Japan
ROS Japan UG #10 勉強会資料 Turtlebot3の紹介
Ras piでrt linux
Ras piでrt linux
Hideki Aoshima
OSC Tokyo 2012 Fall 特殊なフォントを使っていたため、PDFに差し替えました。
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Kazuhiro Takahashi
Raspberry pi 用 にTOPPERS/SSPの海賊版(シュリンク版)をのせてみました。 それの紹介です。baremetal環境がマルチタスクで動作します。
DVB recording command on gstreamer.
DVB recording command on gstreamer.
裕士 常田
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
Hideki Takase
IoT/M2M展 2019【春】(Japan IT Week 2019春)でのアヴネット株式会社様のブースにおいて,ミニプレゼンを実施させていただきました. ROS (Robot Operating System)に対応した研究・教育向けの自動走行ロボットTurtleBot3において,任意のハードウェア回路を書換可能なFPGAを活用することができる統合開発プラットフォームZytleBotの紹介です.ROBOTIS Japan様とも協業しております. https://github.com/tlk-emb/ZytleBot ROSの各種メリットを活かしながら,自動走行ロボットの開発にFPGAを導入することができます.CPUでは難しい処理をFPGAにオフロードすることで,高性能化や省電力化を図ることができます.また,ROSノードからのFPGAのインターフェースをテンプレートとして提供しており,ROSxFPGAのロボットシステム開発の加速化にも貢献します.
Unix32 v 20100508
Unix32 v 20100508
xylnao
197x Timer with Your Messages
197x Timer with Your Messages
Kuniaki Igarashi
UNIX/32V
UNIX/32V
xylnao
IPv6おためしかっ!
IPv6おためしかっ!
Jun Morimoto
qpstudy05ビアバッシュLT用(枠があれば)
20220207 sd輪読&座談会#33 kitazaki
20220207 sd輪読&座談会#33 kitazaki
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/236210/
MPSoCのPLの性能について
MPSoCのPLの性能について
marsee101
2016年2月20日に行われた「ZynqMP勉強会」の資料です。 Zynq-7000とZynq MPSoCに付いてPLの性能をラプラシアンフィルタのCソースコードでVivado HLS 2015.4での性能を比較します。IP化したラプラシアンフィルタIPをVivado 2015.4でインプリメントした結果を比較します。
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
Kiwamu Okabe
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
洋史 東平
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi
OSC2012 Tokyo/FallのBSDなひとときにて。Raspberry PiでNetBSDを動かす取っ掛かりの部分を説明しました。
20210510 software design
20210510 software design
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/209776/
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
ZenSekibe
Youtubeで動画解説 https://youtu.be/dpRR_CEdINE
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Genta Iha
Debianのstart-stop-daemonのPID namespace分離対応な話。あといじってたらkFreeBSDのjailにもうっかり対応しちゃった話。
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
大江戸Ruby会議05で発表した内容です
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
nullnilaki
この資料は、 OSC名古屋 2015で青山さんが発表された Using “C-bus” extension boards on LUNA-88K2 (at OSC 2015 Nagoya) に対抗して作られました。 よって、事前に青山さんのスライドを一読しておくと、より楽しめる内容に なっているよーな、なっていないよーな感じです… (↓青山さんのスライドはこちら!) http://www.slideshare.net/ao_kenji/osc2015-nagoya/
GR-CITRUSハンズオン
GR-CITRUSハンズオン
三七男 山本
9/9のRubyアソシエーション主催の「IoTシステムをRubyで作ろう!GR-CITRUSでセンサープログラミング」で使う紹介資料です。
Bossan dentoo
Bossan dentoo
kubo39
OpenSolaris Printing Environment
OpenSolaris Printing Environment
Naruhiko Ogasawara
This slide describes status, howto and future of OpenSolaris Printing, especially LX zone.
NetBSD, On the ROAD 2016
NetBSD, On the ROAD 2016
Jun Ebihara
NetBSD activities for http://techlion.jp/vol26
20210705 sd#26 kitazaki
20210705 sd#26 kitazaki
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/215724/
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
正誤訂正 p.38 誤:0.03 nano sec. 正:0.03 micro sec.
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
Ruo Ando
Kernel vm-2014-05-25
Kernel vm-2014-05-25
Hirochika Asai
More Related Content
What's hot
Unix32 v 20100508
Unix32 v 20100508
xylnao
197x Timer with Your Messages
197x Timer with Your Messages
Kuniaki Igarashi
UNIX/32V
UNIX/32V
xylnao
IPv6おためしかっ!
IPv6おためしかっ!
Jun Morimoto
qpstudy05ビアバッシュLT用(枠があれば)
20220207 sd輪読&座談会#33 kitazaki
20220207 sd輪読&座談会#33 kitazaki
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/236210/
MPSoCのPLの性能について
MPSoCのPLの性能について
marsee101
2016年2月20日に行われた「ZynqMP勉強会」の資料です。 Zynq-7000とZynq MPSoCに付いてPLの性能をラプラシアンフィルタのCソースコードでVivado HLS 2015.4での性能を比較します。IP化したラプラシアンフィルタIPをVivado 2015.4でインプリメントした結果を比較します。
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
Kiwamu Okabe
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
洋史 東平
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
tokudahiroshi
OSC2012 Tokyo/FallのBSDなひとときにて。Raspberry PiでNetBSDを動かす取っ掛かりの部分を説明しました。
20210510 software design
20210510 software design
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/209776/
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
ZenSekibe
Youtubeで動画解説 https://youtu.be/dpRR_CEdINE
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Genta Iha
Debianのstart-stop-daemonのPID namespace分離対応な話。あといじってたらkFreeBSDのjailにもうっかり対応しちゃった話。
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
Masaki Matsushita
大江戸Ruby会議05で発表した内容です
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
nullnilaki
この資料は、 OSC名古屋 2015で青山さんが発表された Using “C-bus” extension boards on LUNA-88K2 (at OSC 2015 Nagoya) に対抗して作られました。 よって、事前に青山さんのスライドを一読しておくと、より楽しめる内容に なっているよーな、なっていないよーな感じです… (↓青山さんのスライドはこちら!) http://www.slideshare.net/ao_kenji/osc2015-nagoya/
GR-CITRUSハンズオン
GR-CITRUSハンズオン
三七男 山本
9/9のRubyアソシエーション主催の「IoTシステムをRubyで作ろう!GR-CITRUSでセンサープログラミング」で使う紹介資料です。
Bossan dentoo
Bossan dentoo
kubo39
OpenSolaris Printing Environment
OpenSolaris Printing Environment
Naruhiko Ogasawara
This slide describes status, howto and future of OpenSolaris Printing, especially LX zone.
NetBSD, On the ROAD 2016
NetBSD, On the ROAD 2016
Jun Ebihara
NetBSD activities for http://techlion.jp/vol26
20210705 sd#26 kitazaki
20210705 sd#26 kitazaki
Ayachika Kitazaki
https://softwaredesign.connpass.com/event/215724/
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Hiyou Shinnonome
正誤訂正 p.38 誤:0.03 nano sec. 正:0.03 micro sec.
What's hot
(20)
Unix32 v 20100508
Unix32 v 20100508
197x Timer with Your Messages
197x Timer with Your Messages
UNIX/32V
UNIX/32V
IPv6おためしかっ!
IPv6おためしかっ!
20220207 sd輪読&座談会#33 kitazaki
20220207 sd輪読&座談会#33 kitazaki
MPSoCのPLの性能について
MPSoCのPLの性能について
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
clu2cは64ビットOSでも使えます (OSC 2012 Hiroshima LT用資料)
NetBSD/evbarm on Raspberry Pi
NetBSD/evbarm on Raspberry Pi
20210510 software design
20210510 software design
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
ネットワークプロトコル探索隊 LLDP-Link Layer Discovery Protocol-
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Rubyで実はwritev(2) が使われているはなし
Rubyで実はwritev(2) が使われているはなし
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
GR-CITRUSハンズオン
GR-CITRUSハンズオン
Bossan dentoo
Bossan dentoo
OpenSolaris Printing Environment
OpenSolaris Printing Environment
NetBSD, On the ROAD 2016
NetBSD, On the ROAD 2016
20210705 sd#26 kitazaki
20210705 sd#26 kitazaki
20120519 #qpstudy インターフェース入門
20120519 #qpstudy インターフェース入門
Similar to [kernel/vm] Implements the RPS/RFS for FreeBSD
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
Ruo Ando
Kernel vm-2014-05-25
Kernel vm-2014-05-25
Hirochika Asai
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
モノビット エンジン
2019年9月 CEDEC モノビットエンジン 取締役CTO 中嶋謙互 Twitter @ringo https://github.com/kengonakajima
Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+
Toshiki Tsuboi
“BGP4+”を用いた IPv6ルーティング のお勉強メモ
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
@ otsuka752
SRv6 study
SRv6 study
Hiro Mura
SRv6 Network Study Contents
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
WebRTC Meetup Tokyo 13の資料です。 オープンソースのWebRTC用SFUであるmeidasoupを触ってみた話 サンプルのソースコードはこちら https://github.com/mganeko/mediasoup_sample
20060520.tcp
20060520.tcp
Ken SASAKI
2006/5/20にフリーランスのエンジニア向け勉強会で喋った内容。 インターネットの仕組みと最近の話題について。
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
npsg
ネットワークプログラマビリティ勉強会 #3 WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
InfiniBand on Debian
InfiniBand on Debian
Taisuke Yamada
Introduction to InfiniBand technology and its usage on Debian platform. Includes various examples of NAS/SAN over IB configuration (NFSoRDMA, SRP, and other standard IP and IPoIB based setups).
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
Kota Abe
a presentation of the DDLL algorithm, which constructs and maintains distributed doubly-linked lists.
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
VyOS Users Meeting Japan #1 の発表資料です。
Bsd suki
Bsd suki
yamori813
やっぱりBSDが好き
ロードバランスへの長い道
ロードバランスへの長い道
Jun Kato
インターネットやIPネットワークにおける複数経路の選択アルゴリズム
Linux packet-forwarding
Linux packet-forwarding
Masakazu Asama
VPP事始め
VPP事始め
npsg
ネットワークプログラマビリティ勉強会 #11 https://network-programmability.connpass.com/event/49248/
IPv6 Update
IPv6 Update
Shinsuke SUZUKI
IPv6 Summit 2003講演資料
SD-WAN導入の現場でみえてきたアレコレ
SD-WAN導入の現場でみえてきたアレコレ
Koji Komatsu
MPLS Japan 2017での発表資料です。
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
2017年10月27日、モノビットエンジン勉強会inサイバーコネクトツーにて、中嶋謙互が講演しました「ネットワークゲームにおける TCPとUDPの使い分け」のスライドになります。ネットワークゲームを製作する際にご参考頂けますと幸いです。 登壇者: 株式会社モノビット 取締役 CTO 中嶋謙互
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
Serfが面白いと俺の中で話題にwwwwww 【改訂版】 『ニンゲンヤメマスカ→運用自動化への希望、オーケストレーション』 Masahito Zembutsu Mar 1, 2013 オープンクラウドにゃんぱすー Open Source Conference 2014 Tokyo/Spring #osc14tk 3/4追記:blogに追記しました。 LVSとSerfでDSRロードバランサを自動管理してみた話 | Pocketstudio.jp log3 http://pocketstudio.jp/log3/2014/03/04/orchestration_with_serf_to_manage_lvs/
Similar to [kernel/vm] Implements the RPS/RFS for FreeBSD
(20)
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
法政大学情報科学部 2012年度コンピュータネットワーク-第10回授業-Web公開用
Kernel vm-2014-05-25
Kernel vm-2014-05-25
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
Technical report for IPv6 Routing w/ bgp4+
Technical report for IPv6 Routing w/ bgp4+
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
IPv6冗長で差をつけよう 2011年夏の思い出作り VRRP編
SRv6 study
SRv6 study
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
20060520.tcp
20060520.tcp
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
WAN SDN 実践入門! ~ OpenDayLightのPCEP/BGPに触れてみる ~
InfiniBand on Debian
InfiniBand on Debian
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
構造化オーバーレイネットワークに適した分散双方向連結リストDDLL
Hydrogen → Helium での Linux kernel の違い
Hydrogen → Helium での Linux kernel の違い
Bsd suki
Bsd suki
ロードバランスへの長い道
ロードバランスへの長い道
Linux packet-forwarding
Linux packet-forwarding
VPP事始め
VPP事始め
IPv6 Update
IPv6 Update
SD-WAN導入の現場でみえてきたアレコレ
SD-WAN導入の現場でみえてきたアレコレ
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
[kernel/vm] Implements the RPS/RFS for FreeBSD
1.
Implements the RPS/RFS
for FreeBSD @gokzy 1
2.
誰? 八王子の山奥の大学院生 夕方は夕日に照らされる高尾山がキレイ
夜は星がキレイ twitter @gokzy 2
3.
GSoCで何やんの? Implements the
RPS/RFS for FreeBSD Mono-queue NICで受信処理をスケールさせる Linux 2.6.35に入ったRPS/RFSを移植する 参考になるコードがあって簡単 それでいて金がもらえて(゚∀゚)ウマウマ 3
4.
世の中には2種類のNICがある 4 Multi-queue
複数のCPUに割り込み可 queueを複数もつ お高い高級品 Mono-queue 1CPUにのみ割り込み可 queueが1つ お求めやすい庶民の品 Serverでもオンボはこれのことも
5.
世の中には2種類のNICがある 5 Multi-queue
複数のCPUに割り込み可 queueを複数もつ お高い高級品 Mono-queue 1CPUにのみ割り込み可 queueが1つ お求めやすい庶民の品 Serverでもオンボはこれのことも
6.
Mono-queue NICに高負荷をかける 不幸になる
パケットがドロップしようが1CPUに負荷が集中 6
7.
FreeBSDの TCP受信処理を見ましょう 7
どうしてそうなるの?
8.
FreeBSDのTCP受信処理の流れ 8
9.
Multi-queue NICだと 9
10.
Mono-queue NICだと 10
11.
処理を分散させる 11
12.
Receive Packet Steering
- RPS Mono-queueのNICで 割り込みが1CPUにしかかけられない プロトコルスタック処理を分散させる netisr threadのディスパッチ先をフロー毎に振り分ける SMPを有効活用できる 12
13.
RPSでのディスパッチ先の決め方 同一フローは同じnetisrにディスパッチ オーダーを保証するため
宛先CPUの決め方 hashを求める IPアドレス(src,dst)とTCP,UDPポート(src,dst)から 次式でディスパッチ先のCPUが決まる hash値 % netisr thread数 十数行追加するだけの簡単なお仕事 これで$2000 GET 13
14.
これ気になりますよね CPUをまたいでいる データローカリティの低下
14
15.
ディスパッチ先をアプリケーションが動いているCPUに 15
16.
Receive Flow Steering
- RFS パケットの受信処理を,そのパケットの宛先のアプリケーションが動いているCPUでやる データローカリティが向上 16
17.
RFSでのディスパッチ先の決め方 17 青プロセスが宛先のパケットを受信
18.
RFSでのディスパッチ先の決め方 18 青プロセスが動いているCPU3のqueueに積む
19.
青プロセスが 19 青プロセス向けのパケット受信
20.
青プロセスがCPU2に移動 20 青プロセス向けのパケット受信
21.
CPU2のqueueに積むと… 21 順序が入れ替わる可能性がある
22.
プロセスの移動が発生し同一フローで未処理がある場合 22 パケットが残っているqueueに積む
23.
フローごとにqueueの長さを管理 23 ここでは青パケットはのqueue_lenは3
24.
ディスパッチ先を変えない条件 24 queue_len
> 0 なら元のnetisrのqueueに積む
25.
ディスパッチ先を変更する条件 queue_len ==
0 にると移動 25
26.
まとめ Mono-queue NICをSMP環境で有効活用!!
パケットのオーダーを守るように実装 ちなみにLinuxの実装もだいたい同じ 2.6.35以降なら即試せます /sys/class/net/eth[0-9]/queues/rx-[0-9]/rps_cpus /sys/class/net/eth[0-9]/queues/rx-[0-9]/rps_flow_cnt /proc/sys/net/core/rps_sock_flow_entries 26
Download now