13th - Switch のベンチマーク

OpenFlow におけるベンチマークはパラメタがたくさんあり、ぱっと簡単に性能の良し悪しを測れるものさしは今のところ無いと思われる。 ちょっと検索してみたところ、どのくらいのパラメタがあるのかざっと見る事が出来る論文があったので紹介する。
C. Rotsos, et al., "OFLOPS: An Open Framework for OpenFlow Switch Evaluation",
PAM'12: Proceedings of the 13th international conference on Passive and Active Measurement, 2012
がそれだ。ところでこれ、共著に Rob Sharwood の名前がある。今 Rob は Big Switch Networks の "CTO of Controller Technologies" となっている。なるほど彼はハードウェアスイッチの性能評価に興味があるだろうなあ。
さて論文を見ると、グラフが幾つもある。このグラフの数だけ評価軸があることになる。 例えばフローエントリを追加する数による所要時間の変化、統計情報を polling する頻度による CPU 負荷率の変化、そして統計情報を polling する頻度によるフローエントリの追加所要時間の変化、などである。
この多様なパラメタに対してどのようにすれば判り良い可視化が可能か、という課題もなかなかに面白いのだけれど、今日はフローエントリの追加速度、つまり論文中の Fig. 4. に注目する。このグラフはフローエントリの追加と更新について二つのハードスイッチと一つのソフトスイッチを較べたもの。
比較対象であるスイッチのうち、Switch1 が典型的なハードウェアスイッチ、コントロール CPU は PowerPC 500MHz、(最大?)フローテーブルサイズは 3072 エントリとなっている。典型的なソフトスイッチとしては Open vSwitch が Xeon 3.6GHz で 1M エントリ最大。
ハードスイッチ Switch 1 は最初の一つめのエントリを追加する速度が 1.8ms からはじまり、その後 1 エントリの追加ごとにおよそ 1ms 程度時間が必要となる。 ところが Open vSwitch はこの 10 倍程度の速度を出している。 まあ PowerPC 500MHz と Xeon 3.6GHz なので、10 倍程度の差が出るのはある意味素直としか言いようが無い。Power 頑張ってるじゃない、と言っても良いくらいだ。
この差を生みそうなものはこの CPU の遅さと、あとは ASIC への書き込み速度くらいしか思いつかないのだが、CPU 速度が実質 10 倍かそれ以上あることを考えると、ASIC への書き込み速度は余り問題になっていないように思えるのだがどうだろう。 もしそうだとしたら、この性能は CPU を PowerPC などを使わず、もっと馬力のあるチップに交換すれば良いところまで詰めることができるのではないか。
と、すると、ますます一つの疑問が首をもたげてくる。
なぜ Intel は ONP などにもっとパワフルな CPU を載せないのだろう。
(20日の記事「なぜ Intel は E7 を使わないのか」参照)

References