問題タブ [hyperthreading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
12097 参照

multithreading - マルチコア + ハイパースレッディング - スレッドはどのように分散されますか?

新しい Intel Atom 330 のレビューを読んでいたところ、タスク マネージャーに 4 つのコア (2 つの物理コアと、ハイパースレッディングによってシミュレートされた 2 つのコア) が表示されることがわかりました。

2 つのスレッドを持つプログラムがあるとします。また、これらのスレッドだけが PC 上で何らかの作業を行っていると仮定します。それ以外はすべてアイドル状態です。OS が両方のスレッドを同じコアに配置する確率は? これは、プログラムのスループットに大きな影響を与えます。

答えが 0% 以外の場合、スレッドを増やす以外に軽減策はありますか?

Windows、Linux、および Mac OS X では、異なる答えがあると思います。


skの回答をGoogleの飼料として 使用し、リンクをたどると、WindowsでGetLogicalProcessorInformation関数が見つかりました。「リソースを共有する論理プロセッサ。このタイプのリソース共有の例は、ハイパースレッディング シナリオです。」これはjalfが正しいことを意味しますが、決定的な答えではありません。

0 投票する
15 に答える
7142 参照

intel - ハイパースレッディングはシステムを不安定にしますか?

新しい Intel I7 クアッド コア プロセッサを搭載した PC を構築しています。ハイパースレッディングをオンにすると、タスク マネージャーで 8 コアが報告されます。

私の同僚の何人かは、ハイパースレッディングがシステムの信頼性を低下させ、オフにすることを提案していると言っています。

あなたの善良な人々が私と残りのストックオーバーフローユーザーを啓発してくれませんか.

続けてください: 私は常にハイパースレッディングを使用してきましたが、それはうまくいきました。不安定さは一切ありません。私は使用しています:

  • マイクロソフト サーバー 2008 64 ビット
  • Microsoft SQL Server 2008 64 ビット
  • マイクロソフト ビジュアル スタジオ 2008
  • Diskeeper サーバー
  • 多数のコントロール (Telerik、Dundas、Rebex、Resharper)
0 投票する
6 に答える
1686 参照

c# - プログラムを実行しているマシンがハイパースレッディングを使用しているかどうかを確認するにはどうすればよいですか? (C#)

特定のマシンで使用可能な実際のコアの数と、ハイパースレッディングが有効になっているかどうかを知る必要があるコードがいくつかあります。

C#でこれを行う方法はありますか?

更新: マシンは XP と Vista が混在しています

更新: 'Win32_Processor.NumberOfCores' または 'Win32_Processor.NumberOfLogicalProcessors' にアクセスすると、いずれかのマシン (すべてではない) で例外 (「Not Found」というメッセージを含む ManagmentException) がスローされます。

0 投票する
3 に答える
34185 参照

multicore - マルチ CPU、マルチコア、ハイパースレッドの違いは何ですか?

マルチ CPU、マルチコア、ハイパースレッドの違いを説明してくれる人はいますか? 私はいつも、これらの違いと、さまざまなシナリオにおける各アーキテクチャの長所と短所について混乱しています。

オンラインで学び、他の人のコメントから学んだ後の私の現在の理解は次のとおりです。

  1. ハイパースレッドはその中で最も劣る技術だと思いますが、安価です。その主なアイデアは、コンテキスト切り替え時間を節約するためにレジスタを複製することです。
  2. マルチプロセッサはハイパースレッドよりも優れていますが、異なる CPU が異なるチップ上にあるため、異なる CPU 間の通信はマルチコアよりも遅延が長く、複数のチップを使用すると、マルチコアよりも費用と消費電力が大きくなります。 ;
  3. マルチコアはすべての CPU を 1 つのチップに統合するため、異なる CPU 間の通信の遅延はマルチプロセッサと比較して大幅に短縮されます。単一のチップを使用してすべての CPU を搭載しているため、消費電力が少なく、マルチ プロセッサ システムよりも安価です。

これは正しいです?

0 投票する
2 に答える
954 参照

hyperthreading - ハイパースレッディングプログラミング言語

ハイパースレッディングはどの言語で実装できますか?それはオブジェクト指向システムの一部にすぎませんか、それともCで実装できますか?

ありがとう。

0 投票する
5 に答える
31087 参照

multithreading - CPU スレッドとは何ですか? また、コード内の論理スレッドとどのように関連していますか?

Intel Xeon "Nehalem-EX"などの新しい CPU の一部の文献で、 8 コアと 16 スレッドを搭載しているのを見てきました。彼らはここで何について話しているのですか?参照でこれについての言及を見たので、SPARCSも、確かにこれはコードによって生成された種類の論理スレッドではありませんか? このハイパースレッディングは名前が変更されていますか?

0 投票する
2 に答える
3300 参照

simd - SSE とハイパースレッディング

SSE レジスターは論理プロセッサー間で共有または複製されていますか (ハイパースレッディング)? 通常のプログラムと同じように、SSE を多用するプログラムの並列化によって、同じような高速化を期待できますか (Intel は、ハイパー スレッディングを備えたプロセッサで 30% を主張しています)。

0 投票する
2 に答える
3864 参照

windows - ハイパースヘディングが有効なシステムでの CPU の番号付け

ハイパースレッディングが有効な環境で、OS (Windows、Linux) が論理 CPU に番号を割り当てる方法を調べようとしています。?

両方の OS は、最初に物理 CPU にシリアル番号を割り当ててから、論理 CPU の番号付けを開始しますか、それとも他の規則に従っていますか? たとえば、ハイパースレッディングを備えた 2 つの物理 CPU システムでは、OS は番号 0,2 を最初の物理 CPU に割り当て、次に 1,3 を 2 番目の物理 CPU に割り当てますか?

どんな参考文献も本当に高く評価されます。

前もって感謝します。

よろしく、 -ジェイ。

編集:アランの質問への回答:これを知る必要があるのは、私の仕事では、コンテキストスイッチを回避するためにさまざまなスレッドを特定のCPUにバインドする必要があり、特定のタスク(スレッド)が個別の物理CPUにバインドされていることを確認したいからです。ありがとう

0 投票する
1 に答える
2198 参照

c# - マルチコア、ハイパースレッディング、マルチプロセッサのいずれであるかをプログラムで判断するにはどうすればよいですか?

プロセッサタイプを取得する方法は知っていますが、おそらくそれが唯一の方法ですが、実際には、アプリケーションからマルチコアプロセッサで実行されているのかハイパースレッディングシングルコアプロセッサで実行されているのかを判断する方法を探しています。

(背景:一部のクライアントのホスティングプロバイダーは、VMWareイメージを介してどのリソースを利用できるかについて非常にあいまいです。このアプリケーションはマルチコアで実行されることになっていますが、最後の「移動」以降、パフォーマンスが低下しています。通常はマルチコア、一方のコアは一方のスレッドで急上昇し、もう一方のスレッドでは急上昇しません。この「マルチコア」では、シングルスレッドのアプリケーションでも両方のプロセッサが急上昇します。)

0 投票する
2 に答える
9160 参照

performance - ハイパースレッディングがコンパイラのパフォーマンスに与える影響は?

大規模なプロジェクト (GCC や Linux カーネルなど) をできるだけ速くコンパイルしたいとします。ハイパースレッディング機能を備えた CPU (Intel Core i7 など) は、ハイパースレッディングを有効または無効にすると、コンパイラの実行速度が速くなりますか? これをテストする公開されたベンチマークはありますか?

ハイパースレッディングに関する私の理解では、各コアは 2 つ (またはそれ以上) のプロセスから命令を選択できます。これにより、通常、機能ユニットがアイドル状態になる可能性が低くなるため、コアの効率が向上します。ただし、同じコアで実行されているプロセスはキャッシュなどのリソースを共有し、互いに干渉する可能性があるため、パフォーマンスが低下する可能性があります。実際にパフォーマンスが向上するかどうかは、ワークロードによって異なります。

では、コンパイラのワークロードの場合、パフォーマンスは向上しますか? もしそうなら、いくらですか?