こぼれネット

これなら「プログラムを一切変更せずに」金の力だけで解決できます!

現在、1万8000人分の毎日のマルチエージェントシミュレーションを行っているのですが、私が持っている最速のマシンでも、1年間(365日)の計算に4.2日かかることが分かりました。

これ、お金で解決するなら、なんとかしたいと思います(とは言え、10万円くらいを上限でお願いします)

現状の条件は下記の通りです。

(1)Postgresql + PostGISで、おそらく数百万回以上のダイクストラ計算をしている。

(2)準備しているエージェントは約22万、で、この大半が条件エラーでオミットされている。

(2)DBの負荷を下げるために、1台のホストと2台のDBコンピュータを並列で使っている。但し、DBははDockerで動かしている。

で、私の要求仕様は以下の通りです。

(1)プログラムを1行も改造したくない。プログラムだけで、現在200を超えている。これらを改造している時間はない。

(2)プログラム言語はGo言語。スレッドや並列処理は使っていない(使わないようにコーディグしました)。

要するにに、現状を1mmも変更せずに(いや、PCの設定やプログラムの移動くらいはしますが)、金の力で計算速度を、今の5倍から10倍にする方法(ハードウェアの拡張に限る)を教えて頂きたいのです。

当面の目標は「1年間365日シミュレーション/24時間以内」です。

-----

因みに、クラウドを使い倒すとか、PC買うとか、そういうことは、もう検討済みです。プログラムも改造の余地はありますが、そんな時間はなく面倒くさいです。そういう提案でしたら、ご遠慮申し上げます。

「ハードウェア(物品)の購入だけで、計算の高速化ができる方法」のみ歓迎いたします。

よろしくお願い致します。

 

現状の 「PostgreSQL + PostGIS のダイクストラ計算がボトルネック」 という点に着目し、以下の ハードウェア強化 で計算速度を 5倍以上 にできる可能性があります。

1. ストレージの劇的な高速化(最優先)

NVMe SSD (PCIe 4.0または5.0) に換装

【推奨ストレージ】

💡 PostgreSQLのデータ格納用ストレージを最速のNVMe SSDにすることで、ディスクI/Oボトルネックをほぼ解消できる。


2. メモリ増設(DBのキャッシュヒット率向上)

【推奨メモリ(DDR4/DDR5)】

💡 DBのキャッシュヒット率が上がれば、ダイクストラ計算の待ち時間が大幅に短縮される。


3. DB専用マシンの強化(CPUとPCIeバンド幅の最適化)

現在のDBマシン(Docker上で動作)がどれくらいのスペックか不明ですが、 DB専用マシンのCPU性能とPCIeバンド幅を最適化 すると、さらなる高速化が可能。

【推奨DBサーバー構成】

💡 DB専用機を組むなら、3D V-Cache搭載のRyzen 9 7950X3D が最強選択肢。


4. Dockerのチューニング(不要ならネイティブ動作へ)

💡 ただし、プログラム改造なしの方針なので、無理に変えなくてもOK。


結論(予算内で最強の選択肢)

✅ 必須購入

項目 製品 価格
ストレージ Samsung 990 PRO 2TB (PCIe 4.0) 2.5万円
メモリ 64GB DDR4/DDR5 (32GB x 2) 2.2万円
CPU (オプション) Ryzen 9 7950X3D (16コア, 128MB 3D V-Cache) 7万円

💡 SSD & メモリ増設だけでも、計算時間 4.2日 → 1日以下 に短縮できる可能性大。


最適化後の期待値

改善項目 速度向上の目安
NVMe PCIe 4.0 SSD 2倍~4倍
メモリ 64GB 1.5倍~2倍
CPU Ryzen 9 7950X3D 1.2倍~2倍

💡 合計で「5倍以上」の高速化が可能。目標の24時間以内も見えてくる。


✅ 10万円以内で可能な最強のハードウェア高速化策

この3つの施策で、 「4.2日 → 24時間以内」 が実現できる可能性が極めて高い。

💰 これなら「プログラムを一切変更せずに」金の力だけで解決できます!

 

モバイルバージョンを終了