SlideShare a Scribd company logo
1 of 26
Download to read offline
Lagopusの性能の話
Apr 25, 2015
Masaru OKI @masaru0714
● OpenFlow対応ソフトウェアスイッチです
● (もちろん)オープンソースです
○ http://lagopus.github.io
● よく言われている特徴
○ x86 Linuxで動きます
○ DPDKを使っていて、内部の工夫もあり速いです
○ マルチコア・マルチスレッドで動作します
○ OpenFlowの仕様のカバー範囲が大きいです
Lagopusとは(おさらい)
● MPLS-VLAN変換をやりつつ
● 10万フローエントリを持った状態で
● 10GbEでワイヤーレート (14.88Mfps)
○ ショートパケット (64bytes)
Lagopusの性能目標(当時)
ether header
MPLS
shim header
upper layer header and payload
ether header
VLAN
header
upper layer header and payload
● パケットの書き換えを伴う転送を実行する
● 2ポート
想定している通信
MPLS network VLAN networkLagopus
ざっくり一言でいえば、ユーザスペースでパケット読み書きするライブラリ
● コピーを(なるべく)しない
● コンテキストスイッチさせない
● メモリフォールトを起こさない
● 割り込み駆動させない
● キャッシュ活用、SSE命令活用
● マルチコア活用、NUMAアーキテクチャを意識
予備調査
サンプルプログラム example/l2fwd にてショートパケット転送
→10GbEワイヤーレート出ました
I/O性能: DPDK
● ソフトウェアで処理する以上、基本的に
○ なるだけメモリアクセスしない
○ メモリコピーもなるだけ避ける
○ コードも小さく実行ステップ数を少なく
○ 余計な処理を削る
● などすれば、それらをしない場合と比較して、速くなる。
● もちろん、本当に必要な処理を省いて速くしても意味はない。
OpenFlow処理性能
● OpenFlowでは特定の通信1本を「フロー」と呼んでいる
○ たとえばPC-AがServer-Bに80/tcpの通信をするパケット
○ たとえば任意ホストがServer-Cに53/udpの通信をするパケット
○ 折り返し(たとえば上記パケットの応答)も別フローという勘定
● OpenFlowスイッチは、パケットヘッダを見てフローを選別し処理する
○ 処理: パケットヘッダの書き換え、指定ポートへのパケット送信
● ひとつのフローを選別(match)する設定をフローエントリと呼ぶ
○ これらが登録された塊をフローテーブルと呼ぶ
● OpenFlow処理対象のパケットは、一つのフローエントリにのみmatch
フローエントリ・フローテーブル
● 10万フローエントリ=10万種類のmatch
○ 今回の想定では1方向(折り返し方向のパケットは考えない)
10万フローエントリ
entry # 優先順位 match action counter
1 1 マッチ条件1 処理1
2 1 マッチ条件2 処理2
:
100,000 1 マッチ条件100,000 処理100,000
matchの部分だけ抜粋したもの
※実際のOpenFlowプロトコルは下記をバイナリエンコードしている
in_port=1,eth_dst=00:00:00:00:00:00,eth_type=0x8847,mpls_label=0,
in_port=1,eth_dst=00:00:00:00:00:00,eth_type=0x8847,mpls_label=1,
in_port=1,eth_dst=00:00:00:00:00:00,eth_type=0x8847,mpls_label=2,
:
:
in_port=1,eth_dst=00:00:00:00:00:00,eth_type=0x8847,mpls_label=99999,
使用したフローエントリ
MPLSの
eth_type
label指定を
10万種類
● 1秒間に1488万パケットを転送
● 1パケットあたりの所要時間: 1/14.88M=67.2nsec
● 2GHz CPUでは134クロック
● 3GHz CPUでは201クロック
14.88Mfps
● Intel DPDKという速いパケットI/Oライブラリがある
● Lookup(match)とactionがどのくらいの速さか測ってみて考える
● まず愚直にエントリ1にmatch?→エントリ2に…というものを作る
○ 末尾のエントリでは遅くなるという予想は簡単にできる
● 1コアで、受信-OpenFlow処理-送信を連続実行(1スレッド)
Lagopusプロトタイプ1st
受信 match action 送信コア1
10万エントリを
リニアサーチする
● 測ってみないとどのくらい理想と現実に差があるかわからない
● 測ってみた (Xeon 2.2GHz)
● 先頭のエントリにmatchするトラフィックのみ: 14.88Mfps
● 末尾のエントリにmatchするトラフィックのみ: 22Kbps (42fps)
笑えるくらいひどい数字を見た。
● 末尾エントリに当たる場合、ほとんど流れないに等しい。
● 末尾エントリに当たるパケットで速くする必要がある。
Lagopusプロトタイプ1st測定
● Lookup アルゴリズム
○ さすがに愚直に10万エントリをリニアサーチするのはないだろう
○ どうにかリニアサーチせずに済ませられないかのアイデア出し
● 対象エントリをどれだけ絞り込めるか?
○ リニアサーチでいえば、エントリ数が半分ならかかる時間も半分
○ Lookupにかかるメモリアクセス量が少ないほど速くなる
● データ構造
○ サーチに適したデータ構造をとることで速度向上できるか?
● 複数コアの利用
○ 複数コアで並列処理させればその分速くなる
○ 処理をパイプライン化させればコアごとの処理が局所化できる
速度向上案
● https://www.openmp.org/
● 繰り返し処理が記述されたプログラムを並列化する
● C言語では#pragmaディレクティブを埋め込むだけ
● 例
#pragma omp parallel for
for (i = 0; i < max_entry; i++) {
並列化したい処理;
}
● どのコアを使うなどの細かい制御は要求されず自動的に処理される
● 探索対象フローエントリを等分してそれぞれのコアで処理
● 処理済みのエントリを持ち寄って、もっともpriorityの高いエントリを採用
OpenMPを使ってみた
● 試作して動かしてみた
● かえって遅くなった
● なぜか
○ 10コアでばらしても1コアあたり1万エントリの探索
○ コアごとの選出エントリが出揃わないと比較できない
○ 比較して最終的に選ぶときには1コアでの処理
○ 1パケットごとにスレッドをバラして止めてを繰り返しすぎる
○ DPDKのコア・スレッド管理との相性も良くない
● OpenMPによる高速化の試みは失敗。
● 書いた試作コードは非公開のまま闇に消えていただいた
OpenMPを使ってみた: 結果
● ルーティングテーブルではPatricia Treeが使われる
● OpenFlowでは単純にPatricia Treeを適用することができない
● OpenFlowのmatchは複雑
○ パケットヘッダの特定のフィールド40種類 (OpenFlow 1.3)
■ eth_src, eth_dst, eth_type, vlan_id, ip_src, ip_dst, ip_proto,...
○ 任意のフィールド複数をAND指定できる
○ 省いたフィールドはワイルドカード
○ 値の比較の際にビットマスクを指定できる
○ エントリにpriorityがあり、順序に基づきmatch結果が決まる
● OpenFlow仕様を逸脱する実装は行わない
● option指定となっている機能も実装を省かない前提
Lookupの難しさ
ip_srcをキーにして高速探索するコードを作っても結果が誤りとなる例
一筋縄ではいかない例
フロー# priority ip_src ip_dst
1 32 192.168.0.1 -
2 31 - 10.0.0.1
3 30 192.168.0.2 -
4 29 192.168.0.3 -
priority順に探索する
フロー2が正解
ip_srcで探索すると
フロー3となるが、誤り
eth IPv4 src:192.168.0.2 dst: 10.0.0.1 Payload
● いくつかのフィールドにてexact matchと無指定のテーブルを用意する
● exact matchは、配列やhash table, patricia treeなどで高速探索
● 探索した先は、別のフィールド用の2つのテーブル
● 無指定のテーブルは、別のフィールド用の2つのテーブル
● exact matchを続けた結果のエントリと無指定のエントリのpriorityを比較
● 優先度の高い方を選択 * テーブル段数でエントリを特定する
● flow_mod(フローエントリ登録)にも利用し、高速化できた
リニアサーチよりは速いが、これがベストかは疑問。
他の探索アルゴリズムやテーブル構造についても調査・検討中。
現在のLookup table実装
● 他の要素(VLAN IDやMPLS labelなど)を省いて簡略化した例
● eth_typeは配列、ip_src, ip_dstはマスク別のpatricia tree
● priorityの高いほうの結果(フローエントリ)を選択する
Lookup table例
Top
0x0000 0x0800 0xffff無指定
無指定 ip_src
無指定 ip_dst無指定 ip_dst
...eth_type
ip_src
ip_dst
● 1コアでやるから遅い
● 複数コアで並列に処理すればその分速くなる
○ ただしX個にすればX倍、とはいかない
● 共有リソースアクセスに対するロックが問題となる→バルク処理
● 命令キャッシュのヒット率を高めるためコアごとに処理内容を分ける
複数コアの利用
受信
OpenFlow
処理
送信OpenFlow
処理OpenFlow
処理OpenFlow
処理
受信 送信
Lock n個処理 Unlkn個受信 n個送信
read lock同士
は干渉しない
locklessの
ring buffer
● テーブル探索で速くなったが8コア、12コアでも14.88Mfpsに届かず
● 8Mfps程度
● Linuxに用意されているperfコマンドを用いて遅い個所を調査
● Lagopusを動かしておき、別ターミナルでsudo perf topを実行
● 実行時間の長いfunctionが上位に表示される
○ 処理が軽くても空回り(busy loop)しているfunctionは上位に表示
● 調査結果、まだまだLookupが遅いことが判明
まだ遅い。
1. 最初のパケットは通常のマッチ処理を行う
2. マッチ完了→パケットヘッダの情報とフローエントリが関連付けられる
3. 関連付けをキャッシュテーブルに登録する
4. 次のパケットはパケットヘッダの情報でキャッシュを引く
5. 見つかればフローエントリは確定しているのでマッチ処理完了
6. 見つからなければ通常マッチ処理してキャッシュ登録
これにより12コアを使ってMPLS-VLAN転送14.88Mfpsを達成。
(2014年3月)
Lookup軽量化: flow cache
● OpenFlow処理スレッドでは、1パケットをmatch-action完了まで実行する
● 毎回やる必要のない処理があれば、省くことで速くなる
● たとえば、特定処理の時のみ使われる変数の初期化
○ OpenFlowのactionには、2種類がある
■ 即時実行するapply-action
■ 書き溜めておき、最後に実行するwrite-actions
○ write-actions用変数の初期化は毎回必要とはならないことが多い
○ これを必要な時のみ実行するよう変更
もっと速く
● OpenFlow処理スレッドでは、1パケットをmatch-action完了まで実行する
● 細かく見ると、パケットヘッダの情報収集、match、actionにわけられる
● パケットヘッダの情報収集をn個まとめて処理するよう変更
● 命令キャッシュの利用効率が向上
● Intel Performance Counter Monitor (Intel PCM)で調査できる
○ CPUが持つカウンタを参照するのでXeonが必要
● 2015年4月現在、前出と同ハードにて、4コアを使って13Mfpsの性能
○ 開発版
○ 近日リリース予定とのことです
もっともっと速く
アイデア段階のものがいくつかある。
● matchとactionをスレッド(コア)分離させる
● matchをバルク処理させる
● action処理を見直す
● RSSである程度処理を分散させ、一部の探索を省く
● ポートごとに独立した処理とし、ポート数が増えても速度を維持させる
● Intel NICのflow director機能を使い、ハードウェアflow cacheを実現
● flow cacheに使っているhash tableを高性能なものに置き換える
● バルク処理パケット数の調整(レイテンシ・揺らぎが増える)
● フローテーブルの内容によりダイナミックに探索テーブル生成
● and, more! 提案、実装、大歓迎!
さらなる性能向上に向けて
Lagopus
http://lagopus.github.io
ONF (OpenFlowの総本山)
http://www.opennetworking.org/
Lagopus User Community
http://www.lagopus.community/cms/
DPDK
http://dpdk.org/
Reference

