SlideShare a Scribd company logo
Running Lagopus
on Xeon D
Jun 10, 2015
Masaru OKI @masaru0714
Xeonとは
Intelのワークステーション、サーバー向けCPU
ブランドであり、中身は世代によってさまざま
1998年 Pentium II Xeonが最初の製品
現行品のグレードはE3, E5, E7に別れる
● 大雑把に言えばE3がCore i7相当以上
● E5,E7はコア数増やSMP対応など
Xeon D
● Xeonブランドでは初のSoC (System on Chip)
● 2015年1Q出荷
● Broadwellベースでメモリコントローラを内蔵
● 10GbE MACを2つ内蔵
● 初期リリースは2モデル、TDPは45W
○ Xeon D-1540 8core 16thread, 2.0GHz
○ Xeon D-1520 4core 8thread, 2.2GHz
Xeon Dマザーボード
● SUPERMICRO X10SDV-F, X10SDV-TLN4F
○ 他社からもいくつか発表されている
● Mini-ITX, Xeon D-1540オンボード(ファンつき)
● DDR4 ECC/nonECC DIMM x 4(max128GB)
● IPMI対応
● X10SDV-FはGbE * 2 (SoCの10GbEは未使用)
● X10SDV-TLN4FはGbE * 2 + 10GbE * 2 (copper)
X10SDV-TLN4F
OSをインストールしてみる
● USB DVDドライブをつないでそこから入れる
● 今回入れたOSはUbuntu 14.04.2LTS server
○ 10GbEは見えない可能性大なのでGbEを結線
○ すんなり入った。
○ GbEはem0, em1
○ 10GbEは予想通り見えなかった
Xeon Dの性能はどの程度?
● ループバックインタフェースにiperfする
○ CPU処理速度とメモリアクセスの測定になります
○ 10GbE扱える力があるか確認してみようという趣旨
● iperf: ネットワークスループットの測定ツール
○ iperf -sを動かすホストとiperf -cの間の計測
○ 単一あるいは複数セッションをTCP, UDPで計測できる
○ 負荷がかかるのでLANの測定にとどめましょう
○ 今回は同一ホストでiperf -sとiperf -cを動かす
iperfによる性能比較結果
Xeon D-1540は
約40Gbpsの性能。
-P 4(4本並列)で
100Gbpsを超えた。
10GbE2本は余裕。
性能比較(clockあたりの速度を計算)
Broadwell, Haswell, IvyBridgeの順
Xeon D優秀。
Atomはやや落ちる。
AMDは参考値
● CPU自体古い
● OSがNetBSD
● メモリもDDR2
iperfによる性能比較(表)
メモリはDDR3(例外 Xeon DがDDR4, AMDがDDR2)
CPU iperf speed (Gbps) CPU clock(GHz) Gbps/clock
Xeon E3-1231v3 63.8 3.4 18.76
Xeon D-1540 39.7 2.0 19.85
Xeon E3-1105Cv2 25.7 1.8 14.27
Atom C2758 13.8 2.4 5.75
Celeron J1900 12.3 2.0 6.15
PhenomII X6 1095T 8.36 3.2 2.61
SoC内蔵10GbE(10GBaseT)が使えるか?
● Ubuntu 14.04LTSからは見えなかったorz
● 新しいLinux kernelからも見えない
○ 少なくとも、PCI IDが未知と思われる
● Intel DPDKは2015年6月10日時点で未対応
○ X540ベースだがcopper PHYを扱えない
○ 使う設定で起動させるとエラー終了してしまう
LinuxのI/Fとして認識させる
IntelがLinuxドライバのソースを配布している
https://downloadcenter.intel.com/ja/download/24941
利用条件に同意してダウンロード、展開して
cd src; sudo make install
rmmod ixgbe; modprobe ixgbe
見えました(Ubuntu 14.04.2LTSにて)
$ ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 1000baseT/Full
10000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 1000baseT/Full
10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 10000Mb/s
em0: i350 (GbE)
em1: i350 (GbE)
eth0: X540 (10GbE)
eth1: X540 (10GbE)
netnsを使って動作確認
1. sudo ip netns exec NET0 iperf -s
2. sudo ip netns exec NET1 iperf -c 172.21.0.1
------------------------------------------------------------
Client connecting to 172.21.0.1, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local 172.21.0.2 port 52119 connected with 172.21.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 10.9 GBytes 9.40 Gbits/sec
DPDKでXeon D 10GbEを動かす
● DPDKのドライバ(PMD)はFreeBSDベース
● FreeBSD-CURRENTがXeon D対応している!
○ 2015年5月1日にXeon D対応コードがcommitされた
● コードを持ってきて移植(ほぼパクり)
無事認識しました
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL: probe driver: 8086:15ad rte_ixgbe_pmd
EAL: PCI memory mapped at 0x7fffc0000000
EAL: PCI memory mapped at 0x7fffc0200000
PMD: eth_ixgbe_dev_init(): MAC: 7, PHY: 6
PMD: eth_ixgbe_dev_init(): port 0 vendorID=0x8086 deviceID=0x15ad
EAL: PCI device 0000:03:00.1 on NUMA socket 0
EAL: probe driver: 8086:15ad rte_ixgbe_pmd
EAL: PCI memory mapped at 0x7fffc0204000
EAL: PCI memory mapped at 0x7fffc0404000
PMD: eth_ixgbe_dev_init(): MAC: 7, PHY: 6
PMD: eth_ixgbe_dev_init(): port 1 vendorID=0x8086 deviceID=0x15ad
DPDKの変更部分のコード
DPDKのdiffをいちおう用意した
Intelさんが公式に対応パッチを入れてくれるはず
と思って1ヶ月、まだ入らないのでこっそり公開
https://gist.github.com/iMasaruOki/682cb95779de39b38bdf
待てない+試してみたい方はどうぞ(もちろん無保証ですが)
当時のmaster向けなのでrejectしたら手でなおしてください
Lagopusで10GbEの動作確認
● OpenFlowソフトウェアスイッチ
○ コントローラと制御通信する
○ コントローラからの指示でパケット送信可能
○ 受信パケットの処理ルールをコントローラから登録
● 論理上複数のスイッチを扱える
● 2つのスイッチそれぞれに10GbEを割り当てる
● 2つの10GBaseTポートをケーブルで接続
● スイッチ間の通信ができるかを確認してみる
Lagopus動作確認テストの構成
Xeon Dマシン
Lagopus(単一プロセス動作)
bridge-1
bridge-2
10GbE portid 0
10GbE portid 1DPDK
Ryu
(OFコントローラ)
Lagopus実行
$ sudo lagopus -d -- -cff -n2 -- -p3
(中略)
NIC RX ports:
port 0 (queue 0)
port 1 (queue 0)
(中略)
NIC TX ports:
0 1
OpenFlowテストを実行 (一部抜粋)
action: set_field: 38_TUNNEL_ID
ethernet/ipv4/tcp-->'actions=set_field:12345->tunnel_id,goto_table:
1','table_id:1,tunnel_id=12345,actions=output:2' OK
ethernet/ipv6/tcp-->'actions=set_field:12345->tunnel_id,goto_table:
1','table_id:1,tunnel_id=12345,actions=output:2' OK
ethernet/arp-->'actions=set_field:12345->tunnel_id,goto_table:1','table_id:1,
tunnel_id=12345,actions=output:2' OK
group: 00_ALL
..........
2Mbps(ethernet/ipv4/tcp)-->'in_port=1,actions=group:all(actions=output:
2/actions=output:3)' OK
まとめと今後
● Xeon Dは性能もよく、バランスがいい
● 10GbaseTを動かすにはひと手間掛かる
○ Windowsは添付DVDにドライバが入ってそうでした
● Lagopus+DPDK動きます!
● 今後
○ 10Gの通信相手が欲しい(もう1台? NIC買う?)
○ 10GBaseTのスイッチはお高いけどちょっと欲しい
○ SoC内蔵10GbEの限界性能を確認したい

