姫野ベンチの使用方法・測定結果一覧 (Linux編)

120px-Crystal_Clear_app_kalarm

姫野ベンチの使用方法・測定結果一覧 (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/WCPUOS
kernel
Compiler測定結果 M
MFLOPS
OptiPlex
GX115
Pentium III
800MHz
RedHat 8.0
2.4.18-14
gcc 3.2122.850446
CentOS 3.6
2.4.21-37.EL
gcc 3.2.3122.840955
Fedora Core 4
2.6.11-1.1369
gcc 4.0.087.876103
OptiPlex
GX240
Pentium 4
1.7GHz
RedHat 8.0
2.4.18-14
gcc 3.2269.985062
CentOS 3.6
2.4.21-37.EL
gcc 3.2.3277.147170
Fedora Core 4
2.6.11-1.1369
gcc 4.0.0209.170145
ML350 G3Xeon 2.2GHz
512KB L2
400MHz FSB
CentOS 3.6
2.4.21-37.ELsmp
gcc 3.2.3353.748493
[ HT ]354.286353
Xeon 2.2GHz
512KB L2
400MHz FSB
CentOS 4.4
2.6.9-42.ELsmp
gcc 3.4.6355.271809
[ HT ]354.204729
xSeries 335Xeon 3.06GHz
512KB L2
533MHz FSB
Fedora Core 3
2.6.9-1.667smp
gcc 3.4.2422.249329
[ HT ]421.824172
DL360 G4Xeon 3.0GHz
1MB L2
800MHz FSB
RedHat AS 3
2.4.21-37.ELsmp
gcc 3.2.3781.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.4900.619741
xSeries 336Xeon 3.0GHz
2MB L2
800MHz FSB
RedHat AS 3
2.4.21-37.ELsmp
gcc 3.2.3987.895359
[ 2CPU ]965.870356
ML110 G4Pentium D
925 3.0GHz
2MB L2 * 2
800MHz FSB
CentOS 3.6
2.4.21-37.ELsmp
gcc 3.2.31018.455729
DL380 G4Xeon 3.4GHz
2MB L2
800MHz FSB
RedHat AS 3
2.4.21-37.ELsmp
gcc 3.2.31037.058944
[ 2CPU ]1036.807118
OptiPlex 740Athlon 64 X2
3800+ 2GHz
512KB L2 * 2
CentOS 4.5
2.6.9-55.ELsmp
gcc 3.4.61046.903314
ML110 G7Celeron G530
2.40GHz
2MB L3
CentOS 6.2
2.6.32-220.el6.x86_64
gcc 4.4.61593.246744
ML110 G6Core i3-530
2.93GHz
4MB L3
DMI 2.5GT/s
CentOS 6.0
2.6.32-71.el6.x86_64
gcc 4.4.41764.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.71081.751462
[ Balanced Power and Performance ]
gcc 4.4.74507.895914
[ Maximum Performance ]
gcc 4.4.74273.034209

関連記事

ハイパースレッドによるCPU性能向上効果検証 (Linux編)
姫野ベンチの使用方法・測定結果一覧 (Windows編)
姫野ベンチの使用方法・測定結果一覧 (Linux編)
STREAMの使用方法 (Linuxメモリ帯域幅の計測方法)
HDDベンチマーク手順+性能測定結果一覧 (hdparm,dd,bonnie++)
Iperfの使用方法 (Linuxネットワーク帯域確認方法)
 
「Linux」カテゴリーの記事一覧

参考になるサイト

理化学研究所 情報基盤センター – 姫野ベンチマーク
姫野ベンチの公式サイト。ソースファイルの提供や実測結果の一覧も。