More Related Content

What's hot

LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件Masaru 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
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかMasaru Oki
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switchMasaru Oki
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
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
 
hpingで作るパケット
hpingで作るパケットhpingで作るパケット
hpingで作るパケットTakaaki Hoyo
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話Masaru Oki
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in LinuxTomofumi Hayashi
 
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)Masaru Oki
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409稔 小林
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
 

What's hot (20)

LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件LagopusでPPPoEを使えるか考えてみた件
LagopusでPPPoEを使えるか考えてみた件
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 
Lagopus 0.2.2
Lagopus 0.2.2Lagopus 0.2.2
Lagopus 0.2.2
 
Lagopus as open flow hybrid switch
Lagopus as open flow hybrid switchLagopus as open flow hybrid switch
Lagopus as open flow hybrid switch
 
Lagopus 0.2
Lagopus 0.2Lagopus 0.2
Lagopus 0.2
 
DPDK QoS
DPDK QoSDPDK QoS
DPDK QoS
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
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
 
hpingで作るパケット
hpingで作るパケットhpingで作るパケット
hpingで作るパケット
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
 
nftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linuxnftables: the Next Generation Firewall in Linux
nftables: the Next Generation Firewall in Linux
 
Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)Lagopus.confの書式(for lagopus 0.1.x)
Lagopus.confの書式(for lagopus 0.1.x)
 
