姫野ベンチの使用方法・測定結果一覧 (Linux編)
無償で利用できるベンチマークソフト「姫野ベンチマーク」(略称:姫野ベンチ)を用いて、LinuxサーバのCPU性能・メモリ性能を測定する際の手順メモです。姫野ベンチの公式サイトからソースコードをダウンロードしてコンパイルします。コンパイラはgccを使用しています。
姫野ベンチとは「ポアッソン方程式解法をヤコビの反復法で解く場合に主要なループの処理速度を計る」ベンチマーク用プログラムで、CPUの性能だけではなくメモリの性能が処理速度に大きく影響する“メモリバウンドな”性能特性を持っています。
今日、DBMSやWebアプリケーション等、多くのソフトウェアの実行速度がメモリ性能の影響を受けています。そして、姫野ベンチによる測定結果は、このようなソフトウェアの実行速度と相関関係を持ちます。姫野ベンチの測定結果は、異なるハードウェア上でのソフトウェアの実行速度を予測する際にも役立てることができます。
姫野ベンチのインストール手順
ディレクトリの作成
$ cd /home/user $ mkdir himenobench $ cd himenobench
ソースコードのダウンロード
次のURLより、LZH形式で圧縮されたソースファイルをダウンロードして下さい。
この手順メモでは、ソースコード(C, static allocate version)、問題サイズ「M」(256 x 128 x 128)の「cc_himenoBMTxp_m.lzh」を選択しています。
http://accc.riken.jp/supercom/himenobmt/download/win-mac/
なお、問題サイズ「M」(256 x 128 x 128)の場合、ベンチマーク実行中、姫野ベンチが約226MBのメモリを使用します。swapが発生する環境ではCPU性能の正確な測定ができないため、メモリ容量には注意が必要です。
lzhファイルの展開
LZH形式で圧縮されたソースファイルをlhaコマンドで解凍します。lhaコマンドで解凍した際、ファイル名が小文字になるため、解凍後にmvコマンドでファイル名を変更します。
$ cd /home/user/himenobench $ lha e cc_himenoBMTxp_m.lzh $ mv himenobmtxps.c himenoBMTxps.c
Ubuntu等、デフォルトでlhaが導入されていないディストリビューションでは、そのままではlzhファイルを展開できません。このような場合は、apt-getコマンド等でlhaを追加インストールして下さい。
$ sudo apt-get install lha-sjis
make
$ make
姫野ベンチの実行手順
実行前の空きメモリ容量確認
姫野ベンチは実行中に大量のメモリを使用するので注意が必要です。swapが発生する環境では正確に測定できないため、実行前にfreeコマンド等で空きメモリ容量を確認した上で実行して下さい。(問題サイズ「M」の場合、約226MBのメモリを使用します。)
$ free -m
実行
次のコマンドでベンチマークを実行します。実行時間は約1分です。
$ ./bmt
実行結果例
測定終了後、次のような実行結果が表示されます。このサーバが「約277MFLOPS」の性能を持っていることが分かります。(測定環境:Pentium 4 1.7GHz , CentOS 3.6 , 2.4.21-37.EL)
mimax = 129 mjmax = 129 mkmax = 257 imax = 128 jmax = 128 kmax =256 Start rehearsal measurement process. Measure the performance in 3 times. MFLOPS: 272.401706 time(s): 1.509959 1.693779e-03 Now, start the actual measurement process. The loop will be excuted in 119 times This will take about one minute. Wait for a while Loop executed for 119 times Gosa : 1.348843e-03 MFLOPS measured : 277.147170 cpu : 58.869485 Score based on Pentium III 600MHz : 3.379844
姫野ベンチの実行手順 – 応用編
並列実行
姫野ベンチの実行コマンド「./bmt」をbashの「&」(Ampersand)で連結することによって、姫野ベンチをバックグラウンドで並列実行することができます。このコマンド例では、姫野ベンチを4並列で実行しています。こちらも実行時間は約1分です。
$ ./bmt & ./bmt & ./bmt & ./bmt &
MPIやOpenMPを利用しない簡易な実行方法ではありますが、このように姫野ベンチを並列実行することで、マルチコア・マルチスレッド環境におけるCPUの全体性能を簡単に確認することができます。
(参考 : ハイパースレッドによるCPU性能向上効果検証 (Linux編) )
測定結果一覧
実環境での測定結果を一覧にまとめました。測定条件等は以下の通りです。
- 他の処理が実行されていない無風時に測定
- 測定結果は5回実行した結果の中央値を「MFLOPS」値で記載
- [ nCPU ] : CPU n個 を搭載した状態で測定
- [ HT ] : ハイパースレッド(Hyper-Threading) ONの状態で測定
H/W | CPU | OS kernel | Compiler | 測定結果 M MFLOPS |
OptiPlex GX115 | Pentium III 800MHz | RedHat 8.0 2.4.18-14 | gcc 3.2 | 122.850446 |
CentOS 3.6 2.4.21-37.EL | gcc 3.2.3 | 122.840955 | ||
Fedora Core 4 2.6.11-1.1369 | gcc 4.0.0 | 87.876103 | ||
OptiPlex GX240 | Pentium 4 1.7GHz | RedHat 8.0 2.4.18-14 | gcc 3.2 | 269.985062 |
CentOS 3.6 2.4.21-37.EL | gcc 3.2.3 | 277.147170 | ||
Fedora Core 4 2.6.11-1.1369 | gcc 4.0.0 | 209.170145 | ||
ML350 G3 | Xeon 2.2GHz 512KB L2 400MHz FSB | CentOS 3.6 2.4.21-37.ELsmp | gcc 3.2.3 | 353.748493 |
[ HT ] | 354.286353 | |||
Xeon 2.2GHz 512KB L2 400MHz FSB | CentOS 4.4 2.6.9-42.ELsmp | gcc 3.4.6 | 355.271809 | |
[ HT ] | 354.204729 | |||
xSeries 335 | Xeon 3.06GHz 512KB L2 533MHz FSB | Fedora Core 3 2.6.9-1.667smp | gcc 3.4.2 | 422.249329 |
[ HT ] | 421.824172 | |||
DL360 G4 | Xeon 3.0GHz 1MB L2 800MHz FSB | RedHat AS 3 2.4.21-37.ELsmp | gcc 3.2.3 | 781.665530 |
[ HT ] | 781.938684 | |||
ProLiant MicroServer | Turion II NEO N40L 1.50GHz 1MB L2 * 2 200MHz FSB | CentOS 6.0 2.6.32-71.el6.x86_64 | gcc 4.4.4 | 900.619741 |
xSeries 336 | Xeon 3.0GHz 2MB L2 800MHz FSB | RedHat AS 3 2.4.21-37.ELsmp | gcc 3.2.3 | 987.895359 |
[ 2CPU ] | 965.870356 | |||
ML110 G4 | Pentium D 925 3.0GHz 2MB L2 * 2 800MHz FSB | CentOS 3.6 2.4.21-37.ELsmp | gcc 3.2.3 | 1018.455729 |
DL380 G4 | Xeon 3.4GHz 2MB L2 800MHz FSB | RedHat AS 3 2.4.21-37.ELsmp | gcc 3.2.3 | 1037.058944 |
[ 2CPU ] | 1036.807118 | |||
OptiPlex 740 | Athlon 64 X2 3800+ 2GHz 512KB L2 * 2 | CentOS 4.5 2.6.9-55.ELsmp | gcc 3.4.6 | 1046.903314 |
ML110 G7 | Celeron G530 2.40GHz 2MB L3 | CentOS 6.2 2.6.32-220.el6.x86_64 | gcc 4.4.6 | 1593.246744 |
ML110 G6 | Core i3-530 2.93GHz 4MB L3 DMI 2.5GT/s | CentOS 6.0 2.6.32-71.el6.x86_64 | gcc 4.4.4 | 1764.820584 |
[ HT ] | 1759.741843 | |||
ML310e Gen8 v2 | Xeon E3-1220 v3 3.10GHz 8MB L3 DMI 5GT/s | CentOS 6.4 2.6.32-358.el6.x86_64 | [ Minimum Power Usage ] | |
gcc 4.4.7 | 1081.751462 | |||
[ Balanced Power and Performance ] | ||||
gcc 4.4.7 | 4507.895914 | |||
[ Maximum Performance ] | ||||
gcc 4.4.7 | 4273.034209 |
関連記事
ハイパースレッドによるCPU性能向上効果検証 (Linux編)
姫野ベンチの使用方法・測定結果一覧 (Windows編)
姫野ベンチの使用方法・測定結果一覧 (Linux編)
STREAMの使用方法 (Linuxメモリ帯域幅の計測方法)
HDDベンチマーク手順+性能測定結果一覧 (hdparm,dd,bonnie++)
Iperfの使用方法 (Linuxネットワーク帯域確認方法)
「Linux」カテゴリーの記事一覧
参考になるサイト
理化学研究所 情報基盤センター – 姫野ベンチマーク
姫野ベンチの公式サイト。ソースファイルの提供や実測結果の一覧も。