More Related Content

PDF
Using Xeon D 10GBase-T
PDF
Xeon d
PDF
Dpdk pmd
PDF
Dpdk環境の話
PDF
FreeBSD jail+vnetと戯れた話
PDF
DPDK QoS
PDF
DPDKを拡張してみた話し
PDF
10GbE時代のネットワークI/O高速化
Using Xeon D 10GBase-T
Xeon d
Dpdk pmd
Dpdk環境の話
FreeBSD jail+vnetと戯れた話
DPDK QoS
DPDKを拡張してみた話し
10GbE時代のネットワークI/O高速化

What's hot (20)

PDF
Xeon dとlagopusと、pktgen dpdk
PPTX
Cloud next with Server Roadmap
PDF
Linux packet-forwarding
PDF
Lagos running on small factor machine
PDF
Interrupt Affinityについて
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
PDF
Lagopus as open flow hybrid switch 実践編
PDF
自宅実験環境 Aug 2014
PDF
Lagopus + DockerのDPDK接続
PDF
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
PDF
UEFI時代のブートローダ
PDF
KVM環境におけるネットワーク速度ベンチマーク
PDF
Ethernetの受信処理
PDF
Rps・rfs等最新linux kernel事例
PDF
マルチコアとネットワークスタックの高速化技法
PDF
VTI の中身
PDF
Wireguard 実践入門
PDF
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
PPTX
VPP事始め
Xeon dとlagopusと、pktgen dpdk
Cloud next with Server Roadmap
Linux packet-forwarding
Lagos running on small factor machine
Interrupt Affinityについて
Dockerと外部ルータを連携させる仕組みを作ってみた
Lagopus as open flow hybrid switch 実践編
自宅実験環境 Aug 2014
Lagopus + DockerのDPDK接続
OpenStack + OpenContrailで実現するマルチテナントIaaSのご紹介
UEFI時代のブートローダ
KVM環境におけるネットワーク速度ベンチマーク
Ethernetの受信処理
Rps・rfs等最新linux kernel事例
マルチコアとネットワークスタックの高速化技法
VTI の中身
Wireguard 実践入門
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
VPP事始め
Ad

