CPUのサイジング方法がわからないと言われて
SPECintの見方をまとめ。
これでベンダーから高いサーバを買わされずに済む(といいなあ)
※あくまで一般的です!ベンチを鵜呑みにすると痛い目を見ます!
#SPEC CPU2006
##SPEC
SPEC(Standard Performance Evaluation Corporation)は、コンピュータの公平で意味のあるベンチマークを作成することを目指して設立された非営利団体です(wikipediaより)
各ベンダーがベンチマークを提供して成り立っています。
素晴らしいですね!
https://www.spec.org/cpu2006/
ここから調べることができます
##2つのベンチマーク指標
CPUのベンチマーク指標には大きく分けて2つあります
スピード
ある単位のタスクをどれくらい早く完了できるか
スループット
単位時間あたりにどれだけのタスクを完了できるか
SPEC CPUでは、CPU・メモリアーキテクチャ・コンパイラを複合した性能、と位置づけています。
なので、実際にデータを見てみると各ベンダーのサーバーの情報が細かく載っていると思います。
実際の運用結果に近い、意味のあるベンチマークを目指しているということですね。
##2つのテスト
SPEC CPUでは2つのテストがあります。
CINT2006
整数演算により評価するテスト
CFS2006
浮動小数点演算により評価するテスト
整数演算と浮動小数点演算の話は長くなりますが、、、
わかりやすく言うと単純計算か複雑な計算か、ということです。
CPUは独立したユニットを持っているので、
整数演算が得意で浮動小数点演算が苦手、なんてCPUも多々あります。
(昔は整数演算はIntel、浮動小数点演算はAMDなんて言われてましたよね…)
目的に合わせて見るテストを選びましょうってことですね!
私はサーバ屋なんでもっぱらCINTしか見ないです。
CAD?レンダリング?あばばば...
##コンパイルの手法
コンパイルの手法が2パターン、公開されています
右上に書いてある、SPECint_base のbaseの部分などですね!
Base metric
すべてのプログラムで同じコンパイルオプションを使用した結果
Peak metric
それぞれのプログラムでコンパイルオプションを適切に変更して、測定した結果
##スピードとスループット
シングルタスクとマルチタスクの結果も公開されています
SPEC speed metric
一つのタスクを完了するのにかかった時間を評価した結果
SPEC rate metric
複数のタスクを同時に実行したときのスループットの合計から評価した結果
##調べ方
https://www.spec.org/cpu2006/
にアクセスして、
左上のResults Searchか最下部のSearchのリンクをクリック
プルダウンをProcessor(CPU型番)などに変えて、
CPUの型番を入れて(E3-1230とか)検索するだけ!
##なんとなくサイジングするとき
「なるはやでヨロ!」みたいなことを言われた時の計算方法
1)現行のCPUのCINT2006 Ratesを確認
2)スレッド数とCINT2006 Ratesが現行以上のものを提案
3)保証はしませんと3回言う