近年、汎用計算機の低価格化により、非常に多数の汎用計算機をネットワークなどにより結合して分散計算機環境を構築することが容易に行えるようになってきている。 同時に、このような計算機環境において、ある程度長い時間にわたりプロセッサ資源が余剰する状況が起こり得る。この余剰のプロセッサ資源において、近い将来に役立つであろう仕事を前もって実行しておく「投機的実行」が試みられつつある。 本研究ではゲーム木探索の応用プログラムにおいて、投機的実行を適用させることを考えた。すなわち、ゲーム木探索において通常時間がかかる仕事(たとえば、局面の評価値の計算)を前もって実行しておき、実際に必要となった時にその結果を利用することにより、応答時間の大幅な短縮を試みるものである。 その第1ステップとして、同一あるいは類似の局面の計算を何度も行わないようにするためのハッシュ表を複数の計算機間で共有するための機構を設計・実現した。この「共有ハッシュ表」を用いれば、余剰のプロセッサにおいて次々と新たな局面を生成・評価値を計算し、ハッシュ表に格納するという仕事を投機的に実行させることができる。ゲーム木探索のメイン・ルーチンが実行される際に、前もって投機的実行により作成されたハッシュ表にヒットした場合には、計算時間を大幅に短縮させることができるものと予測される。 上記の共有ハッシュ表の基礎的な性能を評価したところ、その利用のコストは小さく、結果としてゲーム木探索の応用プログラムの性能向上が図れるという見積りがたてられた。
|