ここでソフトとハードの良いとこ取りを目指したハイブリッド探索と、並列化の効率について考えてみる。なお、ここで示す数字は、あくまで時間あたりの表面的な探索量であって、それが棋力と直結しているか否かについては議論しないことにする。システムとして意味のあるハイブリッド探索および探索の並列化が行われているかを先に問うのが目的だからだ。

まず、DeepBlueIIでは、30個のCPUと480個の探索コアを用い、各CPUが16個のコアを制御していた。現時点でのHydraでは32個のCPUと32個の探索コアを用い、各CPUが単に1個のコアを用いるだけである。DeepBlueのコアは毎秒200~250万局面を探索するが、システム全体では毎秒1~2億局面[*1]で、実質的な効率は10~20%と公表されている。現Hydraのコアは毎秒約600万局面を探索する計算になり[*2]、単に32倍すれば毎秒約2億局面だが、システム全体で見た時の実稼動率を50%とすれば、毎秒1億局面程度の性能となる。

左の表は"The Chess Monster Hydra"から引用した。2プロセッサ時の効率99.7%については信憑性を問いたくなる[*3]ような数字だが、それは置いておくとして、4~8プロセッサ時の数字に着目すれば、約87%まで効率が落ちている。更に16、32、64プロセッサと並列数が増えれば、ますます実効率は落ちるだろう。これは主に通信オーバヘッドに因る。元々CPU-FPGA間通信で約20%のロス[*4]があり、CPUノード間の通信オーバヘッド(特にレイテンシ)は、それが光ファイバを使っていようと大きいし、またノード間で置換表を共用して並列探索を行っているわけではないので、無意味な重複探索を避けらない。それ以外にもプロセッサが遊んでしまう状況はいろいろある。そこまで考えれば、トータルの性能損失率は50%どころではないかも知れない。


余談だが、先のChrillyからのメイルによれば、Hydraは将来的に64CPUs/64FPGAs構成を計画しているようだ。現在使われているFPGAカード1枚にコアを2個以上載せるだけの資源があるので、再度128coresにして動かしてみたい気はする。Chrillyは「僅か10%しか高速化しなかった」と言っていたが、逆に言えばそのような構成で効率を上げる為の制御アルゴリズムが存在するように思えるからだ。

因みに、"The Hydra Project"によれば、現在、VirtexIIProのXC2VP70を用いていることになっている。このFPGAはslice数で最大33,088のプログラミングが可能なものである。Chrillyの探索コアは9,879slices、それを3倍しても29,637slicesなので「気合で3個のコア」を載せられそうだ。しかし、そういうことをすると一回の合成・配置・配線(言わばコンパイル&リンク)にまる一日を要したり、その配置・配線が変化してクリティカルパスの遅延時間が延びる[*5]といった思いもよらぬ事がいろいろ起きて、ますます破綻[*6]する事がある。

さて、最終形と思われる64CPUs/64FPGAs構成のHydraのハードウエア原価は(人件費を除く、全パーツ代という意味で)どれくらいになるだろうか。1つのデュアルノードが、2CPUs+2FPGAsで\1M程度、それが32ノードで\32M、32ノードの光ネットワーク=I/Fカード+光ファイバケーブル(これが結構高かったりする)+HUBのセットで\5M以上、周辺機器、収納ラック、その他もろもろを含めたコストをざっと計算して\40M前後ではないかと予想できる。\40Mといえば、Ferrari F40の(当時の日本での)新車価格であり、HONDA NSX-R 3台分である。DeepBlueの総製作コストの1/100以下かもしれないが、それでも個人では到底用意できる金額にならない。嫁に破門にされ、娘に勘当される覚悟があっても[*7]、借金してまで買う次元の物ではなさそうである。

全く話が逸れるのだが、自分の仕事がらHydraにはちょっと気にいらないところがある。それは消費電力だ。現Hydraですら5kWは喰っているだろうし、64CPU構成なら10kWに達するだろう。完全に京都議定書 を無視したようなシステムである。相手の感覚を破壊する一手を指せるかもしれないが、と同時に地球環境も破壊するように思えるのは私だけだろうか。

-- 続く --


[*1] '97のカスパロフ戦の最終局では毎秒3億5000万局面を探索したという話もあるが、ここでは論文中の数字を引用した。

[*2] 55MHz動作で、1ノードの探索あたり9クロックを要するものとして算出した。

[*3] これこそ「ロス疑惑」である。損失率0.3%というのは、低温核融合 の論文並に疑問符が付く。

[*4] これは "The Hydra Project" にも記述があるし、Chrilly本人もMLでそのようなことを述べている。

[*5] そういうことが良くある。ある程度「遊び」ともいえる空間的余裕が必要。詰め込み過ぎると、特に配線経路が変わり、無視できないほど遅延が大きくなることが起きるし、フロアプランニングも手間が掛かるようになる。

[*6] シミュレーションでは問題なくても、実際にはTDPが増えて熱で動かなくなるという落とし穴もある。

[*7] と言っても、娘以前に嫁を私は持ってない。