SlideShare ist ein Scribd-Unternehmen logo
1 von 14
What is Google Summer of Code? @syuu1228
Google Summer of Codeとは “Google Summer of Code は、いくつかのオープンソース / フリーソフトウェアの開発プロジェクトに指導者(メンター)になってもらい、学生のみなさんに実践的なプログラミングを経験してもらおうという企画です“ (Google日本 blogより) 金が出る 成果をあげたプロジェクトに$5000(学生 $4500、メンター組織 $500) 規模 学生:1116人 メンター組織:175 $5000 x 1116 = $6138000
Japanese Students in GSoC2011 Multiqueue BPF support and other BPF features - Takuya ASADA Program Execution Diagrams and Search Visualization - Yusuke Nakano  Implement faster OpenMP Task for libgomp - ShoNakatani Implement the RPS/RFS in FreeBSD - Kazuya GODA  Implement HFSPlus Journal on Linux – NaohiroAota
Multiqueue BPF support and other BPF featureS @syuu1228
What is BPF? BPFとは? BSD系OS上で、生のパケットをアプリケーションに取り込む為のインタフェース 生のパケット?-> NICを出入りしている全てのパケットをヘッダ付きで見れる こんなアプリで使われてます パケットキャプチャ:tcpdump, Wireshark IDS: snort 通常libpcapというライブラリを通して使う(アブストラクションレイヤ)
Multicore support on NIC 従来のNIC NIC1ポートに対し受信キュー/割り込みは一つだけ->割り込みを受け付けているCPUに負荷が集中The S100Kps problem(そふらぼ古橋くんが命名) 改善されたNIC 複数の受信キュー/割り込みを持つ、各CPUへ1:1に割り付け パケットヘッダからハッシュ値を計算、ルックアップテーブルを引いてキュー先を決定(Receive Side Scaling)->負荷をフロー毎に複数のCPUへ分散出来る
Receive Side Scaling
Scalable Network Stack ネットワークスタックに求められる事 複数のCPUで並行してネットワークスタックを稼働出来る なるべくロックで処理をブロックしない 同じフローのパケットは同じCPUで処理する
Scalable Network Stack
BPF Doesn’t Scale BPFがスケールしない そもそもファイルディスクリプタを一つ開いてread()しているだけなので、アプリケーション側が通常1スレッドしかない 折角RSSで複数のCPUへパケットを分散していても、そんな事は関係なしにパケットを集約して1つのバッファにまとめてしまう パケットをBPFへ渡す所で、粒度がネットワークインタフェース毎のロックをかけている->RSSしていると同時に1つのCPUしか入れない、残りは待たされる
BPF Doesn’t Scale
Multiqueuebpf BPFのMultiqueueサポート アプリケーション側でキュー数分のスレッドを立て、各スレッドはどのキューからパケットを受け取るか指定 BPFはアプリケーションへ各NICのキュー情報を提供 インターフェース毎ロックでブロックされないようにする
Multiqueuebpf
TODO BPFのMultiqueueサポート ioctlでキュー割り当てを指定出来るようにする 指定されたキューのパケットだけをアプリケーションへ流す NICからキュー情報を拾ってBPFのioctlから取り出せるようにする インターフェース毎ロックでブロックされないようにする テスト用に仮想Multiqueueインタフェースを実装(tapを改造)

Weitere ähnliche Inhalte

Andere mochten auch

Are you sitting comfortably?
Are you sitting comfortably?Are you sitting comfortably?
Are you sitting comfortably?Brightwave Group
 
Learning Solutions - Interactive Film: Immersion in Learning
Learning Solutions - Interactive Film: Immersion in LearningLearning Solutions - Interactive Film: Immersion in Learning
Learning Solutions - Interactive Film: Immersion in LearningBrightwave Group
 
Edukacja ekologiczna w Poznaniu
Edukacja ekologiczna w PoznaniuEdukacja ekologiczna w Poznaniu
Edukacja ekologiczna w PoznaniuEkokonsultacje
 
