問題タブ [affinity]
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.
c# - ハイパースレッディングを無効にするか、ProcessorAffinityを変更しますか?
BIOSでハイパースレッディングを無効にすると、マルチスレッド計算のいくつかがより高速に実行されることに気付きました。
また、現在のプロセスのプロセッサアフィニティを変更することで、(論理)CPUをプログラムで無効にできることも学びました。たとえば、C#では次のようになります。
少なくともパフォーマンスの観点から、プロセッサアフィニティを変更して毎秒(論理)CPUを無効にすると、ハイパースレッディングを完全に無効にするのと同じ効果がありますか?
linux - タスクセット nt とのアフィニティの設定
次のようなプロセスにアフィニティを設定したい場合:
次のエラーが表示されます。
ただしtop
、コマンドはプロセスが実行中であることを示しています。
アップデート:
コマンド
作品
c - すべてのシステムプロセスに対するLinuxCPUアフィニティ
各pidを手動で設定せずに、自分のプロセスのスレッド以外のすべてのシステムプロセスを自分のCPUに設定する方法はありますか?
私はFedoraでCを使用していますが、これを以前ではなくプログラムの開始時に設定したいと思います。
openmpi - コアごとに 2 つの MPI プロセスを割り当てる
コアごとに 2 つの MPI プロセスを割り当てるにはどうすればよいですか?
たとえば、mpirun -np 4 ./application
2 つの物理コアを使用して 4 つの MPI プロセス (コアあたり 2 つのプロセス) を実行する必要があります。Open MPI 1.6 を使用しています。しmpirun -np 4 -nc 2 ./application
ましたが、実行できませんでした。
文句を言うmpirun was unable to launch the specified application as it could not find an executable:
multithreading - CPUのホットプラグと厳密な1:1スレッド
厳密なアフィニティルールを持つアプリケーションにCPUホットプラグのサポートを追加したいと思います。各物理コアには正確に1つのスレッドが固定されていますが、CPUにスレッドを固定するために使用するロジックはかなり単純で、0..Nの間のCPUがオフラインの場合は失敗します。
サイズの配列がありMAX_CPU
、システム上の各CPUがその識別子によってスロットにマップされるアプローチを選択しました。たとえば、CPU0-> threads[0]
、およびCPU1->threads[1]
などです。アイデアは、システムのセットアップをミラーリングすることです。
ただし、オフラインCPUが最後以外の場所で検出された場合、失敗します。
さらに悪いことに、実行時にCPUがオフラインになると、固定されたスレッドのアフィニティマスクが予告なしにリセットされます。
最終的には、次のような複雑なセットアップをサポートしたいと考えています。
オンラインおよびオフラインのCPUの認識をアプリケーションに組み込むにはどうすればよいですか?
私は避けて/proc
おり/sys
、他のプラットフォーム、特にさまざまなBSDへの移植に興味があるので。今のところx86_64を使用しているので、このcpuid
手順が役立つ場合があります。
python - Debian に python-affinity パッケージをインストールするには?
スタック オーバーフローなどの Unix ユーザーではなく、これが正しい場所であることを願っています。
Debian Squeeze にPython パッケージアフィニティをインストールするにはどうすればよいですか?
tar をダウンロードして解凍し、次のコマンドを実行しましたが、失敗します。私はこれまでにこのようなPythonモジュールをインストールしたことがないので、迷っています:)
windows - マルチスレッドアプリケーションを1つのコアに制限すると、実行速度が上がるのはなぜですか?
私はC++で書かれたネイティブマルチスレッドWin32アプリケーションを持っています。これには、約3つの比較的ビジーなスレッドと4〜6のスレッドがあります。通常モードで実行すると、8コアマシンで合計CPU使用率が約15%になり、アプリケーションは約30秒で終了します。また、アフィニティマスクを設定して、アプリケーションを1つのコアのみに制限すると0x01
、23秒で完了します。
1つの物理コアに制限されている場合や、同時メモリアクセスの問題がある場合に、同期が安価になることと関係があると思います。
私はWindows7x64を実行していますが、アプリケーションは32ビットです。CPUはXeonX5570で、4コアとHTが有効になっています。
誰かがその振る舞いを詳細に説明できますか?なぜそれが起こるのか、そしてそのような行動を前もって予測する方法は?
更新:私の質問はあまり明確ではなかったと思います。複数のコアで15%を超えない理由ではなく、1つの物理コアで高速になる理由を知りたいです。
.net - Microsoft .Net でスレッド プロセッサ アフィニティを設定する
(これを行う方法の完全な説明がどこにも見つからなかったため、これを回答付きで投稿したので、誰かにとって何らかの価値があると思いました)
Microsoft .Net で特定のスレッドのプロセッサ アフィニティを設定するにはどうすればよいですか? プロセスのアフィニティの設定は を介して簡単ですSystem.Diagnostics.Process.ProcessorAffinity
が、System.Threading.Thread
クラスはそのような機能を提供せず、.Net はマネージド スレッドが特定のオペレーティング システム スレッドにリンクされることを保証しません。
affinity - irq smp_affinity は rps (受信パッケージ ステアリング) を置き換えることができますか?
私はネットカード eth0 を持っています。これには単一のキューがあり、その IRQ 番号は 63 です。</p>
私の質問は:</p>
/proc/irq/63/smp_affinity を fffff に設定した場合
Linux カーネルが eth0 の IRQ をシステム内の各 CPU に配布するということですか?
その機能はrps(受信パッケージステアリング)と同じですか?</p>
vb.net - VB.netプロセスアフィニティ
目標:私の目標は、実行中のすべてのプロセスのアフィニティを1コアに設定することです。次に、すべてのコアのアフィニティを使用してプログラムを起動します。
スキルレベル:プログラミング全般における私のスキルレベルは、ほとんど初心者です。これが私の母国語です。
必要性:このコーディングと、コードの記事または説明についてサポートが必要です。ありがとうございました