VirtualBox 5.0のSMPスピンロックの確認

Pocket

VirtualBox 5.0では、Linuxゲストに対してKVMタイプとして準仮想化クロックとSMPスピンロックが提供されます。

今回は、SMPスピンロックを確認してみます。

ベンチマークとしてUnixBench 5.1.3を用いました。

準仮想化インターフェースで”なし”と”KVM”を選んでそれぞれUnixBenchを走らせます。

ゲストOSはUbuntu 12.04で仮想CPUを2CPUで行いました。

まずはUnixBenchをダウンロードしてきて解凍しベンチマークを走らせます。
-iというオプションは測定を各項目で1回に制限するものです。そうしないと、10回やってしまい30分くらい時間がかかります。

wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
tar xvzf UnixBench5.1.3.tgz
cd UnixBench
./Run -i 1

準仮想化インターフェースを変えても結果はあまり変わらなかったのですが、Index Scoreと特に値が大きく変わったPipe-based context switchingをまとめました。

Index Score

準仮想化インターフェース 1CPU 2CPU
なし 1739.7 2912.0
KVM 1910.0 3278.5

Pipe-based context switching

準仮想化インターフェース 1CPU 2CPU
なし 329.3 565.5
KVM 919.5 1814.0

Pipe-based context switchingというのは、プロセスのコンテキストスイッチを起こさせることでOSとCPUの性能の違いを見るものです。コンテキストスイッチとは、複数のスレッドやプロセスの実行の順番を変えて実行することです。

準仮想化インターフェースにKVMを選ぶことで565.5から1814.0と3倍くらい性能が上がっていることが分かります。

Index Scoreの値が変わったのは主にPipe-based context switchingが変わったことによるものです。

ただ、実際にこの違いが分かるかというと、マルチスレッドのプログラムをぶん回したりサーバーで複数のプロセスを高負荷で動かすことをしないと実感できないと思います。

以上、VirtualBox 5.0のSMPスピンロックについて確認してみました。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*