問題タブ [scheduler]
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.
linux - Linux2.6.31スケジューラーとマルチスレッドジョブ
私は、24コアの共有Linuxコンピューターで超並列科学計算ジョブを実行しています。ほとんどの場合、このコンピューターで他に何も実行されていないときに、私のジョブは24コアに拡張できます。ただし、私のものではないシングルスレッドジョブが1つでも実行されている場合、24スレッドジョブ(私は高いnice値に設定)は(Linux表記を使用して)最大1800%のCPUしか取得できないようです。その間、CPUサイクルの約500%(ここでもLinux表記を使用)はアイドル状態です。誰かがこの動作と、他の誰かが使用していない23個のコアすべてを取得するために私ができることを説明できますか?
ノート:
関連する場合は、わずかに異なるカーネルバージョンでこれを観察しましたが、頭のてっぺんからどれを覚えているかはわかりません。
CPUアーキテクチャはx64です。私の24コアのジョブが32ビットであり、競合している他のジョブが64ビットであるという事実が関係している可能性はありますか?
編集:私が今気づいたことの1つは、最大30スレッドになると、問題がある程度軽減されるように見えることです。最大2100%のCPUを使用できます。
c++ - C++ で特定の間隔レートでメソッドを呼び出す
これは、約1年前に行ったことがあり、それがどのライブラリであったかを一生思い出せないので、本当に迷惑です。
基本的に、問題は、メソッドを特定の回数または特定の期間、指定された間隔で呼び出すことができるようにしたいということです。
1 つの例として、メソッド "x" を今から 0.5 秒ごとに 10 回呼び出したいとします。または、メソッド「x」を今から 5 秒経過するまで 10 回呼び出します。
この機能にブースト ライブラリを使用したと思ったのですが、今は見つからないようで、少しイライラしています。残念ながら、コードを所有していないため、コードをもう一度見ることはできません。
あるいは、これをすべて夢見て、それが独自のコードだった可能性もあります。私が望むことをするものが何もないと仮定すると、現在、この動作を生成する最良の方法は何ですか? ミリ秒までの高解像度である必要があります。
実行元のスレッドをブロックするかどうかは問題ではありません。
ありがとう!
vxworks - VxWorksスケジューラはどのように実行されますか?
タスクを切り替えることができるようにスケジューラーがどのように呼び出されるか知りたい。プリエンプティブスケジューリングやラウンドロビンスケジューリングの場合と同様に、スケジューラーはあらゆる種類のタスク切り替えを行うために状況を把握する必要があります。優先度の低いタスクに無限ループがあると仮定すると、スケジューラーが介入して優先度の高いタスクに切り替えるのはいつですか?
クエリは次のとおりです。1。誰がスケジューラを呼び出しますか?[VxWorksの場合]2。定期的に呼び出される場合、そのメカニズムはどのように実装されますか?
前もって感謝します。
-アシュウィン
windows - 通知コンポーネントにはどの「プラットフォーム」を使用する必要がありますか?
通知コンポーネントを開発する必要があります。これが行うことは、特定の間隔 (たとえば、15 分ごと) でデータベースをスキャンして、通知を送信する必要があるかどうかを確認することです。
私たちは Windows で実行しているため、Windows サービスまたは Windows タスク スケジューラのいずれかを検討しています。
私たちの最大の懸念は、実装の堅牢性です。何らかの理由でクラッシュした場合、次の間隔で自動再起動できますか? クラッシュに対処するために、カスタム ログ ロジックを使用できますか?
ここで何を使用するかについての知識に基づいた推測をお願いします:) そのような推測を行うために、追加情報が必要な場合は遠慮なく言ってください..
誰かが Windows サービスと Windows タスク スケジューラの長所と短所の短いリストを作成できれば、小道具が提供されます。また、これらのいずれにも設定されていないことに注意してください。代替案がある場合は、投稿してください.
前もって感謝します :)
algorithm - マルチコア プロセッサを介した RTOS でのギャング スケジューリング
ギャング スケジューリングは、関連するスレッドまたはプロセスが異なるプロセッサで同時に実行されるようにスケジュールする並列システムのスケジューリング アルゴリズムであることを理解しています。ギャング スケジューリングは、2 つ以上のスレッドまたはプロセスが相互に通信する場合に、それらすべてが同時に通信できる状態になるように使用されます。しかし、ギャング スケジューリング アルゴリズムは、特定のプロセス セットが相互に通信することをどのように判断し、関連するスレッドまたはプロセスを異なるプロセッサで同時に実行するようにスケジュールするのでしょうか?
cmd - WinRAR を使用してフォルダーをアーカイブするバッチ ファイルが、予想よりもはるかに長い時間がかかるのはなぜですか?
すべてのフォルダーとファイルをc:\projects
ディレクトリから RAR アーカイブに移動するこのスクリプトがありますc:\backup
。
同じソースを使用する以下のスクリプトも試しましたc:\projects
が、 の各フォルダーに個別のアーカイブを作成しc:\projects
ますc:\backup
。
この 2 番目のスクリプトの実行には 2 時間しかかかりませんが、最初のスクリプトの実行には 24 時間以上かかります。
最初のスクリプトを高速化する方法はありますか?
私の最初のスクリプトはまったく高速であるべきではありませんか?
embedded - マルチコア プロセッサ内の特定のコアの負荷を判断する
マルチコア プロセッサでは、特定のアプリケーションをシングル コア、2 コア、または 3 コアのいずれかで実行するように指示する方法があります。アプリケーション (多くのスレッドを持つ) が複数のコアで実行されているシナリオを考えると、スケジューラはマルチコア プロセッサの特定のコアの負荷 (スレッド数) をどのように判断し、それに応じて分散 (バランス) できるでしょうか。さまざまなコア間でロード (スレッドの割り当て) ?
mysql - 毎日特定の時間に MySQL Event Scheduler
これが私のクエリです
毎日午後 1 時にステータスを「0」に更新するにはどうすればよいですか。
の代わりに何を使用できTIMESTAMP
ますか?
c - 新しいLinuxカーネルスケジューラを作成する方法
スケジューラのソースコード(2.6.34、kernel / sched.c)を見ると、「プラグ可能な」スケジューラがどのように使用されているかがわかり、実装するインターフェイスを理解していると思います。私がまだ理解していないのは、コードをカーネルに組み込む方法です。少なくとも、他のサイトへのポインタをいただければ幸いです。
現在、カーネルソースツリーでSCHED_FIFO、SCHED_RR、およびSCHED_NORMALを探しているので、実際には、より洞察に満ちた方法を探しています:-)
編集:いくつかの背景として、私はFreeBSDスケジューラー(および一般的なFreeBSDカーネル)に非常に精通しているので、プロセス/スレッドレベルのスケジューリングを行う方法についてのポインターを探していません。通常のLinuxスケジューラー(SCHED_FIFOと同様)に加えて、独自のスケジューラーを追加する方法を探しています。
編集#2:以下のBFSポインターは良いスタートですが、それでもCFSをカーネルからリッピングします。sched.cは次のようになります。
これをもう少しうまく行う方法についての答えや指針を見てみたいです(つまり、少なくとも今のところはCFSを維持します)。
編集#3:私はそれを理解したと思うので、私は以下の私自身の質問に答えました。
linux - Linuxでのスレッドスケジューリングに関する情報の収集
Linuxで、スレッドがいつスケジュールされているか(およびスケジュールが解除されているか)、どのCPUで実行されているかに関する情報を収集したいと思います。スケジュール情報をコードによって生成された他のイベントソースとマージする必要があるため、情報を収集して後でオフライン分析用にファイルに保存できれば幸いです。ほとんどの場合、マシン上のすべてのコアを使用する予定であり、外部プロセスを使用してサンプリングを行うと、測定したい実行が妨げられるため、情報はプログラム自体によって収集されるのが理想的です。
では、これはLinuxで可能ですか?オプションは何ですか?