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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内, 検索

ハイパースレッディング・テクノロジー (Hyper-Threading Technology、HT、HTT) とは、インテルハードウェアマルチスレッディング実装に対する同社の商標である。当初は、NetBurstマイクロアーキテクチャにおける同時マルチスレッディング (Simultaneous Multithreading; SMT) の実装に対して用いられていたが、その後、コードネーム Montecito の名で知られるプロセッサナンバー 90xx の Itanium に於ける Switch-on-Event Multi-threading (SoEMT) (ブロック型マルチスレッディングの一種)にも用いられ、LPIA (Low 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 を採用し、ハイパースレッディング・テクノロジーの商標が復活した。

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

[編集] 脚注

  1. ^ インテルのハイパースレッディング技術でサーバ性能の低下が発生か

[編集] 関連項目

[編集] 外部リンク

[編集] 情報源

Replay: Unknown Features of the NetBurst Core [1]

個人用ツール
名前空間
変種
操作
案内
ヘルプ
ツールボックス
他の言語