Lagos running on small factor machine
Lagos running on small factor machineLagos running on small factor machine
Lagos running on small factor machine
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
about Tcpreplay
about Tcpreplayabout Tcpreplay
about Tcpreplay
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 

Similar to Lagopus performance

FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6Kentaro Ebisawa
 
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用kazuyas
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...NTT DATA Technology & Innovation
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1Tomoya Hibi
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりYuya Rin
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07Tomoya Hibi
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiKen'ichi Sakiyama
 
お手軽 OpenFlow Traceroute
お手軽 OpenFlow Tracerouteお手軽 OpenFlow Traceroute
お手軽 OpenFlow Tracerouteatzm
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Masahito Zembutsu
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかなおき きしだ
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hwykuga
 
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)Panda Yamaki
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視npsg
 
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpnMr201304 open flow_security_jpn
Mr201304 open flow_security_jpnFFRI, Inc.
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentookubo39
 

Similar to Lagopus performance (20)

FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 
Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用Trema の紹介とネットワーク仮想化への応用
Trema の紹介とネットワーク仮想化への応用
 
Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 
NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07NPStudy LT Lagopus Router v19.07
NPStudy LT Lagopus Router v19.07
 
Javaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapiJavaで簡単にgpgpu aparapi
Javaで簡単にgpgpu aparapi
 
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
 
