CELLプロセッサ--cellutils で性能評価 take.2

HOME > 社内活動 > CELLプロセッサ > cell > cellutils > cellutils で性能評価 take.2

cellutils で性能評価 take.2-CELLプロセッサ

topics

前回 は cellutils の bandwidth という RAM-...

image

前回 cellutils の bandwidth という RAM-LS 間の性能を測るソフトを使用しましたが、今回は eip_bandwidth をいうソフトを使用して、EIB (Element interconnect bus) 自 体の性能を測ってみます。

このソフトも 6 SPE の PS3 ではそのまま使用できませんでしたので修正を 加えています。

試してみたい方は、前回と同様に cellutils に以下の patch を適用し、 eib_bandwidth を make してください。

patch-cellutils-r68-eib_bandwidth-0.1

eib_bandwidth 概要

  • 任意の 2 SPE でペアを作り、ペアとなる SPE 同士で LS - LS の DMA 転 送 (get) を 1.6GB 行う。よって、8 SPE の場合の総転送量は12.8GB (1.6GB*8)。
  • どの SPE でペアを作るかが選択可能 (-p) となっている (選択によって測 定値は変化する)。
  • SPE 数が 8 限定だったので、PS3 用に 6 SPE に修正。ペアのパターンも 5 種類作成。総転送量は 9.6GB (1.6GB*6)。

実行結果

パターン (-p) SPE pair bandwidth (GB/s)
0 0 <-> 3 152.513342
1 <-> 4
2 <-> 5
1 0 <-> 1 137.775224
2 <-> 3
4 <-> 5
2 0 <-> 2 141.184581
1 <-> 4
3 <-> 5
3 0 <-> 5 151.451285
1 <-> 4
2 <-> 3
4 0 <-> 4 115.377573
1 <-> 5
2 <-> 3

簡単な考察

EIB の理論値 204.8 GB/s より測定値 (最大値 152 GB/s) が低い

  • たしかに EIB は 204.8GB/s だが、EIB - SPE 間の帯域は 25.6GB/s であ り、25.6*6=153.6GB/s なのでほぼ理論値に等しい値と言える。

理論値よりかなり低い値 (141GB/s, 137GB/s, 115GB/s) の場合がある

  • 付属の README に 8 SPE の場合の測定値が書いてあるが、こちらも理論値 よりかなり低い値の場合がある。
  • EIB は、時計回り 2 本、反時計回り 2 本の計 4 本のバスから構成されて おり、どっち回りのバスを使用するかは転送対象となる LS (SPE) のバス上の距 離によって決まる。理論値より低い値の場合は、転送が片方の回りに偏ったこと によって起こっていると思われる。
  • 上記が正しいとすると、最適化方法の一つとしてどの処理をどの SPE に割 り当てるかということが浮上してくる。が、PS3 の場合は LSI の歩留まりを向上 するために物理的に 1 SPE 殺しており、かつどの物理 SPE が殺されているかわ からないため、この最適化をやりすぎると動作する PS3 と 動作しない PS3 と か出てくるかもしれない。かな、、

最悪時のパターンは?

  • 付属の README によると理論値の 1/2-1/3 になる場合もあるようなので、 もっと悪い場合のパターンもあるかもしれないが、ソフトから見える SPE が物 理的にどの SPE なのかわからないので今回は追求していません。

トラックバック

トラックバックURL:

コメントを投稿


※上に表示されている番号を入力してください



HOME |  企業情報 |  事業内容 |  採用情報 |  社内活動 |  お問合せ |  サイトマップ
.
Copyright(c)2006 Sijam.Inc all rights Reserved
システム開発 株式会社シジャム