Baroque Test
Baroque TestBaroque Test
Baroque TestCYSA
 
4th june meeting summary
4th june meeting summary4th june meeting summary
4th june meeting summaryAlan Bassett
 
Digital Audio - Technical Writing Class Paper - OCR Reformat
Digital Audio - Technical Writing Class Paper - OCR ReformatDigital Audio - Technical Writing Class Paper - OCR Reformat
Digital Audio - Technical Writing Class Paper - OCR ReformatPaul Teich
 
Joomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla Eesti MTÜ
 
Televista's Reflection
Televista's ReflectionTelevista's Reflection
Televista's ReflectionHolly Cameron
 
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.henrik_gerdin
 
Learning and Skills Group Webinar 09.07.09
Learning  and Skills Group Webinar 09.07.09Learning  and Skills Group Webinar 09.07.09
Learning and Skills Group Webinar 09.07.09Brightwave Group
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Anton Shmakov
 
Mud Coastal 2009
Mud  Coastal 2009Mud  Coastal 2009
Mud Coastal 2009cnunnally
 
Impress Usa 05
Impress Usa 05Impress Usa 05
Impress Usa 05sylvia09
 
Iniziativa100intervento Def
Iniziativa100intervento DefIniziativa100intervento Def
Iniziativa100intervento DefAnnarita Salsi
 
B E L G R A D E
B E L G R A D EB E L G R A D E
B E L G R A D Everka 123
 
Achieving large-scale organisational change through e-learning - Bupa Health ...
Achieving large-scale organisational change through e-learning - Bupa Health ...Achieving large-scale organisational change through e-learning - Bupa Health ...
Achieving large-scale organisational change through e-learning - Bupa Health ...Brightwave Group
 

Andere mochten auch (20)

Are you sitting comfortably?
Are you sitting comfortably?Are you sitting comfortably?
Are you sitting comfortably?
 
Learning Solutions - Interactive Film: Immersion in Learning
Learning Solutions - Interactive Film: Immersion in LearningLearning Solutions - Interactive Film: Immersion in Learning
Learning Solutions - Interactive Film: Immersion in Learning
 
Edukacja ekologiczna w Poznaniu
Edukacja ekologiczna w PoznaniuEdukacja ekologiczna w Poznaniu
Edukacja ekologiczna w Poznaniu
 
Kelly C. Ruggles
Kelly C. RugglesKelly C. Ruggles
Kelly C. Ruggles
 
Baroque Test
Baroque TestBaroque Test
Baroque Test
 
4th june meeting summary
4th june meeting summary4th june meeting summary
4th june meeting summary
 
The art of disguise
The art of disguiseThe art of disguise
The art of disguise
 
Digital Audio - Technical Writing Class Paper - OCR Reformat
Digital Audio - Technical Writing Class Paper - OCR ReformatDigital Audio - Technical Writing Class Paper - OCR Reformat
Digital Audio - Technical Writing Class Paper - OCR Reformat
 
Be/I
Be/IBe/I
Be/I
 
Joomla! turvalisuse tagamine
Joomla! turvalisuse tagamineJoomla! turvalisuse tagamine
Joomla! turvalisuse tagamine
 
Televista's Reflection
Televista's ReflectionTelevista's Reflection
Televista's Reflection
 
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
PMI Revenue and Productivity Management Solution for Hotels and Restaurants.
 
Learning and Skills Group Webinar 09.07.09
Learning  and Skills Group Webinar 09.07.09Learning  and Skills Group Webinar 09.07.09
Learning and Skills Group Webinar 09.07.09
 
Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.Решение по управлению web-контентом от компании Oracle.
Решение по управлению web-контентом от компании Oracle.
 
Mud Coastal 2009
Mud  Coastal 2009Mud  Coastal 2009
Mud Coastal 2009
 
Impress Usa 05
Impress Usa 05Impress Usa 05
Impress Usa 05
 
Iniziativa100intervento Def
Iniziativa100intervento DefIniziativa100intervento Def
Iniziativa100intervento Def
 
