Submit Search
Xeon dとlagopusと、pktgen dpdk
3 likes
3,453 views
Masaru Oki
Xeon DマシンでLagopusとPktgen-DPDKを動かして性能を測ってみた話をまとめてみました。(in Japanese)
Technology
Read more
1 of 29
Download now
Downloaded 13 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
More Related Content
PDF
The linux networking architecture
hugo lu
PPTX
CloudStack Networking
CloudStack - Open Source Cloud Computing Project
PDF
Linux Training For Beginners | Linux Administration Tutorial | Introduction T...
Edureka!
PPSX
FD.io Vector Packet Processing (VPP)
Kirill Tsym
PDF
Openstack trystack
Eueung Mulyana
PDF
High availability virtualization with proxmox
Oriol Izquierdo Vibalda
PPTX
Linux Operating System
KunalKewat1
PDF
Xen Project Contributor Training - Part 1 introduction v1.0
The Linux Foundation
The linux networking architecture
hugo lu
CloudStack Networking
CloudStack - Open Source Cloud Computing Project
Linux Training For Beginners | Linux Administration Tutorial | Introduction T...
Edureka!
FD.io Vector Packet Processing (VPP)
Kirill Tsym
Openstack trystack
Eueung Mulyana
High availability virtualization with proxmox
Oriol Izquierdo Vibalda
Linux Operating System
KunalKewat1
Xen Project Contributor Training - Part 1 introduction v1.0
The Linux Foundation
What's hot
(20)
PDF
Overview of kubernetes network functions
HungWei Chiu
PDF
Containers: The What, Why, and How
Sneha Inguva
PDF
What CloudStackers Need To Know About LINSTOR/DRBD
ShapeBlue
PDF
Red Hat OpenShift Container Platform Overview
James Falkner
PDF
Network Automation with Ansible
Anas
PDF
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
Maximilan Wilhelm
PDF
DPDK In Depth
Kernel TLV
PPTX
Vxlan control plane and routing
Wilfredzeng
PDF
Open vSwitch Introduction
HungWei Chiu
PPTX
OpenvSwitch Deep Dive
rajdeep
PPTX
Revisit DCA, PCIe TPH and DDIO
Hisaki Ohara
PPTX
From Cisco ACS to ISE
Mahzad Zahedi
PDF
LAS16-403: GDB Linux Kernel Awareness
Linaro
PPTX
OVN - Basics and deep dive
Trinath Somanchi
PDF
Introducing GitLab (June 2018)
Noa Harel
PDF
Container Networking Deep Dive
Open Networking Summit
PDF
TD_complet_reseau__CISCO__Packet Tracer.pdf
Ines Ben Hassine
PDF
Using Mikrotik Switch Features to Improve Your Network
GLC Networks
PDF
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
PDF
Cisco Router Basic Configuration
Prof. Erwin Globio
Overview of kubernetes network functions
HungWei Chiu
Containers: The What, Why, and How
Sneha Inguva
What CloudStackers Need To Know About LINSTOR/DRBD
ShapeBlue
Red Hat OpenShift Container Platform Overview
James Falkner
Network Automation with Ansible
Anas
L2/L3 für Fortgeschrittene - Helle und dunkle Magie im Linux-Netzwerkstack
Maximilan Wilhelm
DPDK In Depth
Kernel TLV
Vxlan control plane and routing
Wilfredzeng
Open vSwitch Introduction
HungWei Chiu
OpenvSwitch Deep Dive
rajdeep
Revisit DCA, PCIe TPH and DDIO
Hisaki Ohara
From Cisco ACS to ISE
Mahzad Zahedi
LAS16-403: GDB Linux Kernel Awareness
Linaro
OVN - Basics and deep dive
Trinath Somanchi
Introducing GitLab (June 2018)
Noa Harel
Container Networking Deep Dive
Open Networking Summit
TD_complet_reseau__CISCO__Packet Tracer.pdf
Ines Ben Hassine
Using Mikrotik Switch Features to Improve Your Network
GLC Networks
DPDK: Multi Architecture High Performance Packet Processing
Michelle Holley
Cisco Router Basic Configuration
Prof. Erwin Globio
Ad
Viewers also liked
(20)
PDF
Dpdk環境の話
Masaru Oki
PDF
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
PDF
Disruptive IP Networking with Intel DPDK on Linux
Naoto MATSUMOTO
PDF
Qemu上でlagopusを動かした話
Masaru Oki
PDF
Training Support Leadership
Terrance White
PDF
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
Kentaro Ebisawa
PDF
高速ネットワーク技術と周辺動向(特別講義)
Naoto MATSUMOTO
PPTX
Bish Bash Bosh & Co
Bish Bash Bosh & Co
PDF
あなたの知らないネットワークプログラミングの世界
Ryousei Takano
PDF
とある帽子の大蛇料理Ⅱ
Masami Ichikawa
PDF
πολλαπλασιασμοι ενοτητα 11
Γιαννόπουλος Γιάννης
PDF
100Gbpsソフトウェアルータの実現可能性に関する論文
y_uuki
PDF
User-space Network Processing
Ryousei Takano
PDF
xv6のコンテキストスイッチを読む
mfumi
PDF
130831 fpgax3 yos
Mikio Yoshida
PDF
デバドラを書いてみよう!
Masami Ichikawa
PDF
I/O仮想化最前線〜ネットワークI/Oを中心に〜
Ryousei Takano
PDF
x86とコンテキストスイッチ
Masami Ichikawa
PDF
クラウド環境におけるキャッシュメモリQoS制御の評価
Ryousei Takano
PDF
Lagopus Switch Usecases
Sakiko Kawai
Dpdk環境の話
Masaru Oki
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Disruptive IP Networking with Intel DPDK on Linux
Naoto MATSUMOTO
Qemu上でlagopusを動かした話
Masaru Oki
Training Support Leadership
Terrance White
入門:Single / Two Rate Three Color Marker (srTCM / trTCM)
Kentaro Ebisawa
高速ネットワーク技術と周辺動向(特別講義)
Naoto MATSUMOTO
Bish Bash Bosh & Co
Bish Bash Bosh & Co
あなたの知らないネットワークプログラミングの世界
Ryousei Takano
とある帽子の大蛇料理Ⅱ
Masami Ichikawa
πολλαπλασιασμοι ενοτητα 11
Γιαννόπουλος Γιάννης
100Gbpsソフトウェアルータの実現可能性に関する論文
y_uuki
User-space Network Processing
Ryousei Takano
xv6のコンテキストスイッチを読む
mfumi
130831 fpgax3 yos
Mikio Yoshida
デバドラを書いてみよう!
Masami Ichikawa
I/O仮想化最前線〜ネットワークI/Oを中心に〜
Ryousei Takano
x86とコンテキストスイッチ
Masami Ichikawa
クラウド環境におけるキャッシュメモリQoS制御の評価
Ryousei Takano
Lagopus Switch Usecases
Sakiko Kawai
Ad
Similar to Xeon dとlagopusと、pktgen dpdk
(20)
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
PDF
Running lagopus on Xeon D
Masaru Oki
PDF
Lagopus + DockerのDPDK接続
Tomoya Hibi
PDF
Lagopus, raw socket build
Masaru Oki
PDF
Lagopus 0.2
Masaru Oki
PDF
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
PDF
Bird in show_net
Tomoya Hibi
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
PPTX
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
PDF
Lagopus Project (Open Source Conference)
Tomoya Hibi
PDF
Lagopus Router
Tomoya Hibi
PDF
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
PDF
Lagopus 0.2.2
Masaru Oki
PDF
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
PDF
Lagopus as open flow hybrid switch 実践編
Masaru Oki
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
PDF
Lagopus performance
Masaru Oki
PDF
Lagopus Router v19.07.1
Tomoya Hibi
PPTX
ネットワークプログラマビリティ勉強会
Tomoya Hibi
PDF
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
Running lagopus on Xeon D
Masaru Oki
Lagopus + DockerのDPDK接続
Tomoya Hibi
Lagopus, raw socket build
Masaru Oki
Lagopus 0.2
Masaru Oki
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
Bird in show_net
Tomoya Hibi
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
Lagopus Project (Open Source Conference)
Tomoya Hibi
Lagopus Router
Tomoya Hibi
SDNソフトウェアスイッチlagopus for FreeBSD
Masaru Oki
Lagopus 0.2.2
Masaru Oki
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
Lagopus as open flow hybrid switch 実践編
Masaru Oki
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
Tomoya Hibi
Lagopus performance
Masaru Oki
Lagopus Router v19.07.1
Tomoya Hibi
ネットワークプログラマビリティ勉強会
Tomoya Hibi
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
More from Masaru Oki
(20)
PDF
NetBSD移植の昔話
Masaru Oki
PDF
Rust-DPDK
Masaru Oki
PDF
Rust-DPDK
Masaru Oki
PDF
Lagopusとvagrant
Masaru Oki
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
PDF
Onieで遊んでみようとした話
Masaru Oki
PDF
GPD WINが来た!
Masaru Oki
PDF
新生Lagopus2017(仮称)
Masaru Oki
PDF
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
PDF
Lagopus どれだけ速いのか
Masaru Oki
PDF
Lagopus 0.2.7
Masaru Oki
PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
PDF
Lagopus match improvements
Masaru Oki
PDF
Lagopus 0.2.4
Masaru Oki
PDF
Open flow tunnel extension on lagopus vswitch
Masaru Oki
PDF
Lagopus as open flow hybrid switch
Masaru Oki
PDF
Net bsd advent calendar 2015 bpf
Masaru Oki
PDF
Using rump on NetBSD 7.0
Masaru Oki
PDF
Rumpを使ってみる
Masaru Oki
NetBSD移植の昔話
Masaru Oki
Rust-DPDK
Masaru Oki
Rust-DPDK
Masaru Oki
Lagopusとvagrant
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
Onieで遊んでみようとした話
Masaru Oki
GPD WINが来た!
Masaru Oki
新生Lagopus2017(仮称)
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus どれだけ速いのか
Masaru Oki
Lagopus 0.2.7
Masaru Oki
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
Lagopus match improvements
Masaru Oki
Lagopus 0.2.4
Masaru Oki
Open flow tunnel extension on lagopus vswitch
Masaru Oki
Lagopus as open flow hybrid switch
Masaru Oki
Net bsd advent calendar 2015 bpf
Masaru Oki
Using rump on NetBSD 7.0
Masaru Oki
Rumpを使ってみる
Masaru Oki
Xeon dとlagopusと、pktgen dpdk
1.
Xeon DとLagopus と、Pktgen-DPDK July 24,
2015 Masaru OKI @masaru0714
2.
今回やってみたこと Xeon Dマシンを2台使って Xeon D
+ Lagopusの性能を確認してみる トラフィックジェネレータとして Pktgen-DPDKを使ってみる
3.
キーワード ● Xeon D ○
2015年出荷、10G MACを内蔵したSoCのXeon ○ 今回使うのはXeon D-1540 (2.0GHz; 8C16T; TDP45W) ● Lagopus ○ オープンソースのOpenFlowソフトウェアスイッチ ● Pktgen-DPDK ○ DPDKを用いたオープンソースのトラフィックジェネレータ ○ Linux kernelのpktgenっぽいものだが直接関係はない
4.
接続構成 Xeon Dマシン(1) X520-DA2 p1p1 p1p2 Xeon
D- 1540 i350-AT2 eth0 eth1 em1 em2 Xeon Dマシン(2) X520-DA2p1p1 p1p2 Xeon D- 1540 i350-AT2 eth0 eth1 em1 em2 制御 ネットワーク 10GBaseT 10G SFP+ Direct attach cable Lagopus Pktgen- DPDK
5.
ハードウェア ● SUPERMICRO X10SDV-TLN4F ○
Mini-ITX form factor ○ Xeon D-1540, 10GBaseT * 2, GbE * 2, IPMI ● 8GB ECC DIMM * 4 (32GB) ● 120GB 2.5inch SATA SSD ● X520-DA2 Converged Network Adapter ○ 10GbE * 2 (SFP+) ● 400W Power Supply (SFX)
6.
Xeon Dマシン近影
7.
ソフトウェア ● OS: Ubuntu
14.04.2 LTS Server amd64 ● Hugepage: 1GB/pageを4ページ確保 ● ixgbe-4.0.3 (Xeon Dの10GBaseTに対応) ○ DPDKではPMDを使うので不要といえば不要 ● DPDK: git先頭(2.1.0-rc1相当) ○ gcc4なのでCONFIG_RTE_IXGBE_INC_VECTOR=n ● Ryu ○ pip install ryu
8.
Pktgen-DPDKのソース取得とビルド git clone git://dpdk.org/apps/pktgen-dpdk export
RTE_SDK=$HOME/src/dpdk export RTE_TARGET=build cd pktgen-dpdk; make
9.
Pktgen-DPDKの起動 sudo ./app/app/build/pktgen -cffff
-n2 -- -P - T -m '[1-4:5-8].[0-3:0-3]' ○ -P promiscous mode ○ -T 色つき表示 ○ -m [RecvCore:SendCore].[RecvPort:SendPort] ● 白地に黒前提なので背景黒だと見えません ○ しかも終了時に色設定を戻さない…… ● ウィンドウを広げないと表示が崩れる(118文字) DPDKオプション 16コア、2メモリチャネル
10.
Pktgen-DPDKの画面 受信(fps)と 送信(fps)を見る。 Mbits/sはあてにならない。
11.
Pktgen-DPDK使い方 Pktgen> start 3
ポート3からパケット送信開始 Pktgen> stop 3 ポート3の送信停止 Pktgen> clear all 全ポートのカウンタ初期化 Pktgen> cls 画面が乱れたときに再描画 Pktgen> start all 全ポート一斉送信開始 Pktgen> stop all 全ポート停止
12.
Pktgen-DPDK自身の性能は? SFP+ポート同士を直接つないで転送。 ショートパケット性能: 14.5Mfps ワイヤーレートに惜しくも届かず。 Xeon Dマシン(2) Pktgen-DPDK SFP+ SFP+ RJ45 RJ45 em1 em2
13.
Lagopusの使用準備 ● Lagopusコンパイルとインストール ./configure --with-dpdk-dir=$HOME/src/dpdk make
OPT_CFLAGS=-O3 -j 8; sudo make install ● 新lookupの使用はconfigureで選択 --enable-mbtree をつけて再コンパイル lagopus起動時に--no-cacheをつけると新lookupが動く
14.
Lagopusの起動と設定 ● 開発中バージョンを使っています。(0.2(仮)) ● 起動 ○
sudo lagopus -d -- -cff -n2 -- -pf ○ sudo lagopus -d -- -cff -n2 -- -pf --fifoness none ● lagoshを使って設定する ○ Lagosh> configure ○ Configure# edit テキストエディタで設定編集 ○ Configure# commit 設定を動作に反映 ○ Configure# save 起動時設定として保存 フォアグラウンド動作 8コア、2メモリチャネル 4ポート使用 パケット順序保証しない
15.
Lagopus設定内容 ● コンフィグ全体の説明は大きいので省きます ● 設定のポイント ○
Agent関連: channel, controllerを設定 ○ Dataplane関連: interface, port, bridgeを設定 ○ ひとつのブリッジに4ポートを割り当てる ○ コントローラIPアドレスは127.0.0.1 (自ホスト)
16.
Lagopus設定: channel, controller channel
{ channel01 { dst-addr 127.0.0.1; } } controller { controller01 { channel channel01; } } channelと関連付け。 roleなどの指定もできます。 自ホストで動くRyuとつなぐので ループバックアドレスを指定。
17.
Lagopus設定: interface interface { interface01
{ type ethernet-dpdk-phy; port-number 2; } interface02 { type ethernet-dpdk-phy; port-number 3; } interface03 { type ethernet-dpdk-phy; port-number 0; } interface04 { type ethernet-dpdk-phy; port-number 1; } } port-numberはDPDKのportid。 SFP+を先に使いたくて2, 3を先に 割り当てています。 ethernet-rawsockでraw socket使用。 そのときはdevice eth2;などと書きます。
18.
Lagopus設定: port port { port01
{ interface interface01; } port02 { interface interface02; } port03 { interface interface03; } port04 { interface interface04; } } interfaceと関連付け。 将来tunnel対応などの拡張によって パラメータが増える予定。
19.
Lagopus設定: bridge bridge { bridge01
{ dpid 1; controller controller01; port port01 1; port port02 2; port port03 3; port port04 4; fail-mode secure; } } controllerとの関連付け。 datapath idを普通に数値で記述。 portとOpenFlowポート番号を関連付け。
20.
Lagopusに流し込むフローエントリ in_port=1,actions=output:2 in_port=2,actions=output:1 in_port=3,actions=output:4 in_port=4,actions=output:3 テキストそのものでなく、Ryuアプリで上記相当の OpenFlow flow_modをLagopusに送信。
21.
測定の概要 Xeon Dマシン(1) Lagopus SFP+ SFP+ Ryu RJ45 RJ45 em1 em2 Xeon Dマシン(2) Pktgen-DPDK SFP+ SFP+ RJ45 RJ45 em1 em2 10GBaseT 10G
SFP+ Direct attach cable in_port指定で他方 にoutpputするフ ローエントリを4つ。 SFP+間転送と 10BaseT間。
22.
測定項目 ● Lagopusの動作設定 ○ flowcache有効/無効/新lookup(試験実装) ○
パケットオーダー保証の有無 ● Pktgen-DPDK負荷 ○ ショートパケット ○ 送信パターン ■ 全ポート送信(4flow) ■ Port1送信→Port0受信(10GBaseT; 1flow) ■ Port3送信→Port2受信(SFP+; 1flow)
23.
測定手順 1. Lagopusの設定を保存しておく 2. Lagopusをコンパイル、インストール 3.
Pktgen-DPDK, Lagopus, Ryuを起動 4. Pktgen-DPDKでパケット送信を開始(startコマンド) 5. TotalRateの値を記録 6. Pktgen-DPDKのパケット送信を停止(stopコマンド)
24.
測定結果(fps) パケットオーダー Lagopus lookup
1flow 10GBaseT 1flow SFP+ 4flow 保証 cacheあり 2,585,453 6,778,297 9,698,277 no-cache 1,746,086 6,083,367 7,171,101 新lookup 1,941,983 6,391,310 8,507,494 保証しない cacheあり 6,396,016 9,401,647 12,108,205 no-cache 6,393,839 9,411,175 10,976,656 新lookup 6,394,800 9,411,294 10,998,775
25.
TotalRate (4flow)
26.
1flow 10GBaseT
27.
1flow SFP+
28.
解説 ● 4エントリだとlookup方式での速度差は比較的少ない ● 速度はcacheあり
> 新lookup > no-cache ○ 数千、数万エントリ投入時の速度は要確認 ● パケットオーダー保証だと特定コアに処理が集中 ○ 並べ替えない方式のため同じflowは同じコアで処理 ○ HTTのコアは使わない設定で動かしている ● なぜかSFP+のほうが性能が出ている(理由は未調査) ● 番外:pktgen-dpdkで送信停止・再開を繰り返すとよく落ちる
29.
今後とまとめ ● Lagopus +
Xeon Dでwire rate出したい ○ perfやIntel PCMなどでボトルネックを調査 ○ lookupの高速化も引き続き取り組みます ● vector txをenableにして測定したい ○ gcc4だと逆に速度が低下する。gcc5? icc? ● 個人レベルでXeonや10Gが扱える時代に ○ しかしスイッチはまだまだ高いです ● Lagopus新バージョン、もう少しお待ちください
Download