Submit Search
Dpdk環境の話
10 likes
6,132 views
Masaru Oki
About my DPDK running envonment. (In Japanese)
Technology
Read more
1 of 39
Download now
Downloaded 33 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
30
31
32
33
34
35
36
37
38
39
More Related Content
PDF
自宅実験環境 Aug 2014
Masaru Oki
PDF
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
PDF
DPDK QoS
Masaru Oki
PDF
Dpdk pmd
Masaru Oki
PDF
Running lagopus on Xeon D
Masaru Oki
PDF
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
PDF
10GbE時代のネットワークI/O高速化
Takuya ASADA
PDF
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
自宅実験環境 Aug 2014
Masaru Oki
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
DPDK QoS
Masaru Oki
Dpdk pmd
Masaru Oki
Running lagopus on Xeon D
Masaru Oki
Lagos running on small factor machine
Lagopus SDN/OpenFlow switch
10GbE時代のネットワークI/O高速化
Takuya ASADA
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
What's hot
(20)
PDF
Xeon d
Masaru Oki
PDF
Linux packet-forwarding
Masakazu Asama
PDF
Interrupt Affinityについて
Takuya ASADA
PDF
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
PDF
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
PDF
仮想化環境での利用者公平性
Takuya ASADA
PDF
Rps・rfs等最新linux kernel事例
Takuya ASADA
PDF
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
PDF
Lagopus + DockerのDPDK接続
Tomoya Hibi
PDF
Using Xeon D 10GBase-T
Masaru Oki
PPTX
Cloud next with Server Roadmap
Hisaki Ohara
PDF
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Masahiro Tsuji
PDF
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
PDF
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
PPTX
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
VirtualTech Japan Inc.
PDF
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
Etsuji Nakai
PDF
僕のIntel nucが起動しないわけがない
Takuya ASADA
PPTX
NUCで始めるVMware Tanzu
Hirotaka Sato
PPTX
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
PDF
Apache cloudstack4.0インストール
Yasuhiro Arai
Xeon d
Masaru Oki
Linux packet-forwarding
Masakazu Asama
Interrupt Affinityについて
Takuya ASADA
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
仮想化環境での利用者公平性
Takuya ASADA
Rps・rfs等最新linux kernel事例
Takuya ASADA
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
Lagopus + DockerのDPDK接続
Tomoya Hibi
Using Xeon D 10GBase-T
Masaru Oki
Cloud next with Server Roadmap
Hisaki Ohara
Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)
Masahiro Tsuji
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Toru Makabe
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
OpenStack管理者入門 - OpenStack最新情報セミナー 2014年12月
VirtualTech Japan Inc.
OpenStackのQuantum(LinuxBridge Plugin)が実際どうやって仮想ネットワークを構成するのか説明する資料
Etsuji Nakai
僕のIntel nucが起動しないわけがない
Takuya ASADA
NUCで始めるVMware Tanzu
Hirotaka Sato
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
Apache cloudstack4.0インストール
Yasuhiro Arai
Ad
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 as open flow hybrid switch 実践編
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
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 as open flow hybrid switch 実践編
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
Ad
Dpdk環境の話
1.
DPDK実験環境を 組んでみた話 Dec 29, 2013 Masaru
OKI (@masaru0714)
2.
Intel DPDKすごい! ● Data
Plane Development Kit ● Linux用パケット処理ソフトウェアライブラリ ● 10GbE short packetでwire rate出る (Xeonで) ● packetはkernelをすっとばしてuserlandで処理 ● BSDライセンスで配布されている もうなにも怖くない!
3.
自宅でいじくりまわしてみたい でも ● DPDKはIntel NICじゃないと動かない ○
3rd partyのドライバ(6WINDとか)は有償だったりして ● VMware上じゃ面白くない だったら、 新しく組むしかないじゃない! あなたも! わたしも!
4.
気になるあの製品 Atom C2758 ● サーバー向け8コア
Atom (Rangeley) SoC ● Intel QAT (Quick Assist Technology)搭載 ● ファンレス可能、TDP20W こいつを載せたマザーボードが秋葉原にある! SUPERMICRO A1SRi-2758F-O 51,680円
5.
A1SRi-2758F-Oすごい! ● Mini-ITX form
factor, fanless ● オンボード 4x Intel GbE ● SO-DIMMスロット4本、最大32GB (DDR3L) ● シリアルポートあり、BIOSリダイレクト可能 ● IPMI搭載 お小遣いを握り締めて秋葉原へGO!
6.
買おうとしてみた ● Intel NUCと同じくDDR3Lじゃないとだめらしい ●
DDR3L SO-DIMMを安いところで買ってみる ● そしていざ、パソコンハウス東映へ! ● 「このマザーボードいただけますか」 ECC必須(買ったメモリ使えない orz) メモリの在庫が切れていた orz
7.
結果 ● いったん購入回避。 ● 買い損ねて、微妙な気分でアキバをうろうろ。 ●
Miix 2.8 64GBモデル在庫あり……だと…… Miix 2.8買いました(46,800円) lenovoの8インチWindows8.1タブレット DPDKまったく関係なし。提督
8.
もとい、結果 ● 翌週、入荷したメモリと一緒に買いました。 ● SSDも別途購入。 ●
ビデオはオンボードだし、なくてもいい。 ● 円盤系はあまってるのを一時的につける。 ここからが本番です
9.
IPMIViewすごい! ● SUPREMICROのサイトから拾える管理ソフト ● Javaで書かれていてWin,Mac,Linuxで動く ●
マザボのIPMI用RJ45をLANにつないで制御 ● 電源ON/OFF、リセット、温度監視もできる ● ビデオコンソールをLANにリダイレクトできる もうなにも怖くない!! (7枚ぶり2回目)
10.
IPMIView動作画面の例 ● センサー画面。 ● 1分で自動更新。 ●
手動更新可。 電圧センサ 温度センサ
11.
組み立てて起動 ● メモリ挿して、電源つなぎ、IPMI LANつなぎ ●
お試しでNetBSD入りUSBメモリぶっ挿して ● これだけでいいのかな? ● IPMIViewから電源オン 起動した!
12.
起動したけど
13.
NetBSDはどうだったのか ● ddbに落としてdmesgを確認したところ ● 起動したストレージが見えてない ●
ブートできなかったのは当たり前か ● SATA SSDに入れれば動きそうな気配 とりあえずNetBSDはあとまわし。
14.
あらためて、組み立てと起動 ● 電源を切って、SSDをつなぐ。 ● デスクトップ用DVDドライブをつなぐ。 ●
電源オンしてF2でブートデバイス調整して。 ● CentOSはいろいろ面倒なのでUbuntuで。 ● Ubuntu 12.04 LTSのメディアをブートさせて。 Ethernetが見えないとか不気味なメッセージ。
15.
Ubuntu 13.10を使う ● 調べる時間を惜しんで、最新バージョンを使う。 ●
あっさり起動。あっさりインストール完了。 ● Ubuntu 13.10、日本語入力腐ってるとか? ○ 日本語入力することはないだろうし、いいや。 ● IPMIViewがASCIIキーボード前提らしい。 ○ 中カッコやバッククオートの入力でハマる。 JISキーボードの人は気をつけましょう。
16.
DPDK入れてみる Intelのサイトから入手。unzipで展開。 cd DPDK-1.5.2; ./tools/setup
でメニュー選択。 3. 64bit版をgccでコンパイル 5. PMD(DPDK用NICドライバ)の組み込み 6. KNI(DPDK用tapドライバ)の組み込み 7. hugepagesの確保 9. DPDKで使うNICの選択
17.
hugepages? ● 仮想記憶はページ単位で管理。1ページ4KB。 ● 割当なしのアドレスにアクセスすると例外発生。 ●
例外処理の中でページを割り当て処理続行。 ● これをオンデマンドページングという。 hugepagesは2MB/pageや1GB/page オンデマンドページングの回数を減らし速度向上
18.
hugepagesの設定 ● DPDKで使う前に、下準備の設定が必要 ● カーネルでサポートしていること ○
Ubuntuは標準カーネルでサポート、作業不要 ● 起動前に領域が予約されていること ○ GRUBの設定を編集して起動パラメータを追加 編集したら再起動が必要。
19.
GRUBでhugepages領域予約 ● /etc/default/grubをテキストエディタで編集 GRUB_CMDLINE_LINUX=”hugepages=1024” 上記は「2MBページを1024ページ予約」 ● 編集後
sudo update-grub を実行し再起動。 ● あらためてDPDKのsetup.shで7を選び1024。 ○ 2socketのときは7じゃなく8を選ぶ。 DPDK利用準備完了!
20.
DPDKサンプルアプリいろいろ examplesにいろいろ置いてあります ● l2fwd: L2転送のサンプル ●
l3fwd: L3転送のサンプル(arpはstatic) ● load_balancer: 負荷分散のサンプル などなど。さて、どれを試すかな。 あっ。 相手(対向)がいない!
21.
対向マシンを考える ● さすがに同じのもう一枚はちょっとなあ。 ● トラフィックジェネレータ的に使えるのを想定。 ●
Dual GbE、小さくまとめたいのでMini-ITXで。 ● 候補 ○ N70E-DR V2 16,680円 ○ GA-C1037UN-EU 10,980円くらい ケースも買うぜ!
22.
製品の選択 ● GIGABYTE安いしDIMMのほうがいいかな。 ● CPUのスペック一段下げたら1万円切るしな。 ●
と思ったらオンボードNICがRealtek…… ● DPDK動かしたいのでN70E-DR V2に決定。 危うくまた散財するところだった。
23.
N70E-DR V2 ● オンボード
Celeron 1037U ○ IvyBridge 1.8GHz, 2コア, GPU内蔵 ● SO-DIMMスロット1本 ○ Atom板で使えなかったメモリの再利用 ● Intel 82574 Gigabit Ethernet Controller x2 ● 元々はNAS用の板らしい Atom板を買った翌日、東映さんで買いました。
24.
その他買ったもの ● Mini-ITXケース ○ IN
WIN BQ656 ● 8インチサイズ液晶モニター ○ CENTURY LCD-8000VH ● Low Profile PCIeなIntel NIC ● 爪の折れないLANケーブルを数本 USBキーボードはあるし、マウスもあるはず。
25.
対向機の組み立て ● 紙の説明書が説明少なくて悩む。 ● ケースがスリムすぎてNICささらない(誤算)。 ○
ひとまずあきらめ。NIC散財か……orz ● ケースのSATA電源コネクタ1つ。 ○ 臨時でつなぐDVDドライブの電源どうしよう。 ○ 過去散財した、USB接続DVDドライブを発掘して接続。 結果オーライ。散財は未来につながった!
26.
OS入れて、DPDK入れて ● 最初からUbuntu 13.10を入れる。 ○
sshdは sudo apt-get install openssh-server ● DPDKも入れる。hugepagesも設定して。 ● Pktgen-DPDKも入れる。 ○ Atom機にも入れるか。 ○ Atom機で2ポートを直接つなげば限界速度わかる? ○ ってことはつまり 対向機の出番はまだよ! orz
27.
とりあえずAtom機でPktgen ● DPDKからは0~2の3ポートが見える。 ● Port0とPort1を結線してみた。 IPMI用LAN 通信用eth0 Port0 Port1
28.
Pktgen-DPDK動かし方 ● sudo ./app/build/pktgen
パラメータ ● パラメータ ○ -cff ■ Core0~7を使用する ○ -n2 -- -p 0xe ■ -pはPortを3つ(eth1~3)利用する指定 ○ -m ’[1-3:4-7].[0-2:0-2]’ ■ Port0~2受信にCore1~3を使う ■ Port0~2送信にCore4~7を使う
29.
Atom機でPktgen結果 ● start 0あるいはstart
0,1を実行 ● リアルタイム表示の結果 測定種別 Port0 Port1 Total 送信 受信 送信 受信 送信 受信 P0→P1 単方向 1000Mbps 1488200pps - - 976Mbps 1452641pps 1000Mbps 1488200pps 976Mbps 1452641pps P0←→P1 両方向 1000Mbps 1488203pps 955Mbps 1422553pps 1000Mbps 1488203pps 972Mbps 1447173pps 2000Mbps 2976406pps 1928Mbps 2869726pps
30.
パラメータを変えて試してみる ● -m ’[1-3:4-6].[0-2:0-2]’ ●
Core7を使わない設定 測定種別 Port0 Port1 Total 送信 受信 送信 受信 送信 受信 P0→P1 単方向 900Mbps 1340008pps - - 857Mbps 1275961pps 900Mbps 1340008pps 857Mbps 1275961pps P0←→P1 両方向 900Mbps 1340005pps 872Mbps 1298955pps 900Mbps 1340003pps 868Mbps 1292383pps 1800Mbps 2680008pps 1741Mbps 2591338pps
31.
パラメータを変える その2 ● -m
’1.[0-2]’ Core1だけで送受信すべて処理 ● 結果: ぴったり99Mbpsで頭打ち(なぜ!?) ● Pktgenのバグか? 性能限界か? 測定種別 Port0 Port1 Total 送信 受信 送信 受信 送信 受信 P0→P1 単方向 99Mbps 148768pps - - 99Mbps 148784pps 99Mbps 148768pps 99Mbps 148784pps P0←→P1 両方向 99Mbps 148784pps 99Mbps 148784pps 99Mbps 148784pps 99Mbps 148784pps 199Mbps 297568pps 199Mbps 297568pps
32.
対向用Celeron機で試してみた ● Celeron機はDual Core。 ●
Core0は制御用としてキープする必要がある。 ● よって転送にはCore1のみを使う。 ● いやな予感。 ● 結果 100Mbpsしか出ませんでしたぁっ!!
33.
どうしてくれよう このままではAtom機をいじめられない。 とりうる選択肢を考えてみた。 1. Pktgen 100Mbps頭打ちの謎を解く。 2.
自分で送受信プログラムを書く。(同じかも) 3. netmap, PF_RINGなど別実装を試す。 4. 違うハードを用意する。(散財) 5. いじめかっこ悪い。やめる。(完全敗北)
34.
まとめ ● サーバー用マザーボードとIPMIViewすごい。 ● AtomでGbE
wire rateをほぼ出せた。 ● Pktgenは若干怪しい。(たまにバグでこけるし) ● Celeron機は、散財に終わる可能性が…… それはさておき、 DPDKいじり楽しいですー!(コード書けよ)
35.
謝辞 ● 本当いろいろ置いてくださっている パソコンハウス東映さんに感謝! ● マザボの在庫状況を電話してくれた @gussunoyoyoさんに感謝! ●
だらだらと書いたスライドを読んでいただいた 皆様にも感謝! ありがとうございました!
36.
おまけ: Etherを増やす ● Celeron機はDual
GbE。 ● 両方をDPDKで使うと通常の通信ができない。 ● 買ってきたケースに入れるとNICがささらない。 ● でも大きいケースはいやだー。 ● あ。 ライザーカードみたく横向きにできれば!
37.
おまけ: Etherを増やす 2 買ってきた。 またしても東映さんにて。
38.
おまけ: Etherを増やす 3 ●
無理やり押し込んでみた。 ● バックパネルはなしで。 ● ケースの蓋は無事閉まった。 ● Ubuntuでeth2として認識。 結果: 勝利!
39.
おしまい。
Download