コンピューター将棋でXeon Dual構成はアリなのか?

とりあえず20コア×Dualで物理40コア、論理80コアのPCが1台届いた。早速これをコンピューター将棋に活用していこうと思うのだが、結構嫌らしい問題があることに気づいたのでざっと書きとどめておく。

論理コア80。これが意外とやっかいである。

Windowsの場合、論理コアが64を超えているのでこのときプロセッサグループを2つ作る。プロセッサグループとはなんぞや?と思われるかも知れないが、その説明を書き出すと話が終わらない。ここでは、1つのプログラムが利用するのは、通常、1つのプロセッサグループなのだと思って欲しい。

そうすると、普通にプログラムを書くと片側のXeonしか使われない。どちらのCPUを使うかは、タスクマネージャーなどから設定できる。詳しくは「thread affinity 設定 windows」などでggrks。

それで両方のXeonを使いたいときは、明示的に複数プロセッサグループを使うようなプログラムを記述しないといけない…らしい。そんなこと今日、初めて知ったよ。そのようなプログラムをGroup-awareアプリケーションと言うらしい。「Group-aware」でググっても「もしかして、groupware?」とか表示されるが、もしかしないわけだよ。

あと、Nehalem以降、メモリがCPUに直接接続するアーキテクチャが主流らしく、Dual XeonなPCは、「メモリとXeon(CPU)」× 2 みたいな構成になってるわけだな。別のプロセッサグループのメモリにアクセスするとそこそこ遅延が発生するらしい。それはそれで嫌なわけだ。

BIOSでHTをオフにして論理40コアに見せるとプロセッサグループは1つになる(たぶん)と思うのだが、これは論理コアが半分になってしまうので損だし、上述の理由からもよろしくないと思われる。オーバーヘッドがどれくらいになるのかは計測していない。

結局、1PCのなかで棋譜生成をするとして、棋譜生成プログラムを2つ走らせるのが合理的であるようだ。(それぞれを別々のプロセッサグループに割り当てるのを忘れずに。)

こうして考えると、Windowsのこの64論理コアまでを1つのプロセッサグループとみなす機能は、余計なお世話ではなかろうか。Xeon Phiとか最上位モデルは72コア(×4スレッド)なわけだが、あれを勝手に64論理コアごとにプロセッサグループに分けられては困るように思うのだが…。(あるいはXeonが近い将来1CPU 32物理コア超えになるだろうに、この仕様のせいで64論理コアまでしか1つのアプリから使えないのはどうなんだろう…。Group-awareアプリにしろってことなのかな…。)

2016/07/06 21:00 追加

OS側に全CPU(dual CPUの両方)を割り当てる設定などはなく、起動時にならそれっぽいことが出来るようだ。(…が、いまどきのCPUアーキテクチャでは、これは、やらないほうが良いのかも…)

Microsoft KBA 2506384 – How to manually configure K-Group assignment on multiprocessor machines.

コンピューター将棋でXeon Dual構成はアリなのか?」への8件のフィードバック

  1. ブルジョアだー。ブルジョアがいる~。というのは冗談ですが。
    うらやましい悩みです。知りませんでしたよ。
    多分64ビット変数にマップできるのが64個までだからとかいうような予感。予感。管理上の都合かなーと。
    屋根さんは今、未来を走っているのですね。尊敬です~。

    • threadのaffinity(スレッドが使用するコアを選ぶ機能)を設定するAPI、64bit変数を使ってbit列として選ぶようになってるんですけど、あのAPIが糞設計なために尾を引いてる気はしなくもないです。(本当のところどうなのかは知りませんが)

  2. Group-awareに出来ないようなのがNUMA-awareに出来るとは思えないし、それならNUMAノード境界に沿ったグループに閉じ込められてた方がましだと思うけどな

  3. すかい○ーくのi3で初めてHTTなCPUを使ったけど、あえてHTT非対応とか、コア数少なめでクロックでぶん回すとか、そういう選択の方が良い気もした。
    でも、コア数が多過ぎると、絞りきれていない雑巾の横にひたひたに水分を含んだ新たな雑巾を投入したり、雑巾を絞ってる横で雑巾の縫い直しをしたりとかできて便利そうw

  4. 今回、やねうおらさんが購入されたPC(ワークステーション?)のメーカやモデル名を教えていただけないでしょうか。

    • 個人商店でのBTOですね。
      ・工学ドライブ不要
      ・VGA不要
      ・キーボード、マウス不要
      ・HDD不要(小さなSSDのみで良い)
      ・OSは自前でインストールさせて欲しい(Windowsライセンスが余っているので)
      みたいな注文は結局小回りの利くお店でのBTOでしか無理なのかなと…思いました。

      気になるお値段ですが、AWSを長期間使うことを思うと結局は安いのかなと。(いう程度の値段です)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です