ハイパースレッディング・テクノロジー

出典: フリー百科事典『ウィキペディア(Wikipedia)』

ハイパースレッディング・テクノロジーHyper-Threading Technology、HT、HTT)とは、インテルハードウェアマルチスレッディング実装に対する同社の商標である。当初は、NetBurstマイクロアーキテクチャにおける同時マルチスレッディングSimultaneous Multithreading; SMT)の実装に対して用いられていたが、その後、コードネームMontecitoの名で知られるプロセッサナンバー90xxのItaniumに於けるSwitch-on-Event Multi-threading(SoEMT)(ブロック型マルチスレッディングの一種)にも用いられ、LPIALow Power on Intel Architecture)製品の1つであるインオーダプロセッサのIntel AtomのSMT実装もハイパースレッディング・テクノロジーと称している。 これらの製品に共通しているのは、オペレーティングシステム (OS) は、ハイパースレッディングが有効なコアを、1つのプロセッサではなく複数のコアとみなす点である。

目次

[編集] 詳細

ハイパースレッディングは、プロセッサの主要部分である実行リソースは二重化せずに、「アーキテクチャステート」と呼ばれる特定部分のみを二重化して処理を行う。これにより、ハイパースレッディングを備えたプロセッサがホストOSへは「論理的に」2つのプロセッサのふりをすることが可能となり、OSが2つのスレッドやプロセスを同時にスケジューリングすることが可能となる。現在のタスクが、ハイパースレッディングが不可能なプロセッサにおける実行リソースを利用していない場合、および特にプロセッサの処理能力が低下している場合、ハイパースレッディングを備えたプロセッサは別のスケジュールされたタスクを実行することで、それらの実行リソースの利用を可能にする(プロセッサはキャッシュミス、分岐予測の誤り、またはデータ依存のために処理能力が低下する可能性がある)。

そのようなパフォーマンスの影響という点を除けば、この新機軸はOSやプログラムに対して透過である。論理的プロセッサは通常の独立したプロセッサとみなされるため、ハイパースレッディングを利用するために要求されることは、オペレーティングシステムの対称型マルチプロセッシングのサポートが全てである。

[編集] パフォーマンス

ハイパースレッディングの利点を以下に挙げる。

  • マルチスレッドコードのサポートを改善する。
  • マルチスレッドが同時に動作することを可能にする。
  • メモリアクセスレイテンシーを隠蔽しスループット改善する。

インテルによると、NetBurstマイクロアーキテクチャにおける最初の実装は「通常の」プロセッサへ余分な5%のエリアのみを追加するだけで、15~30%のパフォーマンス向上をもたらしたとしている。

一部のアプリケーションでパフォーマンスが低下する事が指摘されているが、インテルは「ほとんどのベンチマークにおいて、ハイパースレッディング技術は良い結果を出している」と述べている[1]

[編集] セキュリティ

2005年、Colin Percivalは、制限された特権を伴う悪意あるスレッド操作により、別のスレッドの実行の監視を許可してしまううため、暗号鍵が盗まれる可能性があることを明らかにした、 Cache Missing for Fun and Profit(PDFファイル)という論文を発表した。

これは、攻撃者が対象となるコンピューター上で、アプリケーションを自由に実行できる環境が整わないと影響を受けないため、悪用する事は非常に困難である。現在のところ被害などは報告されていない。

[編集] 将来

ハイパースレッディングはNetBurstマイクロアーキテクチャで最初に実装されたが、それに続くCoreマイクロアーキテクチャでは採用されなかった。しかし、Coreマイクロアーキテクチャのプロセッサであっても、ハイパースレッディング・テクノロジーを示すフラグは1(有効)を示している。ただし、仮想プロセッサ個数は1であるため、ハイパースレッディング・テクノロジーを備えていないのと同じである。なお、2008年後半に発売したIntel Core i7(コードネームNehalem)ではSMTを採用し、ハイパースレッディング・テクノロジーの名称を使用している[2]

IA-64Montecitoや、超低消費電力CPUのIntel Atomでもマルチスレッド技術が採用されたが、前者はブロック型マルチスレッディングであり、後者はインオーダープロセッサにおけるSMT実装なので、従来のNetBurstマイクロアーキテクチャのものとは技術的な連続性はない。

[編集] 脚注

  1. ^ インテルのハイパースレッディング技術でサーバ性能の低下が発生か
  2. ^ "Next-Generation Intel PC Chips to Carry Intel Core Name". 2008年8月21日 閲覧。

[編集] 関連項目

[編集] 外部リンク

[編集] 情報源

Replay: Unknown Features of the NetBurst Core [1]