次のページ 前のページ 目次へ

3. Linux ベンチマーク ツールキット (LBT)

Linux 用の基本的なベンチマークツールキットの拡張と改良の為の提案 です。これに価値があるかお手にとって下さい。つまり、作業中という ことです。これが効果的なテストスイートではないと思ったら 気軽に提案を電子メールで筆者宛てに送付してください。出来るだけ 喜んで変更と改良を行うでしょう。とはいっても議論に入る前に、この HOWTO とここで述べた参考文献を読んでください。情報のある批評は 歓迎しますが、中身のない批評は歓迎できません。

3.1 理論的根拠

まさに一般常識ですが:

  1. ベンチマークは一日中実行するべきものではありません。比較ベンチ マーク (色々実行します) の場合は、だれもそのシステムの最速の設定を 決定するのに何日も努力したくはありません。理想的には、すべての ベンチマーク一式を平均的なマシンと比較するのに 15 分程度かかるで しょう。
  2. 明らかな理由で、LBT で使用しているソフトウェアのすべての ソースコードは自由にインターネットで利用できなければなりません。 多分、GNU/GPL ライセンスに準拠するでしょう。
  3. ベンチマークは測定した性能を簡単な数値で提供するべきです。
  4. 合成ベンチマークとアプリケーションベンチマークの混合物 であるべきです(もちろん分離した結果と共に)。
  5. 合成 ベンチマークのそれぞれは個々のシステムの 最大容量を使用するべきです。
  6. 合成 ベンチマークの複数の結果を一つの価値ある数値 に平均してはいけません。合成ベンチマーク全体の考え方を 無視できない程の情報の損失を伴って失敗します。
  7. アプリケーションベンチマークは Linux システム上で一般に動作 するタスクであるべきです。
  8. 結果の分散は同じマシンで同一もしくは同様の負荷状況で継続的 に実行した場合、 1 か 2 % より小さいでしょう。殆んどの ベンチマークでは説得力のある必要条件であることに注意してください。

3.2 ベンチマークの選択

できるだけテストの重複を避けるように 5 つの色々なベンチマーク を選択しました。:

  1. Kernel 2.0.0 (標準構成) の gcc によるコンパイル。
  2. David C. Niemi による UnixBench ベンチマーク バージョン 4.10。 このバージョンの UnixBench は Double Precision Whetstone テストを 含んでいます。
  3. Kazuhiko Shutoh による Xengine 1.0 。
  4. Uwe Mayer により変更された BYTE Magazine の BYTEmark ベンチ マークのベータリリース 2 。

3.3 テスト存続期間

  1. Kernel 2.0.0 コンパイル: 5 - 30 分、システムの真の 性能に依存します。
  2. UnixBench ベンチマーク バージョン 4.10: 推定 15 分。
  3. Xengine: 5 秒。
  4. BYTEmark ベンチマーク: 推定: 10 分。

3.4 コメント

Kernel 2.0.0 コンパイル:

UnixBench version 4.10:

Xengine:

BYTE マガジンの BYTEmark ベンチマーク:

3.5 考えられる改善

理想的なベンチマークスイートは各サブシステム別の合成ベンチマーク と、異なるアプリケーション用の結果を得るアプリケーション ベンチマークを数分で実行するでしょう。そのベンチマークスイート は自動的に全てのレポートを作成し、最終的にレポートを Web 上の中央の データベースに電子メールを送付し、更新するでしょう。

我々は今までまったく OS 間の移植性について興味を持っていませんでした が、ごく最近 Linux のバージョン (> 2.0.0) と各種プラットフォーム (i386, Alpha, Sparc 等) で少なくとも実行できます。

テストはまたとても不便な "特徴" を持っています。: UnixBench と BYTEmark テストの指標は異なる参考マシンを基にしています。それぞれの テストの結果を無効に出来ないことにいらいらします。

次の領域は改良のために必要です。:

  1. ネットワークベンチマーク: 単純、簡単で信頼できる方法で短時間 (設定から実行までで 30 分以下で)のテストネットワーク性能の ベンチマークについての着想をお持ちの方は、筆者まで連絡下さい。
  2. X ベンチマーク: X 用のアクセラレータ関数を働かせるには 真の 8, 16, 24 と 32 ビットが必要です。
  3. Web サーバベンチマーク: 殆んどの Linux ユーザは商用の PC 機材 + Linux + Apache サーバデーモンで汎用目的の Web サーバを実現しています が、そのようなマシンでのベンチマークは異なる性能の指標を示します。 WebStone 2.01 は良い候補だと思います。
  4. ゲーム性能: Doom とか Quake のベンチマークは興味があるでしょう。 筆者は Quake が Pentium 用に手による最適化コードが含まれていると聞いて いて Linux システムの汎用目的のベンチマークには向かないので、 Doom ベンチマークの準備をしています。Doom と Quake の基本的な問題はソース が利用可能でないことです。

3.6 LBT レポートの書式

このテスト以外にも、設定を説明している書式なしではベンチマーク手順 は完全ではありません。よって、ここに示します。(次は comp.benchmarks FAQ からのガイドラインです)


LINUX BENCHMARKING TOOLKIT REPORT FORM


CPU 
===
Vendor: 
Model: 
Core clock: 
Motherboard vendor: 
Mbd. model: 
Mbd. chipset: 
Bus type: 
Bus clock: 
Cache total: 
Cache type/speed: 
SMP (number of processors): 


RAM 
=== 
Total: 
Type: 
Speed: 


Disk 
==== 
Vendor: 
Model: 
Size: 
Interface: 
Driver/Settings: 


Video board 
=========== 
Vendor: 
Model: 
Bus:
Video RAM type: 
Video RAM total: 
X server vendor: 
X server version: 
X server chipset choice: 
Resolution/vert. refresh rate: 
Color depth: 


Kernel 
======
Version: 
Swap size:


gcc 
=== 
Version: 
Options: 
libc version: 


Test notes 
==========


RESULTS 
======== 
Linux kernel 2.0.0 Compilation Time: (minutes and seconds) 
Whetstone Double Precision (FPU) INDEX: (report both the result in
MWIPS and the index)
Unixbench 4.10 system INDEX:
Xengine: (results are in RPM)
BYTEmark integer INDEX:
BYTEmark memory INDEX:


Comments* 
========= 
* This field is included for possible interpretations of the results, 
and as 
such, it is optional. It could be the most significant part of your 
report, 
though, specially if you are doing comparative benchmarking. 

3.7 ネットワーク性能テスト

ネットワーク性能のテストは、最低 2 つのマシン (サーバとクライアント) を必要とするので 2 回設定し、たくさん管理するための数値を設定等しま しょう。TCP/IP イーサネットネットワーク上では、最高の選択は ttcp パッケージだと思います。若しくは netperf かもしれません。

3.8 Symmetric Multi Processing (SMP) 対称型マルチプロセッサテスト

SMP テストはもう一つの挑戦です。SMP 用に特有に設計したベンチマーク は実用になるマルチプロセッシングの優位性を発揮するアルゴリズムを 開発するのが困難なので SMP 自身を調査するのが困難な期間がありました。 Linux はユニ(単一)プロセッサ(UP) OS として開始しましたが、Linux カーネルの最新版 (大体 > 2.1.30)では "きめ細かい" マルチプロ セッシングを行いますが、今の段階ではこれ以上の情報はありません。

David Niemi によれば、" ... shell8 が SMP と UP モードの 類似したハードウェア/OS を比較するのに良い仕事をします。"


次のページ 前のページ 目次へ