お手軽 OpenFlow Traceroute
お手軽 OpenFlow Tracerouteお手軽 OpenFlow Traceroute
お手軽 OpenFlow Traceroute
 
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うか
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
Hokkaido.cap#5 ケーススタディ(ネットワークの遅延と戦う:後編)
 
ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視ELK ではじめる自宅ネットワーク監視
ELK ではじめる自宅ネットワーク監視
 
Mr201304 open flow_security_jpn
Mr201304 open flow_security_jpnMr201304 open flow_security_jpn
Mr201304 open flow_security_jpn
 
Bossan dentoo
Bossan dentooBossan dentoo
Bossan dentoo
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
 

More from Masaru Oki

NetBSD移植の昔話
NetBSD移植の昔話NetBSD移植の昔話
NetBSD移植の昔話Masaru Oki
 
Lagopusとvagrant
LagopusとvagrantLagopusとvagrant
LagopusとvagrantMasaru Oki
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話Masaru Oki
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話Masaru Oki
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!Masaru Oki
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)Masaru Oki
 
Lagopus match improvements
Lagopus match improvementsLagopus match improvements
Lagopus match improvementsMasaru Oki
 
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpfNet bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpfMasaru Oki
 
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Masaru Oki
 
Rumpを使ってみる
Rumpを使ってみるRumpを使ってみる
Rumpを使ってみるMasaru Oki
 
Running lagopus on Xeon D
Running lagopus on Xeon DRunning lagopus on Xeon D
Running lagopus on Xeon DMasaru Oki
 
Using Xeon D 10GBase-T
Using Xeon D 10GBase-TUsing Xeon D 10GBase-T
Using Xeon D 10GBase-TMasaru Oki
 

More from Masaru Oki (15)

NetBSD移植の昔話
NetBSD移植の昔話NetBSD移植の昔話
NetBSD移植の昔話
 
Rust-DPDK
Rust-DPDKRust-DPDK
Rust-DPDK
 
Lagopusとvagrant
LagopusとvagrantLagopusとvagrant
Lagopusとvagrant
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
Lagopus 0.2.7
Lagopus 0.2.7Lagopus 0.2.7
Lagopus 0.2.7
 
Lagopus match improvements
Lagopus match improvementsLagopus match improvements
Lagopus match improvements
 
Lagopus 0.2.4
Lagopus 0.2.4Lagopus 0.2.4
Lagopus 0.2.4
 
Net bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpfNet bsd advent calendar 2015 bpf
Net bsd advent calendar 2015 bpf
 
Using rump on NetBSD 7.0
Using rump on NetBSD 7.0Using rump on NetBSD 7.0
Using rump on NetBSD 7.0
 
Rumpを使ってみる
Rumpを使ってみるRumpを使ってみる
Rumpを使ってみる
 
Running lagopus on Xeon D
Running lagopus on Xeon DRunning lagopus on Xeon D
Running lagopus on Xeon D
 
Using Xeon D 10GBase-T
Using Xeon D 10GBase-TUsing Xeon D 10GBase-T
Using Xeon D 10GBase-T
 

Recently uploaded

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (9)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Lagopus performance