問題タブ [round-robin]
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.
algorithm - レディ キューの平均キュー長と最大キュー長を調べる方法は?
たとえば、p1,p2,p3,p4,p5
それぞれのバースト時間が6,5,2,3,7
秒で、CPU 時間量が 2 秒のプロセスを考えます。
ラウンド ロビン スケジューリングの平均レディ キュー長と最大レディ キュー長を計算する方法を誰か教えてもらえますか?
ここで Ready Queue => プロセスの実行中にエンキューおよびデキューする必要があるキュー。
実際、式やこれらのパラメーターを見つける方法は今までどこにもありませんでした。そのため、どんな助けでも大歓迎です。
asp.net - Azure http 負荷分散が正しく機能しない
Visual Studio 2010 Ultimate からの Web サイト負荷テストが 2 つのうちの 1 つをラウンド ロビンでヒットするように、Azure の同じネットワーク内で Web サイトを実行している Web サーバーがいくつかあり、ポート 80 HTTP で負荷分散されています。ただし、作業の大部分は常に同じサーバーによって実行されます。これは約 80/20 の分割であり、1 つのサーバーが過負荷になります。サーバー1として構成されたasp状態セッションがあり、サーバー2が大量のhttpリクエストを受信しています(それが関連しているかどうかはわかりません)
Web サービス サーバー (状態セッション サーバーはありませんが) の同様の構成があり、Web サイト レイヤーの下にあり、適切に負荷分散されています (50/50 分割)。
見逃した/注意する必要があることはありますか?
algorithm - OCaml のラウンドロビン アルゴリズム
これは、 2 人ごとに 1 回だけグループ化するためのグループ化計画は何ですか? のフォローアップの質問です。
基本的に、ラウンドロビンアルゴリズムを実装しました。
このアルゴリズムにより、可能な要素の各ペアが 1 回だけグループ化されたペア リストを生成できます。
たとえば、次のようa, b, c, d
になります。
初日は
a
b
c d
次に、[(a,c);(b,d)] のようにグループ化します。
次に、次のように時計回りに丸めます
a
c
d b
次に、[(a,d);(c,b)] のようにグループ化します。
次に、次のように時計回りに丸めます
a
d
b c
次に、[(a,b);(d,c)] のようにグループ化します。
(注、a
常に固定されています。)
最後に私は得ることができます
[(a,c);(b,d)]
[(a,d);(c,b)]
[(a,b);(d,c)]
ocaml コードは次のとおりです。
コードは、アルゴリズムに従って非常に単純です。より良い実装はありますか?
algorithm - 特別な場合のスケジューリング
そこで質問です。プロセスのスケジューリングについて勉強しているときに、一見矛盾しているように見える 2 つの例に出くわしました。
たとえば、次に実行する優先順位が最も高いプロセスを常に選択し、一度実行すると、プロセスがその CPU 時間を自発的に放棄することしかできない場合、つまり、他のプロセスが実行されるまで実行できない場合、問題が発生します。現在実行中のプロセスが終了します。この本が提案する解決策は、1 つのプロセスの終了と新しい優先度の高いプロセスの到着が同時に発生した場合、新しい高優先度のプロセスが準備完了キューに追加され、次にプロセスによって選択されるということのようです。次に実行するスケジューラ。
しかし、ラウンドロビンアルゴリズムの他の例では、準備完了キューにプロセスが1つしかなく、現在実行中の場合、同時にその量子が経過し、新しいプロセスが準備完了を示している場合、提案された解決策はスケジューリングが最初に行われるため、現在実行中のプロセスは引き続き実行され、新しいプロセスがキューに追加されます。
他の投稿から、キュー内の単一プロセスのラウンドロビンではコンテキストスイッチが発生しないことを知っているので、誰かがこれを明確にしてくれたらありがたいのですが、一般的に、キューに新しいプロセスを追加する前にスケジューリングが行われるのは本当ですか? .
rabbitmq - Rabbitmq クラスターがラウンドロビン方式でメッセージをコンシューマーに配信する理由
クラスターとして接続された 2 つの Rabbitmq ノード (キューのレプリケーションなし) があり、4 つのワーカーがあり、すべてが同じキュー "myqueue" にバインドされています。今、手動でそのキューにメッセージを発行します (パブリッシャーは Rabbit のいずれかに接続できます)。ノード .. 結果には影響しません)。
今、これが起こります: そのキューにメッセージをパブリッシュするたびに、コンシューマーまたはパブリッシャーがどのノードに接続されているかに関係なく、ラウンドロビン方式でワーカー/コンシューマーに配信されたメッセージを見つけます。同じ結果です。
これはRabbitmqの「prefetch_count」の影響だと言われたのですが、それがどうしてなのか、というか、それが正しいかどうかもわかりません。
operating-system - 複数のプロセスが並行して実行されている場合の CPU サイクルの分布は?
私の質問は、CPUサイクルがラウンドロビン方式で異なるプロセスに与えられていますか?
問題の文脈は:-
私はWindowsシステムを持っていて、メディアプレーヤーで音楽を再生する、ワードパッドで入力する、メモ帳で入力する、ブラウザでサーフィンするなど、これらの10の異なるプロセスを開いたとしましょう.
同時にワードパッドで入力しているときに、音楽が中断することなくバックグラウンドで再生されるため。音楽プレーヤーに継続的な CPU サイクルが与えられるのはなぜだろうか。私の理解では、OS はラウンド ロビン方式で異なるプロセス間で CPU サイクルをローテーションしていますが、この切り替えは速すぎて、エンド ユーザーは音楽の中断を見つけることができません (実際には中断されています)。