BSD界隈四方山話

第43回OpenBSD 5.9、マルチコアでネットワークスタック高速化

OpenBSD 5.9、ネットワークスタックの性能向上

OpenBSD journalに現在OpenBSD 5.9へ向けて開発が続けられているマルチコアにおけるネットワークスタックの処理性能の改善に関する取り組みのベンチマークが公開されました。どういった構成でベンチマークを実施したのかや、その結果などはOpenBSD 5.9 network improvementsにまとまっています。

性能計測に使われたネットワークインターフェースカードはIntel 82599、10G-PCIE2-8BL2-2S、Intel I350、Broadcom BCM5720です。ドライバとしてそれぞれix(4)、myx(4)、em(4)、bge(4)が使われています。異なるハードウェアおよび異なるデバイスドライバを使ってどのように性能に差がでるかが掲載されています。掲載されているベンチマークデータをグラフにまとめると次のようになります。グラフの右に表示されている凡例は、このベンチマークではOpenBSDへ向けてテスト用のパケットを送信しているわけですが、その送信速度(kpps)を表しています。

Intel 82599 ベンチマーク結果
Intel 82599 ベンチマーク結果
10G-PCIE2-8BL2-2S ベンチマーク結果
10G-PCIE2-8BL2-2S ベンチマーク結果
Intel I350 ベンチマーク結果
Intel I350 ベンチマーク結果
Broadcom BCM5720 ベンチマーク結果
Broadcom BCM5720 ベンチマーク結果

パケットの送信速度に関わらず、routedの処理ではOpenBSD 5.9のほうが良い結果を示しています(OpenBSDの現在の安定版リリースバージョンは5.8です⁠⁠。bridgedでは途中まではOpenBSD 5.9の方が優れた性能を示すのですが、送信するパケットの速度がある一定値を超えると逆に処理速度が遅くなり始めます。この部分は改良の余地がありそうです。

今後さらに高速化が期待できる

今回のベンチマークの結果は、ドライバの割込ハンドラが同時に動作するようになったという改善がほとんどの影響を占めているそうです。5.9のネットワークスタックはいまだにKERNEL_LOCKの状態のままですので、ネットワークスタックからKERNEL_LOCKが取れればさらに性能の向上が期待できます。

OpenBSDはこれまでマルチコア/メニーコアへの対応が弱く、コアの数が増えても性能がリニアに伸びにくいという問題を抱えていました。現在の開発でネットワークスタックのマルチコア/メニーコアへのスケーラビリティが改善すれば、OpenBSDが活用されるシーンがさらに増えるものと期待されます(マルチコア/メニーコアに対するスケーラビリティはFreeBSDでの開発が先行していますので、性能が必要な場合にはFreeBSDを検討してみるとよいと思います⁠⁠。

FreeBSD勉強会 告知

第50回 3月22日(木)19:00~ 【マジで困ってますシリーズ】FreeBSDが固まるんですけど・・・

FreeBSDは安定しています。たしかに安定しています。高負荷時にも粘り強い動きをみせます。しかし、ふとしたときになぜか黙ることがある、クラッシュダンプもなしに……。そんなニッチもサッチもいかない状況に追い込まれたIT戦士の声も聞くのです。しかし、クラッシュダンプもとれてないし、どうしたらよいかわからない……

そこで、記念すべき第50回目となるFreeBSD勉強会では、そうした窮地に追い込まれた状況を語り合い、死力を尽くした対応策を話し合い、情報共有して来たるべき、そしていま来ている地獄に備える、そんな会にしたいと思います。FreeBSDサーバを管理している方、この状況をなんとか乗り越えたい方、情報共有から次の一手を見つけ出したい方、すべての戦士に参加を求めます!

ライトニングトークに近い形で相互に発表しましょう。問題は発生しているものの解決はしていない、というパターンでもオッケーです。解決方法が知りたいんだ、という方のご参加もお待ちしています。よろしくお願いしまっす。

参加申請はこちらから。

第51回 4月14日(木)19:00~ FreeBSD 10.3R / 11.0 新機能紹介

2016年3月末または4月の値には安定板の最新バージョンとなるFreeBSD 10.3-RELEASEのリリースが予定されています。さらに今年の夏となる7月末または8月には、次期メジャーアップグレードバージョンとなるFreeBSD 11.0-RELEASEのリリースが予定されています。FreeBSD 11.0-RELEASEには現在の10系にはバックポートされていない魅力的な機能がたくさん用意されており、リリースが楽しみなバージョンです。

第51回目となる今回はFreeBSD 10.3-RELEASEの登場のタイミングに合わせて、10.3-RELEASEの新機能を紹介するとともに、11.0-RELEASEで登場が予定されている新機能や変更点を先取りして紹介します。最近のFreeBSDがどうなっているのか、最新版に移行しようかどうか迷っているので詳しく内容を知りたい、そんな方向けの勉強会です。

参加申請はこちらから。

おすすめ記事

記事・ニュース一覧