問題タブ [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.

0 投票する
1 に答える
2101 参照

algorithm - マルチコアCPUのラウンドロビン待機時間を計算する方法

マルチコアとマルチCPURRシミュレーションについて質問があります。マルチコアおよびマルチCPUのラウンドロビンシミュレーションアルゴリズムでWTimeがどのように導出されるかを理解しようとしています。私はこの仮定が正しいかどうかを理解しようとしていますか?

プロセスの平均待機時間を計算する=>(0 + 17 + 12 + 16 + 21 + 21)/ 6

0 投票する
1 に答える
366 参照

operating-system - ラウンドロビン スケジュールでタスクが正しく動作しない

STM32F4DISCOVERY ボードで FreeRTOS を実行しており、次のコードがあります。

ここで、vTask1 は次の関数です。

vTask2 のコードはほぼ同じです。

プログラムを実行すると、LED0 と LED3 が常にオンになっていることがわかり (それらの切り替えは私の目には速すぎますが、これは問題ありません)、「共有リソース」である LED2 が非常に速く点滅しています。問題は次のとおりです。呼び出しの順序を逆にするとxTaskCreate、同じ状況になり、LED2 の点滅動作が大幅に遅くなります。タスクは同じ優先度を持つ必要があり、したがってラウンド ロビン スケジュールに従う必要があるため、なぜこのようなことが起こるのでしょうか? 彼らは同じ時間を得るべきではありませんか?異なる順序で作成しただけで動作が変わるのはなぜですか?

前もって感謝します。

0 投票する
2 に答える
303 参照

linux - 負荷分散でリターン セッションを処理する方法

次のネットワーク シナリオがあります。LB-> プロキシ -> LB -> Web サーバー -> LB -> アプリ サーバーがあります。

ロード バランサはラウンド ロビン方式で動作しています。リターンセッションを処理するアプリケーションをどのように許可することができますか。ロード バランサーがリターン セッションを自動的に処理するか、設定のどこかで構成する必要があります。

ロード バランス リターン セッション

0 投票する
1 に答える
785 参照

php - DNSでRoundRobinを尊重しないPHP

RoundRobin 対応の DNS エントリを尊重するように PHP を作成することに問題があります。エントリ (たとえば、domain.example.com だとします) には、3 つの可能な IP アドレスが割り当てられています。RoundRobin は動作します (ping、telnet、wget などでテスト済み)。残念ながら、PHP の SOAP 拡張機能を使用すると、プレーンな file_get_contents であっても、常に DNS で指定された最初の IP アドレスに接続されます。驚いたことに、gethostbyname 関数は、RoundRobin が完全に正常であることを認識しています。各サーバーに 1 または 2 または 3 を出力するファイルを配置し、別のサーバーでスクリプトを数回実行しました。

最初の行は常に「1」を出力します (最初の IP アドレスから)。2 行目は、3 つの可能な IP アドレスのうちの 1 つをランダムに出力します。

質問: 誰かが同様の問題を抱えていましたか? 少なくともSOAPリクエストを作成するときに、DNSでRoundRobinを尊重するようにPHPに強制するにはどうすればよいですか?

EDIT DNSキャッシュは存在せず、プロキシもありません。前述のように、ping、telnet、wget などは、テスト スクリプトが配置されているサーバーと同じサーバーで問題なく動作します。

0 投票する
0 に答える
1368 参照

c - Pthread スケジューリング FIFO、RR 混合結果

Pthreads の Ubuntu システムでのさまざまなスケジュール アルゴリズムの影響を分析しようとしています。いくつか (1、2、4) のスレッドを作成し、それらを 1、2、または 4 個の CPU で実行させます。各スレッドは、1 つの数学演算を含む for ループです。1 つのスレッドが完了するまでに数秒かかります。

FIFO を使用して 1 つの CPU で 2 つのスレッドを開始すると、かなりの時間差で終了します (論理的には、FIFO が最初に作成されたスレッドを最初に終了します)。RR の場合、両者はより接近して終了します (場合によっては 0.5 秒の差)。これは予想通りです。ここで、各テストを 10 回実行し、測定の約 1/3 に他の測定の半分の時間がかかります。すべてのスレッドが終了するまでの時間を測定します。したがって、1 つの CPU では、2 つのスレッドが終了するのを待ちます。RR または FIFO はほとんど違いがありません。ただし、テストを複数回実行すると、2 ~ 3 回で約 6 秒、5 ~ 6 回で約 12 秒かかる場合があります。異常なのは、9秒や10秒くらいで番組が終わったことがないということです。5 から 6 の間、または 11 から 13 の間です。これらの測定は、4、2、1 CPU 上の 4、2、1 スレッドに対して行いました。FIFO と RR。優先度は 0 と 99 (リアルタイム) の両方に設定されています。CPU を使用している重いアプリケーションはありませんでした。使用されたコアでは、CPU 時間の 97% 以上が、プログラムによって生成されたスレッドに費やされました。

SCHED_OTHER を使用する場合、そのような現象はありません。

誰かがこの振る舞いについて説明を受けましたか?

コンテキスト スイッチが何回発生するかを確認するのは困難です。FIFO の場合、コンテキスト スイッチの量は 0 に近くなるはずです。RR の場合、これはかなり大きくなりますが、合計実行時間にはほとんど影響しません。SCHED_OTHER については、コンテキストの切り替えが最も多いと推測していますが、完全にはわかりません。

もう 1 つの興味深い事実は、OTHER の合計実行時間は、同じ量のスレッドと CPU を使用した FIFO の短い時間とほぼ同じであることです。そのため、FIFO は OTHER と同じくらい高速な場合もありますが、2 倍の時間がかかる場合もあります。

よろしく、

ロエル・ストームズ

0 投票する
1 に答える
1873 参照

php - Twilio でラウンド ロビンを作成する

ここと多くのフォーラムで検索しました。これが私がやろうとしていることです。

私はphp/mysqlでシステムを作成しようとしているので、ページ上のtwilio電話番号は電話番号のリストを丸めます。

特定の twilio 番号に関連する番号は次のとおりです。

555-1212

555-3434

555-5656

555-7878

したがって、次のようになります。

XX time と呼ばれる twilio 番号 : どの番号がダイヤルされるか

1 : 555-1212

2 : 555-3434

3 : 555-5656

4 : 555-7878

5 : 555-1212

6 : 555-3434

アドバイスや正しい方向への指示があれば、本当に感謝しています。これを実現するために、どのように、またはどこに頼ればよいかわかりません。

0 投票する
2 に答える
937 参照

java - Returning the numbers in a round-robin fashion but with an added clause

There is a LinkedList with the name busyList that keeps track of all the machines that are busy.A machine may be busy or available.The id of the machine is removed from the list when it gets free.

Following is the method that gets fired whenever the machine gets free/busy

A map named allMap (for allocation map) has id of the machine as its key and an object of class VmAllocation as its value.The attributes of VmAllocation are :

I have to return the machines in a round robin fashion while keeping in view, that I do not return the machine that is busy at the moment.If busyList.contains(id) returns true, it means the machine is busy and the next available machine (in the allMap) is returned also keeping in view that it doesn't get more than maxAlloc set for it. For example if 1 comes busy, then 2 will be returned if 2 is not busy and currAlloc has not exceeded maxAlloc

Following is the method that has to return the machine and is called multiple times from outside the enclosing class.

This is the general way algorithm shall work :

But this happens only when none of the machine is ever busy. But if machines get busy the order could be like :

Note that the number of times a machine is returned cannot exceed maxAlloc and if machine is found busy next machine that will be returned, is the one that could be just next to the machine that is currently busy and that itself is not busy (Also currAlloc should not exceed maxAlloc)

If maxAlloc = 5, currAlloc limit is 4. Because its count starts from 0

I am unable to implement this logic. Help me do this.

0 投票する
0 に答える
668 参照

c - CPU バウンド プロセスではなく IO バウンド プロセスを優先するように MINIX オペレーティング システムを変更するにはどうすればよいですか?

スケジューラは現在、ラウンド ロビンを使用してスケジュールを設定しています。各プロセスのユーザー時間とシステム時間にアクセスできます。

HEAD のユーザー時間

rdy_head[USER_Q]->user_time

HEAD のシステム時間

rdy_head[USER_Q]->user_time

IO バウンド プロセスを優先する必要がありますが、CPU バウンド プロセスを完全に枯渇させることはできません。

何か案は?

0 投票する
1 に答える
228 参照

algorithm - システムプログラミング | スケジューリング時間

これらのスケジューリングアルゴリズムを理解しようとしています:

  • 先着順 (FCFS)
  • 最短ジョブファースト (SJF)
  • 最短残り時間 (SRT)
  • ラウンドロビン (RR)

したがって、いくつかの入力が与えられた場合:

FCFS は次のようにスケジュールされAAABBBBBCCDDDDDEEEEEます。

私は残りを理解できないようです。誰かが私に違いを説明するのを手伝ってもらえますか?

グーグルを試してみましたが、SJF で得た結果はややこしいものでした。