Viewers also liked (20)

PPTX
PPT
8 Tui Bei Tu Parallelisms to Philippine History
PPTX
Project and pitch in 10 min
PPTX
Myanmar: Socio-Cultural Setting
PPTX
Singapore (Socio-Cultural Setting)
PPTX
PPTX
Myanmar (Economic Setting)
PPTX
K overview
PPTX
Singapore: Economic Setting
PPTX
Singapore: Political Setting
PPTX
Indonesia: Socio-Cultural Setting
PPTX
Dracula presentation with answers ok
PPTX
Volcanic Eruption Communication Model (Final Revision)
PDF
richards keynote
PPT
8 Issues and My Answers in Pilipinas Debates 2016
PPTX
Vietnam: Political Setting
PDF
Richards key 3
PPT
8 Questions to My Opponents in Pilipinas Debates 2016
DOCX
Texto de tic's franccy
PPT
PARADIGMAS URBANOS. Guía sitio 2016
8 Tui Bei Tu Parallelisms to Philippine History
Project and pitch in 10 min
Myanmar: Socio-Cultural Setting
Singapore (Socio-Cultural Setting)
Myanmar (Economic Setting)
K overview
Singapore: Economic Setting
Singapore: Political Setting
Indonesia: Socio-Cultural Setting
Dracula presentation with answers ok
Volcanic Eruption Communication Model (Final Revision)
richards keynote
8 Issues and My Answers in Pilipinas Debates 2016
Vietnam: Political Setting
Richards key 3
8 Questions to My Opponents in Pilipinas Debates 2016
Texto de tic's franccy
PARADIGMAS URBANOS. Guía sitio 2016
Ad

Similar to Running lagopus on Xeon D (20)

PDF
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
PDF
仮想化技術の今後の動向
PDF
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
PDF
Open-FCoE_osc2011tokyofall_20111119
PDF
Robovie Maker2éêàµê‡ñæèë
PDF
「スーパーコンピュータとクラウドゲーム」
PDF
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
PDF
Getting Started with Jetson Nano
PPT
201104016 osc2011 kobe
PDF
Apache cloudstack4.0インストール
PPTX
FD.io VPP事始め
PDF
20150715 xflow kikuta_final
PDF
20170421 tensor flowusergroup
PPT
20110715 osc2011 kyoto
PDF
show コマンド結果をパースする方法あれこれ #npstudy
PDF
【A-1】AIを支えるGPUコンピューティングの今
PDF
ちょっと古いマシンにLinuxを
PPTX
NUCで始めるVMware Tanzu
PPTX
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
PDF
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
仮想化技術の今後の動向
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
Open-FCoE_osc2011tokyofall_20111119
Robovie Maker2éêàµê‡ñæèë
「スーパーコンピュータとクラウドゲーム」
[db tech showcase Tokyo 2016] D13: NVMeフラッシュストレージを用いた高性能高拡張高可用なデータベースシステムの実現方...
Getting Started with Jetson Nano
201104016 osc2011 kobe
Apache cloudstack4.0インストール
FD.io VPP事始め
20150715 xflow kikuta_final
20170421 tensor flowusergroup
20110715 osc2011 kyoto
show コマンド結果をパースする方法あれこれ #npstudy
【A-1】AIを支えるGPUコンピューティングの今
ちょっと古いマシンにLinuxを
NUCで始めるVMware Tanzu
【たぶん日本初導入!】Azure Stack Hub with GPUの性能と機能紹介
ITpro EXPO 2014: Cisco UCSによる最新VDIソリューションのご紹介

More from Masaru Oki (20)

PDF
NetBSD移植の昔話
PDF
Rust-DPDK
PDF
Rust-DPDK
PDF
Lagopusとvagrant
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
PDF
Onieで遊んでみようとした話
PDF
GPD WINが来た!
PDF
新生Lagopus2017(仮称)
PDF
LagopusでPPPoEを使えるか考えてみた件
PDF
Lagopus どれだけ速いのか
PDF
Lagopus 0.2.7
PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
PDF
Lagopus match improvements
PDF
Lagopus 0.2.4
PDF
Open flow tunnel extension on lagopus vswitch
PDF
Lagopus as open flow hybrid switch
PDF
Net bsd advent calendar 2015 bpf
PDF
Using rump on NetBSD 7.0
PDF
Rumpを使ってみる
NetBSD移植の昔話
Rust-DPDK
Rust-DPDK
Lagopusとvagrant
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
今よりも少し(?)昔、 Windowsを作ろうとした話
Onieで遊んでみようとした話
GPD WINが来た!
新生Lagopus2017(仮称)
LagopusでPPPoEを使えるか考えてみた件
Lagopus どれだけ速いのか
Lagopus 0.2.7
Ryu+Lagopusで OpenFlowの動きを見てみよう
Lagopus match improvements
Lagopus 0.2.4
Open flow tunnel extension on lagopus vswitch
Lagopus as open flow hybrid switch
Net bsd advent calendar 2015 bpf
Using rump on NetBSD 7.0
Rumpを使ってみる

Running lagopus on Xeon D