問題タブ [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.
windows-7 - Windows 7 で start /AFFINITY コマンドを使用してアフィニティを設定する
コマンドを使用しstart /AFFINITY [n] [.exe]
て、指定されたアフィニティで実行可能ファイルを開始しています。8 つのプロセッサ (1、2、3、4、5、6、7、8) を搭載したシステムを使用しています。奇数プロセッサ (1、3、5、7) をすべて使用するようにプロセスを設定したいと思います。これを行う方法がわかりません。start コマンドを使用して可能かどうかを知りたいです。そうでない場合、それを行う別のコマンドラインの方法はありますか?
start コマンドのヘルプは特に役に立ちませんでした。
c++ - C++ プログラムでトポロジーを考慮してマルチコア HT にアフィニティを実装する方法は?
スレッド数が可変の C++ マルチコア プログラムを開発していますが、適切な (実際には「最高の」) アフィニティを設定する方法を知りたいです。私は Boost-threads を使用しているので、get_hardware_concurrency() を呼び出して論理コアの数を知ることができます。今まで、「n_th スレッドから n 番目の論理コア」へのマッピングを書きましたが、マルチソケット プロセッサと HyperThreading のせいで、これはあまり賢明なことではありません。私のプログラムは常に SIMD に似ているため、スレッド間で共有するものは何もありません。HT コンピューターの場合、想像できる最もスマートな方法でスレッドを論理コアにバインドしたいと考えています。最初の物理上の最初の論理コア、 2 番目の物理上の 1 番目の論理、...、n 番目の物理上の 1 番目の論理、1 番目の物理上の 2 番目の論理など。
HT が有効かどうか (CPUID) を検出する方法と、パッケージごとに論理コアと物理コアを決定する方法について議論されている多くの資料を見つけました。いくつかのアセンブリ コードを処理する必要があることはわかっており、怖くはありませんが、論理コア、物理コア、およびパッケージに関する完全な情報と、OS がそれらすべてを処理する方法を知る方法を本当に見つけることができませんでした。
私ができる最も簡潔であること:OS(WindowsおよびLinux)によって N-th として参照されるスレッドの正確な場所(物理コアとパッケージ)をどのように知ることができますか?
windows-7 - Windows 7 で実行中のすべてのプロセスのアフィニティをプログラムで設定するにはどうすればよいですか?
Windows 7 で実行中のすべてのプロセスにアフィニティを設定する方法はありますか?
いくつかのハイパースレッディング ベンチマークを実行したいのですが、それらが特定のコアで単独で実行されていることを確認したいと考えています。私はラッパーでそれらを実行していますが、次のようなことをしたいです(疑似コードで):
これで、現在のプロセスとその子プロセスのアフィニティを設定する方法はわかったと思いますが、どうすれば次のことができますか:
- すべてのプロセスを反復しますか?
- 他のプロセスのアフィニティを設定しますか?
linux-kernel - cpumask は Linux カーネルの他のプロセスのスケジューリングにどのように影響しますか?
ubuntuがインストールされているマシンでLinux 2.6.xカーネルを使用しています(これが何かを変更する場合に備えて、Ubuntuについて言及しています)。カーネルは、8 コアのマシンで実行されます。マシンはopenvzも実行しますが、これが質問の文脈を変えるとは思いません。
2 つの CPU の使用のみを許可するソフトウェアをインストールしており、最初の両方の CPU (cpumask 3) にハード CPU アフィニティを設定しています。これにより、他のプロセスのスケジューリングがどのように影響を受けるかを自問しています。私はそれについて何か読んだと思いますが、今のところ、プロセスは最初の CPU に接続される可能性が高いと思います。また、カーネルは、キャッシュの無効化を回避するために、プロセスを常に同じ CPU に保持しようとします。
マシン上では、かなりの数のプロセスが実行されています。カーネルはこの状況をどのように処理しますか? 混雑したゾーンにバインドされている間に影響を受けるため、CPU アフィニティ プロセスの実行が遅くなるのは難しいのでしょうか? カーネルはハード アフィニティをどのように考慮しますか。
c++ - フォークされた子プロセスが CPU アフィニティを継承しないようにするにはどうすればよいですか?
多くの子プロセスをフォークするサーバー プロセスがあります。サーバー プロセスには CPU コアへのアフィニティがありますが、そのアフィニティを子プロセスに継承させたくありません (むしろ、OS がこれらのプロセスを実行する場所を処理する必要があります)。CPUアフィニティに関して親子プロセスのリンクを解除する方法はありますか?
c++ - Linux で実行される C++ とのプロセッサ アフィニティの設定
重複の可能性:
CPU アフィニティ
私は Linux で実行しており、2 つの特定のプロセッサを設定して 2 つのアプリケーションを並行して実行する (つまり、各プロセスを異なるコア/CPU で実行するように設定する) C++ プログラムを作成したいと考えています。C++ でプロセッサ アフィニティ ツールを使用したいと考えています。誰でもC++コードを手伝ってください。
asp.net - 共有(Webファーム)ASP.NETWeb2層環境
Web層の前でF5ロードバランサー(スティッキーセッション)を使用している場合、2つの異なるセッション管理構成を持つWebアプリケーションを持つことができる共有2層Webアプリケーション環境を使用できますか?たとえば、Webアプリ#1はインプロセスセッション管理を使用し、Webアプリ#2は別のセッション状態サーバーを使用しますか?Webアプリケーションは両方ともWeb層のIISにあり、データベースはデータ層にあります。
vb.net - VB.NET からのアンマネージ DLL 呼び出しで特定のプロセッサ アフィニティを強制する
VB.NET Web サーバーからカスタム作成のアンマネージ DLL への関数を呼び出しています。マルチコア サーバー上の Web サービスを介してこの DLL を呼び出すと、問題が発生し、常にクラッシュします。
サーバーを再起動してシングルコアのみを使用するようにすると、常に正常に動作し、クラッシュすることはありません。
DLL 呼び出しの直前と直後にデバッグ コードを出力したので、DLL 呼び出しがクラッシュの原因であることはわかっています。
.NET コードのプロセッサ アフィニティを 1 コアに強制できますが、これはアンマネージ DLL には適用されません。
アンマネージ DLL を単一のコアでのみ実行するように強制するにはどうすればよいですか?これで問題が解決すると確信していますか?
linux - Linux でプロセスとスレッドのアフィニティ マスクを取得する
Windows では、GetProcessAffinityMask API 呼び出しが存在し、スレッド アフィニティ マスクを見つけるための回り道も存在します。次に例を示します。
クエリ スレッド (プロセスではない) プロセッサ アフィニティ?
Linux でこの情報を取得する方法はありますか? sched_getcpu() を呼び出すと、アフィニティ マスクではなく、スレッドが現在実行されている CPU のみが返されます。
linux - 私のプロセス専用の1つのコア
重複の可能性:
特定のpthreadのCPUアフィニティを設定する方法は?
Linuxで、1つのプロセスを除くすべてのプロセスに対して1つのコアを無効にする方法はありますか?1つのコアを自分のプロセス専用に予約したいと思います。
予想される動作は次のとおりです。
- 私のプロセスの後に生成されるプロセスは、このコアを認識して他のコアを使用するべきではありません。
- プロセスが生成されたら、このコアを使用しているすべてのプロセスを他のコアに切り替える必要があります。