| Home | Recruit | Contact Us |
ホーム arrow スタッフの日記 arrow SR1520ML 2009/01/08 Thursday 00:12:06 JST
ホーム
サービス
製品情報
会社情報
スタッフ募集
お問い合わせ
スタッフの日記
かわらばん
社長日記
メルマガアーカイブ





パスワード再発行
ユーザー登録
RSSフィード
メルマガ配信
メールアドレス:

メールアドレス:
SR1520ML プリント メール

今回は1台分の1U筐体に、二台のサーバーが入っている、という 特殊なサーバーについて性能や消費電流の計測をしてみました。 搭載されているCPUは、片方がXeon X3360(クアッドコア)、 もう片方がPentium Dual-Core E5200(デュアルコア)です。

Image

評価環境

機器の構成

筐体の中にはいっている、二つのユニットをそれぞれAとBと呼ぶことにします。

CPU (A)Xeon CPU X3360 @ 2.83GHz、クアッドコア
(B)Pentium Dual-Core CPU E5200 @ 2.50GHz、デュアルコア
メモリ (A、Bそれぞれに)Kingston 2GB×4 計8GB

ソフトウェア

実験環境のLinuxカーネルのバージョンと、gccのバージョンは以下のとおりです。

$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-
c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr
/lib --without-included-gettext --enable-threads=posix --enable-nls --program-s
uffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug
--enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
$ uname -a
Linux diag 2.6.26-net01edac #9 SMP Tue Sep 30 20:28:16 JST 2008 i686 GNU/Linux

測定方法

このマシンはファンや電源など、一部の部品をAとBの二つのユニットで共有しています。 そこで、その「共有部分」は、少なくとも片方が動いていれば動作し、 さらにその消費電力は常に変わらないと仮定し、

  • Aだけを動かした状態(A+共有部分)
  • Bだけを動かした状態(B+共有部分)
  • AとBの両方を動かした状態(A+B+共有部分)

の三つの動作状態関して消費電力を測定し、それぞれの部分(Aのみ、Bのみ、共通部分のみ)について推定消費電力を算出します。 それぞれの状態に関しての計測方法は今までと同じように、以下の手順で行いました。

  1. サーバーをネットワークブートし、ディスクレスで起動
  2. wgetでlinuxのカーネルソース(linux-2.6.20)をダウンロードする
  3. linuxのカーネルソースをtmpfs上に展開する
  4. 展開したカーネルソースディレクトリに移動し、make menuconfigを実行、なにもせずに終了し.configを作成
  5. 「make -jn」で、nの数値(同時に実行できるジョブ数)を変えながら、コンパイルを実行させたときの消費電力や時間などを測定する

測定結果

処理時間

同時実行数A(Xeon X3360)B(Pentium Dual-Core E5200)
時間CPU使用率 時間CPU使用率
-j13m32.239s1.0084m8.054s1.005
-j21m47.542s1.9732m18.505s1.866
-j31m14.751s2.8342m12.735s1.960
-j41m1.502s3.487 2m12.729s1.967
-j60m58.487s3.6952m13.534s1.961
-j80m57.941s3.7502m13.475s1.969
-j100m58.134s3.7532m13.602s1.968
-j120m57.527s3.8022m13.636s1.969

上の表は、カーネルのコンパイルにかかった時間と、処理時間の表です。 CPUの使用率は、「(ユーザー時間+カーネル時間)/実際にかかった時間」を計算したものです。 以前の評価結果と同様に、CPUのコア数(Aの方は4コア、Bのほうは2コア)と同数以上の同時実行数で 最大の性能が出ています。

A側に関して、以前Xeon X3350を計測した結果(http://www.clustcom.com/content/view/139/32/)と比較してみます。 X3350の結果と比較すると、今回の方がやや早い、という結果が出ています。 コンパイル時間の比(X3350÷今回の数値)は、例えば同時実行数が12のとき1.11、クロック周波数の比は1.08なのでほぼ一緒です。 この差は、クロック周波数の差から発生していると考えられます。 つまり、通常のサーバーと、今回のサーバーの片方では、性能的な差はあまりないと考えても良さそうです。

消費電流

カーネルコンパイル中の消費電流のグラフを示します。

まずはA側のみを動かしている状態で計測したグラフです。 Image CPUアイドル時の消費電流は1.13(A)、ピーク時は1.65(A)です。

次に、B側のみを動かしている状態で計測したグラフです。 Image CPUアイドル時の消費電流は1.03(A)、ピーク時は1.24(A)です。

最後に、A、Bの両方同時に動かして、両方とも何もしていない時のアイドル時電流と、 両方同時に、実行数12でカーネルコンパイルしているときの消費電流を調べました。

結果は、アイドル時が1.44(A)、ピーク時(コンパイル時)が2.21(A)。

それぞれの部分の消費電流

上記の結果から、それぞれの部分(Aのみ、Bのみ、共有部分のみ)の消費電流を計算してみました。
(単位はすべてアンペア)

部分アイドル時ピーク時
Aのみ0.410.97
Bのみ0.310.56
共通部分のみ0.720.68

これを見ると、共通部分の消費電流は、アイドル時でもピーク時でもおよそ0.7(A)で、比較的割合が大きいことが分かります。

まとめ

今回のサーバーは、1Uで2台分使うことが出来ます。 速度を比較してみると、計算性能の面では、通常の1Uと大きな差はないという事が分かります。 しかし、消費電流が大きな部分が、共有部分になっているので、 2台別々にサーバーを用意するより、大幅に省電力ということになります。

最終更新日 ( 2008/11/27 Thursday 15:52:57 JST )
 
< 前へ   次へ >
Linux、クラスタ、1Uサーバのクラスターコンピューティング(株)
© 2002-2009 Cluster Computing Inc. All rights reserved.