私はいくつかの共有メモリ ライブラリ (openmp、tbb など) を使用して一連のマイクロベンチマークを開発し、さまざまなスレッド数をスケーリングする方法を確認しました。
現在、私はそれらを 4 コア プロセッサで実行しています。結果はかなり妥当ですが、スピードアップ プロットでは 3 ポイントしか得られませんでした。
より多くのデータを取得し、より幅広い分析を行うために、32 コアのマシンで実行する予定です。
可能性の 1 つは、AMD Epyc や Intel Xeon などの 32 コア プロセッサを購入することです。それらはちょっと高価ですが、それらで何が得られるかはわかっています。私の 2 番目の安価な代替手段は、Amazon AWS や Microsoft Azure などのクラウドでそれらを実行することです。
次に、選択を行う前に、明確にする必要があります。
私が理解している限り、AWS は必要な数のコアを備えたマシンを作成できますが、それらはすべて仮想化されています。
そこでアプリケーションを実行するとき、その実行時間の測定値はどの程度信頼できますか?
実際の 32 コア プロセッサでアプリケーションを実行した場合と同じスケーラビリティが得られますか?