ちょっと試算

全幅探索するとして…

比較的手が広い局面で150手の場合、現在一手約6秒掛かります。

6秒 x 150手 = 900秒 = 15分

…では論外ですな。当然並列処理しますので割り算になります。
使用時間を20秒とした場合、

900 ÷ 20 = 45コア

…となんだか手の届く感じ。でもクラウドのマシンはそんなに速くはないと予想されるので2倍を見積もって 90コア ですか…
まあ最初から150コア体制なら十分ですが。

まあこれなら一般人でも手の届く範囲みたいな感じですね。

投稿者: webMaster 投稿日時: 金, 07/06/2018 - 15:43 categories [ ]

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。

分散処理が分散してくれない P2

仕様書は読むものデス。これで探索を分散分担出来るようになりました。

~~~~~~~~~~

備忘録 - この探索では 並び替え を多用しますが、考えたら…探索の結果、順番が変わらない場合はやらなくてもよろしい…はずなので、改造しましょう。

分散処理が分散してくれない

…なんか狂っていますのう。

リモート処理が2台なら正常なのですが、3台になると変になりますな。面倒くさいなり。打つべし。

~~~~~~~~~~~~~~~~~~~

ナルホド、ナルホド… SLA(Service Leval Agreement)なるのもがあり、これで処理を委託するマシンを指定できる…らしいです。素敵。

静的探索は無敵

…だと思う。

ある程度まではできるけど

…そこで壁に当たりますな。

まあ、そ~ゆ~時は小さい穴開けてチクチクと…ですね。

テスト対局

…出来るようになりました。

設定周辺のコードの整理が必要ですが、最低限の対局条件はみたしていますにゃん。

巡り巡って置換表 P2

…と、思ったらデータ構造拡張しないといけないです。後回しですな。

巡り巡って置換表

…は今回使用の探索には向かない…と思っていました。 ⇐ 以前の稚拙な実装で失敗したので

再考すると…

ゲーム木内のノードで ある程度訪問したノードの評価値は信用する にあたると思われるのでハッシュテーブルを再導入してみます。

探索の方は形になってきたので

…将棋所で対局出来るようにしませう。目標今週末。

例年は4月になってからなのですが(だから選手権対局中バグる)、今年は異常にペース速いですな。
あと…探索 深さと広さ のバランスを模索中。

広さを考慮せず深さだけで探索したら2800手読みました… 両者飛車がピコピコ動く千日手ですが。(笑)

GC GC GC P2

使用するJavaを8から10にアップグレードしたら何にもしなくても解決しました。

10は8より少々遅いみたいですが、GCが飛躍的に速く効率が良いので考慮する必要が蒸発しました。

GC GC GC

GC = Garbage Collection = プログラム作動中要らなくなったメモリーを開放し、再使用出来るようにすること
…を少々考慮タイムです。

普通のプログラムならJavaの方で道中管理してくれますが、将棋ソフトは規格外なのでここも考えないと駄目です。

再構築ほぼ完成

…ローカルで探索するのと同速度で仕事出来るようになりました。

次の小ステップはこれを複数のノードでのスケールアップですね。
道は長いです。打つべし。

遠隔処理部分総分解再構築真最中

漢字が多すぎる文は季節のせいか暑苦しいです。

あさってのために

…忘れる前に…

現在、探索は 探索木をルートから降りて行く を繰り返すのですが… ⇐ これが自然な実装だから

PVを記録しておき、そこから枝分かれした方が多分カナリ速い…と思いますな。
そうすれば盤面データを更新(手を進める・戻す)しなくても良いのでその分速くなる…であろう。

但し、実装がややこしくなるので遠隔処理が安定してからです。打つべし。

知らないコトはしたことないコト P3

あれこれ枷になると思われる部分を交換したら多コアでも満足できる速度に達しました。

コア数が2倍になっても効率は2倍にはならないので、程々のコア数(4~6が適数みたい)のマシンを多数用意するのがよろしいみたいですな。

知らないコトはしたことないコト P2

その後色々調査しました…

どーも我が未熟でコア多の環境でCPUを使い切っていないみたいですね。
普段は4コア程度しか使わないので(多)場合での経験・知識が足らんみたいです。

修業してきます。打つべし。

知らないコトはしたことないコト

…同じプログラム走らせてLinux環境が異常に遅かったのでグーグル教授にお伺い…

なになに、Linuxでは時刻関数が遅いので多用すると影響でます…とな。
これは驚きです。初耳でした。善処させていただきます。

あまぞんAWSのアカウント作りました P5

??? 何だか遅い…確信的に遅いです。

同じ設定(8スレッド)で試験しましたが、AWSは コア多 ではあるが、そんなに速くないです。

ラップトップは4コア
AWSは8コア

…であることを考慮すると駄目駄目みたいです。

となればハードの設定は考え直しになりますにゃん。

あまぞんAWSのアカウント作りました P4

…どうやら許可が出たみたいですね。今日は無理ですが、明日から実験・検証です。

その間はコードのお掃除です。

あまぞんAWSのアカウント作りました P3

…さて、コア増量で実験しようとしたら インスタンス生成の制限に達しました とのこと。
限定解除要請が必要とのこと…めんどいのう。

残念ながら明日まで待つことになる模様…

あまぞんAWSのアカウント作りました P2

AWSは仕事で使用しているので設定は簡単楽ちんですのう。

お試しにLinuxのインスタンスを作成してみました。
設定が目的なので低価格の2コア使用でスタートです。後でコア増量します。

ベンチマーク取ってみました… 1コア用ですが。
ラップトップとほぼ同等ですね。次は 36コア でのテストです。

あまぞんAWSのアカウント作りました

我のコードがLinuxでもつつがなく走りましたのでWindowsと比較して半額のLinuxを使役することにしました。
これなら4台使用しても同じ値段!!

96コア…とは言っても

…半分は疑似コアなので実質48コアですのう。

となれば然るべき設定は…

1.2台クラウドマシン使用。疑似コアは設定から停止するべし。
2.探索すべき合法手を2台に振り分ける。

…ですね。

で、更にローカルで上位数手を集中して探索…します。

((追記))

4コア+4疑似コアの場合、総探索ノード数は4コアと比較して~18%増加します。
つまり、4疑似コアの効率は1コアに劣ります。残念。

クラウドとはつまり他人のマシンを拝借することであ~る

https://aws.amazon.com/jp/ec2/pricing/on-demand/

…選手権の上位チームは人外鬼畜の構成ですが、ここは慎ましい設定でコストを試算してみました。

ウインドウズのマシンを8時間レンタルした場合…
(Linuxベースなら約半額です)

m5d.24xlarge 96 345 384 GiB 4 x 900 NVMe SSD 9.84USD/時間

…と、96コアで1時間辺り約千円です。安く見えますな~。
384GBもメモリーがあるけど、ど~するのコレ???

実際の速度は試さないと分かりませんケド…

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。