B E L G R A D E
B E L G R A D EB E L G R A D E
B E L G R A D E
 
Achieving large-scale organisational change through e-learning - Bupa Health ...
Achieving large-scale organisational change through e-learning - Bupa Health ...Achieving large-scale organisational change through e-learning - Bupa Health ...
Achieving large-scale organisational change through e-learning - Bupa Health ...
 
Kelly C. Ruggles
Kelly C. RugglesKelly C. Ruggles
Kelly C. Ruggles
 

Ähnlich wie Multiqueue BPF support and other BPF feature

KubeFlowでどこまでいける?
KubeFlowでどこまでいける?KubeFlowでどこまでいける?
KubeFlowでどこまでいける?Yuji Oshima
 
6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみたHiroshi Ohnuki
 
グローバルなエンジニアを目指す為の入門的な話
グローバルなエンジニアを目指す為の入門的な話グローバルなエンジニアを目指す為の入門的な話
グローバルなエンジニアを目指す為の入門的な話Yuichiro Nagaoka
 
Jag神戸3(共有用)
Jag神戸3(共有用)Jag神戸3(共有用)
Jag神戸3(共有用)takagig
 
第8回 福岡西区勉強会
第8回 福岡西区勉強会第8回 福岡西区勉強会
第8回 福岡西区勉強会Shinya Kinoshita
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~MasashiOtsuka1
 
Gcpug in fukuoka!20150411 #gcpug
Gcpug in fukuoka!20150411 #gcpugGcpug in fukuoka!20150411 #gcpug
Gcpug in fukuoka!20150411 #gcpugRyosuke Akahoshi
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportAkira Tanaka
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワークKaz Furukawa
 
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜満徳 関
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiNaruto TAKAHASHI
 
UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章yaju88
 
UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章yaju88
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法Yuta Matsumura
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 

Ähnlich wie Multiqueue BPF support and other BPF feature (20)

KubeFlowでどこまでいける?
KubeFlowでどこまでいける?KubeFlowでどこまでいける?
KubeFlowでどこまでいける?
 
2018 07-19dist
2018 07-19dist2018 07-19dist
2018 07-19dist
 
6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた6製品1サービスの開発にPortfolio for JIRAを使ってみた
6製品1サービスの開発にPortfolio for JIRAを使ってみた
 
グローバルなエンジニアを目指す為の入門的な話
グローバルなエンジニアを目指す為の入門的な話グローバルなエンジニアを目指す為の入門的な話
グローバルなエンジニアを目指す為の入門的な話
 
Jag神戸3(共有用)
Jag神戸3(共有用)Jag神戸3(共有用)
Jag神戸3(共有用)
 
第8回 福岡西区勉強会
第8回 福岡西区勉強会第8回 福岡西区勉強会
第8回 福岡西区勉強会
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
20220303_SAP AppGyverとSAP CAPで簡単なアプリを作ってみた~市民開発者とプロ開発者で作業を分担してみた~
 
初心者向けSpigot開発
初心者向けSpigot開発初心者向けSpigot開発
初心者向けSpigot開発
 
Gcpug in fukuoka!20150411 #gcpug
Gcpug in fukuoka!20150411 #gcpugGcpug in fukuoka!20150411 #gcpug
Gcpug in fukuoka!20150411 #gcpug
 
Google Product
Google ProductGoogle Product
Google Product
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling report
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜
『「RUNNING LEAN」に学ぶLean Canvas』第18回 POStudy 〜プロダクトオーナーシップ勉強会〜
 
Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
 
UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章UnityとBlenderハンズオン第5章
UnityとBlenderハンズオン第5章
 
UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章UnityとBlenderハンズオン第9章
UnityとBlenderハンズオン第9章
 
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
スタートアップ企業が実践するクラウドネイティブアプリケーションの開発手法
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 

Mehr von 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
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「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
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya 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
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて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
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 

