0

私はいくつかの共有メモリ ライブラリ (openmp、tbb など) を使用して一連のマイクロベンチマークを開発し、さまざまなスレッド数をスケーリングする方法を確認しました。

現在、私はそれらを 4 コア プロセッサで実行しています。結果はかなり妥当ですが、スピードアップ プロットでは 3 ポイントしか得られませんでした。

より多くのデータを取得し、より幅広い分析を行うために、32 コアのマシンで実行する予定です。

可能性の 1 つは、AMD Epyc や Intel Xeon などの 32 コア プロセッサを購入することです。それらはちょっと高価ですが、それらで何が得られるかはわかっています。私の 2 番目の安価な代替手段は、Amazon AWS や Microsoft Azure などのクラウドでそれらを実行することです。

次に、選択を行う前に、明確にする必要があります。

私が理解している限り、AWS は必要な数のコアを備えたマシンを作成できますが、それらはすべて仮想化されています。

そこでアプリケーションを実行するとき、その実行時間の測定値はどの程度信頼できますか?

実際の 32 コア プロセッサでアプリケーションを実行した場合と同じスケーラビリティが得られますか?

4

1 に答える 1

0

仮想化パフォーマンスに関する数十年の経験から、これは注意が必要な領域です。仮想マシンと他の仮想マシンとの間の競合のレベルに大きく依存しますが、多くのクラウド環境では、ツールを使用しないと知ることは困難です。また、経過時間やプロセッサ時間について話し合っているかどうかも明確ではありません。どちらも仮想化の影響を受ける可能性がありますが、私の経験では、経過時間はより変動します。リストされた環境について話すことはできませんが、IBM Z 仮想化ソリューションでは、仮想マシンによって消費されるプロセッサー時間とハイパーバイザーによって消費されるプロセッサー時間をカバーするメトリックを提供します。あなたの目的のために、仮想マシンによって消費されるだけが必要です。申し訳ありませんが、あなたが言及したプラットフォームのいずれかがその情報を提供しているかどうかはわかりません. この種の実験では、

于 2018-07-20T15:44:13.633 に答える