FFOテストは
French Federation of Othelloで作成され、終盤解析用ベンチマークとして広く用いられています。
テストでは、終盤解析が比較的困難な局面を対象として最善手探索に要する処理時間を計測します。
並列演算/ネットワーク分散の効果確認用に、1スレッド/2スレッド/ネットワーク分散時の性能を測定しました。
限界性能に近い値を測定するために、置換表キャッシュのサイズはデフォルトよりも大きく設定しました。
ネットワークコンピュータとの接続は比較的低速な無線LAN(IEEE 802.11b)で行いました。
既存アプリとの比較のため、高速ツールとして知名度の高い
ScrZebraとの性能比較も行いました。
ScrZebraはローカルコンピュータ上で-h 24を指定してhashサイズをMRSolverに合わせて使用しました。
測定結果には単一の測定から得られたデータをそのまま使用しています。
このため、システムメモリの状態やバックグラウンドタスクの影響から若干の誤差が含まれている可能性があります。
1スレッド時に比べて2スレッド時には殆どの項目で性能は向上し、総合性能は約20%高速化されています。
ネットワーク分散時にも、多くの項目で性能は向上し、総合性能は高速化されています。
ただし、増強した処理能力に比較して性能向上率は何れの場合にも低い値に止まっています。
これは、並列演算では逐次演算では行う必要がない評価演算を行わなければならない場合が多々あるためです。
1/2スレッドでのTotal処理ノード数は34.9/47.5Gnとなっていて、並列演算時により多くの演算が行われたのが判ります。
処理速度(kn/sec)については9120/15376となっていて、処理能力の増強分に近い効果が得られたのが判ります。
処理時間は処理速度の向上率が処理ノード数の増加率に勝っているため高速化されています。
置換表キャッシュは2スレッド時には共有され、ネットワーク分散時には共有されません。
このため、ネットワーク分散時には2スレッド動作時と若干異なる結果となっている項目もあります。
#50ではネットワーク分散時の性能向上率が極端に高く、#57では低くなっています。
これらの違いは置換表キャッシュの使用形態により発生しているものと考えられます。
#43,#47,#49,#59については2スレッド時に性能が劣化していますが、原因については以下が考えられます。
#43については並列演算を行ったことにより、より複雑な進行を探索してしまった結果と考えられます。
#47,49については、特定の探索路のみが複雑なため、並列化による効果が現れにくいものと考えられます。
#59については、元々の処理が軽いため、並列化によるオーバーヘッド分の速度低下が現れたと考えられます。
HT-Pentium4では処理速度の向上率が小さいため、並列演算を行った場合に性能劣化するケースが多くなります。
このため、HT-Pentium4では最善手探索には逐次演算を使用しています。
全着手評価では最善手探索と比較して処理ノード数の増加率が小さくなるため、並列演算の性能向上率はより高くなります。
以下ではFFOテストの#40〜#58までの全着手をMRSolverに-aオプションを指定して評価させた結果を示しました。
比較データとして、高速ツールとして知名度の高い
WZebraの研究モード性能もローカルマシンで測定しました。
WZebraのバージョンは「4.2.4 December 27, 2005」、Bookは非使用とし、キャッシュサイズは256MBとしました。
MasterReversiでは、ヒント評価/対局分析/全局面評価時等に同様の全着手評価が行われます。
#59については評価時間が膨大となるため、測定を省略しました。
全着手評価ではHT-Pentium4についても並列演算を使用しています。