Xeon Dいじり
May 16, 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 RDIMM/nonECC UDIMM 4(max128GB)
IPMI対応(Aspeed AST2400)
X10SDV-FはGbE * 2 (SoCの10GbEは未使用)
X10SDV-TLN4FはGbE * 2 + 10GbE * 2 (copper)
買ってみた
● 秋葉原で売られていたり、予約注文できたり
○ BUY MORE, OLIOSPEC
○ けっこう品薄(一般向けではないが、すぐ売り切れる)
● X10SDV-TLN4Fが2015年4月時点で138,000円
● メモリはDDR4 ECC RDIMM 8GB * 4で62,000円
● ケース、電源、SSDも込みで23万くらい
● 10GbEを2本持って最新Xeonでこれなら安い!(?)
こんなやつ
組み立て完了
● 一番上の白いのがそれ
● 箱はQbee
● 下の2つは別のXeon箱
● 置くところがなかったので
ひとまず重ねてみた。
IPMI
● 本体電源オフでも動作している独立モジュール
● LAN経由でアクセスして電源ON/OFFなどできる
● センサーによる監視等の機能がある
● 今回のSUPERMICROマザーに載っているものは
○ WebUIがある
○ リモートコンソールが使える
● Keyboard,Mouse,Videoの接続なしで使えます
SUPERMICRO IPMIのWebUI
SUPERMICRO IPMIのリモートコンソール
Javaで動きます
マウスも使えます
GUI環境もOK
BIOS画面も操作可能
ASRockのもほぼ同じ
OSをインストールしてみる
● USB DVDドライブをつないでそこから入れる
● 今回入れたOSはUbuntu 14.04.2LTS server
○ 10GbEは見えない可能性大なのでGbEを結線
○ すんなり入った。
○ GbEはem0, em1
○ 10GbEは予想通り見えなかった
Xeon Dの速度はどの程度?
● ループバックインタフェースにiperfするといい
という情報を得たのでやってみた。
● ipef: ネットワークスループットの測定ツール
○ iperf -sを動かすホストとiperf -cの間の計測
○ TCP, UDPで計測できる
○ 負荷がかかるのでLANの測定にとどめましょう
○ 今回は同一ホストでiperf -sとiperf -cを動かす
iperf速度比較結果
iperf -sしたホストで
iperf -c 127.0.0.1
Xeon D-1540は
約40Gbpsの性能。
-P 4(4本並列)で
100Gbpsを超えた
iperf速度比較(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から見えるかは未確認
● Intel DPDKは2015年4月末時点で未対応
○ X540ベースだがcopper PHYを扱えない
○ 使う設定で起動させるとエラー終了してしまう
SoC内蔵10GbEが動くまで
● DPDKのドライバ(PMD)はFreeBSDベース
● FreeBSDが2015年5月1日にXeon D対応した!
● さっそくコードを持ってきて移植(ほぼパクり)
● 結果: 認識した!
● しかし通信相手がいない
● →2つのポートをケーブルで接続してみた
Lagopusで動作確認
● OpenFlowソフトウェアスイッチ
○ コントローラと制御通信する
○ コントローラからの指示でパケット送信可能
○ 受信パケットの処理ルールをコントローラから登録
● 論理上複数のスイッチを扱える
● 2つのスイッチそれぞれに10GbEを割り当てる
● スイッチ間の通信ができるかを確認してみる
Lagopusで動作確認結果
無事動作しました!
DPDKのdiffをいちおう用意したけれど
Intelさんが公式に対応パッチを入れてくれるはず
なので野良パッチをdpdk-dev MLに送ってません
http://www.e-neta.jp/~oki/dpdk-ixgbe.diff
待てない+試してみたい方はどうぞ(もちろん無保証ですが)
当時のmaster向けなのでrejectしたら手でなおしてください
まとめと今後
● Xeon Dわりと速いしコア多いし、いい!
● IPMI便利!
● 10GbaseTはOSとかDPDKの対応待ち
○ Windowsは添付DVDにドライバが入ってそうでした
● 今後
○ 10Gの通信相手が欲しい(もう1台? NIC買う?)
○ 10GbaseTのスイッチはお高いけどちょっと欲しい
○ SoC内蔵10GbEの限界性能を確認したい
Special thanks
● AKIBA PC Hotlineさん, BUY MOREさん
○ ボードの入荷情報や購入でお世話になりました
● @ipv6labsさん
○ iperfによる性能測定を教えていただきました
● @gussunoyoyoさん
○ FreeBSDドライバの更新情報を教えていただきました
ありがとうございます!

Xeon d