問題タブ [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.
multithreading - スレッドと CPU アフィニティ
1 台のマシンに 2 つのプロセッサがあるとします。スレッド A は P1 で実行され、スレッド B は P2 で実行されています。
スレッド A 呼び出しSleep(10000);
スレッド A が再び実行を開始すると、P2 で実行される可能性はありますか?
はいの場合、この移行を決定するのは誰ですか? いいえの場合、なぜですか?
プロセッサは、実行中のすべてのスレッドまたは OS が各スレッドをプロセッサにバインドするデータを保存しますか?
windows - 32コアを超えるシステムのSetProcessAffinityMask()/ GetProcessAffinityMask()を置き換えるにはどうすればよいですか?
SetProcessAffinityMask()
関数はマスクを受け入れるDWORD
ため、32を超えるプロセッサを搭載したシステムでは正しく使用できません。
どういうわけか問題に対処することを目的としているように見えSetThreadGroupAffinity()
ますが、その使用法を説明する有用なコードサンプルを見つけることができますか?
SetProcessAffinityMask()
/GetProcessAffinityMask()
を使用して32を超えるプロセッサを搭載したシステムにプログラムを適合させるにはどうすればよいですか?コードサンプルはありますか?
c++ - SethreadAffinityMask() 正しい使い方?
私は 1500 のスレッドを持っています..12 のプロセッサで実行したいです
SetThreadAffinityMask(GetCurrentThread(),1<<(threadnum%numprocessors))
. ここで、numprocessors=12 です。マスクの正しい使い方ですか?スケーラブルである必要があります。つまり、11 プロセッサのみで実行する場合は
SetThreadAffinityMask(GetCurrentThread(),1<<(threadnum%numprocessors));
、numprocessors=11 になります。
pthreads - プロセスで sched_setaffinity を実行すると、それによって生成されたスレッドは影響を受けますか?
私がこれを行う場合: CreateThreads、setsched_affinity を CPU 0 にすると、すべてのスレッドも CPU 0 にアフィニティを持ちます。代わりに、一連のアクションを逆にした場合、つまり set_schedaffinity を最初に作成してからスレッドを作成すると、スレッドはアフィニティを持ちますか?
pthreads ライブラリを使用してスレッドを作成しています。回答ありがとうございます
performance - プロセッサ アフィニティへの影響のベンチマーク
私はNUMAアーキテクチャに取り組んでおり、各計算ノードにはソケットごとに 2 つのソケットと 4 つのコアがあり、計算ノードごとに合計 8 つのコアがあり、ノードごとに 24GB の RAM があります。プロセッサ アフィニティの設定がパフォーマンスに大きな影響を与える可能性があることを証明する必要があります。
プロセッサ アフィニティを使用する場合と使用しない場合の影響の違いを示すためのベンチマークとして使用できると提案するプログラムはありますか? MPI、OpenMP、または pthreads を使用して簡単な C テスト プログラムを作成することもできますが、そのテストを実行するにはどのような操作が最適でしょうか? これは、キャッシュの局所性を利用するものでなければなりませんが、コンテキストの切り替え (ブロック操作) もトリガーするため、プロセスが別のコアに移行したり、さらに悪いことに、別のソケットに移行したりする可能性があります。8 の倍数のコアで実行する必要があります。
multithreading - WCF DuplexChannelFactory サービスのスレッド アフィニティの設定
WCF サービスのスレッド アフィニティを設定することはできますか? サービスをインスタンス化するとき、そのすべての処理を単一のコアに制限したいと考えています。
前もって感謝します。
android - プログラムで「タスク アフィニティ」を設定する
プログラムで「タスク アフィニティ」を設定する方法はありますか? つまり、インテント フラグや sth のようなものですか? Androidのドキュメントでこれが可能であることについて何も見つかりませんでした。
AndroidManifest.xml で静的な方法でアフィニティを設定することは、android:taskAffinity
私のニーズには合いません。
linux - OS X で pthread CPU アフィニティを設定することは可能ですか?
Linuxにはsched_setaffinity ()関数がsched.hで定義されていますが、 Mac OS X 10.6 pthreads実装ではそのようなものを見つけることができないようです...アフィニティを設定できない場合、デフォルトのポリシーは何ですか? OS Xで?
linux - pthread_self() と gettid() の違いは何ですか? どちらを使用する必要がありますか?
Linux でスレッドの CPU アフィニティを設定しようとしています。次のアプローチのどれが推奨されるかを知りたいです。
pthread_self() を使用してスレッド ID を取得する
スレッド ID を引数として渡すことにより、pthread_setaffinity_np(....) を使用して CPU アフィニティを設定します。
gettid() 呼び出しを使用してスレッド ID を取得する
プロセス ID の代わりにスレッド ID を渡すことにより、sched_setaffinity(....) を使用して CPU アフィニティを設定します。
PS: CPU アフィニティを設定した後、スレッドのスケジューリング優先度を上げるつもりです。
wpf - Silverlight と WPF のイベント処理の違い - スレッド アフィニティの問題
Silverlight で Lync Silverlight アプリケーションを開発してきましたが、現在はそれを WPF に移行しようとしています。
ただし、いくつかのスレッド アフィニティの問題に直面しています。たとえば、Lync クライアントの状態をページのテキストブロックに表示するため、コード ビハインドで状態変更イベント ハンドラーを配線し、Lync クライアントの状態が変化するたびに新しい状態をテキストブロックに書き込みます。
現在、これは Silverlight では完全に機能していましたが、WPF では許可されていないようです。今私の質問は次のとおりです。
Silverlight は WPF のサブセットであるはずなのに、WPF ではなく Silverlight で動作するのはなぜですか?
スレッド アフィニティは重要な概念であり、インボーク ディスパッチャーを使用できることはわかっていますが、イベント ハンドラーとコールバックの形で非同期プログラミングの概念を打ち負かすだけではありませんか?
XAML ページで定義されたボタンがあり、そこで定義されたクリック イベント ハンドラーは他の UI 要素にアクセスできます。上記の問題は発生しません。
しかし、コード ビハインドで LyncClient インスタンスを定義すると、それに定義されたイベント ハンドラーは UI 要素にアクセスできません。UIElements と Silverlight の他のオブジェクトとの間にそのような違いが見つからなかったのはなぜですか?