Mehr von 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:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「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
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Presentation on your terminal
Presentation on your terminalPresentation on your terminal
Presentation on your terminal
 
僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない僕のIntel nucが起動しないわけがない
僕のIntel nucが起動しないわけがない
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
OSvパンフレット
OSvパンフレットOSvパンフレット
OSvパンフレット
 
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
BHyVeでOSvを起動したい
〜BIOSがなくてもこの先生きのこるには〜
 
「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2「ハイパーバイザの作り方」読書会#2
「ハイパーバイザの作り方」読書会#2
 
「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1「ハイパーバイザの作り方」読書会#1
「ハイパーバイザの作り方」読書会#1
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 

Kürzlich hochgeladen

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Kürzlich hochgeladen (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Multiqueue BPF support and other BPF feature

  • 1. What is Google Summer of Code? @syuu1228
  • 2. Google Summer of Codeとは “Google Summer of Code は、いくつかのオープンソース / フリーソフトウェアの開発プロジェクトに指導者(メンター)になってもらい、学生のみなさんに実践的なプログラミングを経験してもらおうという企画です“ (Google日本 blogより) 金が出る 成果をあげたプロジェクトに$5000(学生 $4500、メンター組織 $500) 規模 学生:1116人 メンター組織:175 $5000 x 1116 = $6138000
  • 3. Japanese Students in GSoC2011 Multiqueue BPF support and other BPF features - Takuya ASADA Program Execution Diagrams and Search Visualization - Yusuke Nakano Implement faster OpenMP Task for libgomp - ShoNakatani Implement the RPS/RFS in FreeBSD - Kazuya GODA Implement HFSPlus Journal on Linux – NaohiroAota
  • 4. Multiqueue BPF support and other BPF featureS @syuu1228
  • 5. What is BPF? BPFとは? BSD系OS上で、生のパケットをアプリケーションに取り込む為のインタフェース 生のパケット?-> NICを出入りしている全てのパケットをヘッダ付きで見れる こんなアプリで使われてます パケットキャプチャ:tcpdump, Wireshark IDS: snort 通常libpcapというライブラリを通して使う(アブストラクションレイヤ)
  • 6. Multicore support on NIC 従来のNIC NIC1ポートに対し受信キュー/割り込みは一つだけ->割り込みを受け付けているCPUに負荷が集中The S100Kps problem(そふらぼ古橋くんが命名) 改善されたNIC 複数の受信キュー/割り込みを持つ、各CPUへ1:1に割り付け パケットヘッダからハッシュ値を計算、ルックアップテーブルを引いてキュー先を決定(Receive Side Scaling)->負荷をフロー毎に複数のCPUへ分散出来る
  • 8. Scalable Network Stack ネットワークスタックに求められる事 複数のCPUで並行してネットワークスタックを稼働出来る なるべくロックで処理をブロックしない 同じフローのパケットは同じCPUで処理する
  • 10. BPF Doesn’t Scale BPFがスケールしない そもそもファイルディスクリプタを一つ開いてread()しているだけなので、アプリケーション側が通常1スレッドしかない 折角RSSで複数のCPUへパケットを分散していても、そんな事は関係なしにパケットを集約して1つのバッファにまとめてしまう パケットをBPFへ渡す所で、粒度がネットワークインタフェース毎のロックをかけている->RSSしていると同時に1つのCPUしか入れない、残りは待たされる
  • 12. Multiqueuebpf BPFのMultiqueueサポート アプリケーション側でキュー数分のスレッドを立て、各スレッドはどのキューからパケットを受け取るか指定 BPFはアプリケーションへ各NICのキュー情報を提供 インターフェース毎ロックでブロックされないようにする
  • 14. TODO BPFのMultiqueueサポート ioctlでキュー割り当てを指定出来るようにする 指定されたキューのパケットだけをアプリケーションへ流す NICからキュー情報を拾ってBPFのioctlから取り出せるようにする インターフェース毎ロックでブロックされないようにする テスト用に仮想Multiqueueインタフェースを実装(tapを改造)