2013年6月29日土曜日

VMware player と Oracle Virtual Box の比較

いままで,ずっと VMware を使ってきたけど,
フリーのVMとして,どっちがいいんやろうってことで調べてみた.

ホストのマシンは,
Core i7 860 (Sandy bridge 世代で4コア,ハイパースレッディングで8コア)
8GB メモリ
Windows 7 Professional

ゲストは,Ubuntu で試してみた.
比較として,ゲストの起動・終了時間,自分で作った画像処理プログラム(OpenMPで並列化したもの)の実行時間を計測した.

VMware player


Playerの制限としては,CPUは4コア以上は設定できない.
そのため,4コアのCPUでメモリ4GBのマシンを作成.
ホストは8コアあるため,ゲストでCPU利用率100%のとき,ホストは利用率50%となっている.
OSはUbuntu 12.04 と13.04 で試した.

VMware の利点として,Ubuntu がクイックインストールできることがある.
この機能は,インストール時間が短縮されてとてもありがたい.


さて,計測結果だが,

Ubuntu 12.04
  起動:35秒
  終了:17秒
  画像処理:676秒

Ubuntu 13.04
  起動:26秒
  終了:14秒
  画像処理:442秒


Virtual Box


Virtual Box には,CPUのコア数の制限はない.
なので,ホストのCPUをフル稼働することができる.これが,そもそも試してみようと思ったきっかけである.
8コアのCPUでメモリ4GBのマシンを作成.
VMware と違い,細かいことまで設定できるので,ビデオメモリは最大に(といっても128MB)しといた.
OSは,Ubuntu 13.04.
インストールは,通常インストールなので,VMwareよりも時間がかかる.


計測結果は,
  起動:165秒
  終了:16秒
  画像処理:420秒


結果


画像処理の時間は,Ubuntu をバージョンアップするだけで高速化した.これは予想外であった.
Virtual Box は8コア使って VMware の倍のCPU利用率があるのにもかかわらず,処理速度にそれほどの向上はなかった.これは,そもそも画像処理のコーディングが並列での問題をほとんど考慮せず,for 文をパラレルにしただけだからかもしれない.Virtual Boxのオーバーヘッドが大きいのかもしれない.この辺りの問題は切り分けられていない.
というか,高速な画像処理したいならちゃんとしたアルゴリズムを設計したり, GPGPU とかを使えということはある.

操作感だが,Virtual BoxのUbuntuは動作が鈍い.カーソルが遅れてついてくる.ビデオメモリをもうちょっと多く取れれば良いのかもしれないけど,どうしようもない.それに,インストールと,ゲストの起動に時間がかかりすぎており,とても耐えられない.


というわけで,私の中では VMware の勝ちとして,これからも使い続けようと思う.

0 件のコメント:

コメントを投稿