問題タブ [context-switching]
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.
process - コンテキスト スイッチ OS : OS で推奨されるコンテキスト スイッチの量と頻度は?
OS コンテキスト スイッチに関する質問に答えるように求められましたが、教科書に答えが見つかりません。
OS で推奨されるコンテキスト切り替えの量と頻度は?
android - Android でのコンテキスト切り替え中に ARM NEON レジスタを保存する
コンテキストの切り替え時に、Android はすべての ARM 汎用レジスタをスタックに保存し、後で復元します。
Android OS は NEON レジスタをスタックに格納しますか?
そうでない場合、マルチスレッドおよびマルチタスク環境で NEON を安全に使用するにはどうすればよいですか?
multithreading - pthread コードがスケールアップしない
どのようにスケールアップするかをテストするために、次の非常に単純な pthread コードを作成しました。8 つの論理プロセッサを搭載したマシンでコードを実行していますが、8 つを超えるスレッドを作成することはありません (コンテキストの切り替えを避けるため)。スレッドの数が増えると、各スレッドが実行する作業量が少なくなります。また、コードから明らかなように、スレッド間でボトルネックになる可能性のある共有データ構造はありません。それでも、スレッド数を増やすとパフォーマンスが低下します。誰かが私がここで間違っていることを教えてもらえますか?
注:私がオンラインで見つけたすべての回答は、スレッドを作成するオーバーヘッドは、スレッドが行っている作業よりも大きいと述べています。テストするために、「addNum()」関数内のすべてをコメントアウトしました。しかし、その後、スレッドをいくつ作成しても、コードの所要時間は 0 秒です。したがって、オーバーヘッドはないと思います。
c - centos7 でのコンテキスト切り替えの遅延
私の C アプリケーションでは、メイン プロセスが子プロセスを fork し、10 マイクロ秒間スリープして、子プロセスが準備を整える時間を与えています。スリープ期間の後、親プロセスは子プロセスに信号を送信して、指定されたポートでリッスンを開始します。
このコードは CentOS6 で正常に実行され、親プロセスからのシグナルが配信される前に、子プロセスがシグナル ハンドラをセットアップするのに十分なスリープ期間がなかった例はほとんどありませんでした。ただし、このコードが同じシステム仕様の CentOS7 で実行された場合、子プロセスは一貫してシグナル ハンドラを時間内にインストールできませんでした。CentOS6 で得ていたのと同じパフォーマンスを得るには、スリープ期間を 10 ミリ秒 (1000 倍) に増やす必要がありました。
同じ仕様のハードウェアの CentOS 6 と比較して、CentOS 7 でコンテキストの切り替えが非常に遅い理由を知りたいですか?
windows - Windows 10 のプロセス スケジューリングに関する詳細はどこで確認できますか?
現在、CPU スケジューリングについて学んでおり、Windows 10 のスケジューリングの詳細に興味があります。私が知っていることから、ラウンドロビンスケジューリングがさまざまなレベルの優先度とともに使用されていますが、各優先度の特定のタイムクォンタム数と特定のコンテキスト切り替え時間はどこで見つけることができますか? このタイミングは、すべてのマシンのカーネルによって決定されますか、それともハードウェアによって異なるものですか? ハードウェアに基づいている場合、自分のマシンでこれらの値が何であるかを知ることはできますか?
sql - SQL クエリでの関数呼び出しのパフォーマンスへの影響 (コンテキストの切り替えについて)
SQLエンジンとPL/SQLエンジン間のコンテキストの切り替えにより、SQL文で関数をコールする際にパフォーマンスに影響はありますか? それとも、潜在的な影響は呼び出された関数に依存していますか?
- 組み込み関数の呼び出し:
- PL/SQL関数の呼び出し:
関数呼び出しによるパフォーマンスのオーバーヘッドはありますか? ありがとう。
java - メモリの観点から見た JVM スレッドとコンテキストの切り替え
これが漠然とした質問であるかどうかはわかりませんが、そうであれば、明確にするために方向性を示していただければ幸いです.
Parallel Runner (Threadpool を使用) を使用して実行される一連の Java テスト (正確には 30 個) があります。
各テストには約 1 分かかります (単独で実行する場合は、エンドツーエンドのテストになります)。ただし、並行して実行すると、約 10 分かかります。JVM引数としてヒープサイズを設定していません。
top コマンドを使用すると、これらを並行して実行すると、CPU が 110% 以上使用されていることがわかります。また、実行時にいくつかのコンテキスト スイッチが発生することも観察されます (10 の場合もあれば 100 の場合もあり、まれに 1000 の場合もあります)。
JVM ヒープ サイズを増やすと状況が少し改善されるのでしょうか、それともこれはまったく無関係なパラメーターで解決できるのでしょうか? 関係ないなら理由を聞きたいです。ありがとう。
java - Java での複数スレッド間のコンテキスト切り替え
コンテキスト切り替えとは何ですか? 時々 sleep() を使用することでそれが可能であることを私は知っています。wait() と notify() の組み合わせを使用してスレッド間通信を実行し、(Producer クラスの) 1 つのスレッドがデータ セットを提供し、(Consumer クラスの) 別のスレッドが消費するまで待機する例を見つけました。それ。
私の質問は、「CPU はコンテキスト切り替えに多くの時間を浪費し、実際の作業に費やす時間が少ない」と主張されているパフォーマンスへの影響に関するものです。しかし、この例を見ると、CPU が必要な一連の操作を完了したときにのみ、コンテキストの切り替えが行われるようになっていると思います。それでは、上記の引用文の背後にある論理は何ですか? 添付の例を見つけてください (提供: Osborne The Complete Reference Java)。