web-dev-qa-db-ja.com

AWSEC2インスタンスのハイパースレッディング

現在、AWSに移行したウェブアプリのパフォーマンステストを行っています。

私たちが気づいたことの1つは、vCPUのパフォーマンスが期待したほど良くないように見えることです。実際、使用率の高い単一のvCPUマシンでは、(vmstatを介して)報告されたCPU使用率の50%がCPUスティールとして報告されていることがわかりました。コアサイクルの半分しか得られていないようです。

いくつかの調査を行った後、ほとんどのEC2インスタンスでは、vCPUは実際にはシングルコアで利用可能なハイパースレッドの1つを取得することを意味しているようです。事実上、これは各vCPUが物理コアのサイクルの50%のみに依存できることを意味します。

私たちが見ているものを確認しているように見えるいくつかの記事が見つかりました: http://www.pythian.com/blog/virtual-cpus-with-Amazon-web-services/

VCPUが実際にはコア上の単一のハイパースレッドにすぎないのか、それともデータを誤って解釈しているのか?それが本当の場合、コアの両方のハイパースレッドに実際にアクセスできるインスタンスタイプはありますか?

明らかに、vCPU数が2倍のEC2インスタンスをセットアップできますが、実行しているプロプライエタリソフトウェアは現在コアによってライセンスされているため、これにはソフトウェアライセンスの影響があります。ソフトウェアベンダーは現在、vCPUとコアを区別していません。インフラストラクチャプロバイダーとソフトウェアベンダーのCPU定義が一致していないため、ライセンスコストの2倍を支払う必要はありません。

5
zmcmahon

Amazonから、vCPUが実際には単一コア上の単一のハイパースレッドであるという確認を受け取りました。

余談ですが、これは私たちが協力していたソフトウェアベンダー(世界最大のエンタープライズ企業の1つ)にとってのニュースであり、AWS環境で実行されているソフトウェアのライセンス条件を調整するのに十分なものでした。

6
zmcmahon