シングルスレッドアプリケーションのパフォーマンスが懸念される場合は、ハイパースレッディングを無効にする必要がありますか?

シングルスレッドアプリケーションのパフォーマンスが懸念される場合は、ハイパースレッディングを無効にする必要がありますか?

私はノートブックでデフォルトでハイパースレッディングを実行するように設定されているi5-2410Mプロセッサを使用しています。 2コアプロセッサという点を考慮すると、一度に4つのスレッドを実行できるという意味です。これは、シングルスレッドアプリケーションが処理能力の最大25%しか使用しないことを意味し、最大50%を使用することをお勧めします。ハイパースレッディングを無効にすると悪影響があります(開発システムであり、デスクトップを実行しています)。私はまだ勉強していますか?top適切に?

ベストアンサー1

シングルスレッドアプリケーション用のハイパースレッディングを使用すると、2つを実行すると速度が向上します。ハイパースレッディングは、最初のスレッドが実行しているタスクを完了する前に、CPUが2番目のスレッド(マルチスレッドアプリケーションの2つのスレッドであるか2つのシングルスレッドアプリケーションであるか)の処理を開始することを意味します。これを効果的に無効にすると、CPU容量が半分に減ったことを意味します(実際ではありませんが、HTは約30%増加しますが、topが言う内容について話しています)。したがって、スレッドは現在top25%ではなく50%として表示されます。

追加の説明:

しかし、これは今日のほとんどのアプリケーションがハイパースレッディングの利点を享受できないという意味ではありません。シングルスレッドアプリケーションであっても、複数のアプリケーションが同時に実行されている限り(つまり、マルチタスク)ハイパースレッディングによってパフォーマンス上の利点を得ることができます。あるアプリケーションがそのストリーム(スレッド)を1つの論理プロセッサに送信すると、2番目のアプリケーションは同時にそのストリームを2番目の論理プロセッサに送信します。ただし、シングルスレッドアプリケーションのみを実行している場合、ハイパースレッディングはパフォーマンスの向上を提供しません。実際には、ハイパースレッディングのための2つの論理プロセッサ管理に関連するオーバーヘッドが原因で、シングルスレッドアプリケーションのみを実行するとパフォーマンスが低下する可能性があります。

起動したUNIXシステムでは、少なくともカーネル、init、およびシェルを実行します。あなたはいつもマルチタスクをしています。すべての実用的な面では、HTは常にあなたに役立ちます。

おすすめ記事