問題タブ [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.
php - ロジックのヘルプが必要、3 次元配列を作成 (PHP)
助けが必要です。たとえば、チーム名に 4 の配列を取得しました。
最初がラウンド、2 番目が試合、3 番目が互いにプレーするチームである 3 次元配列を作成したい場合、常に 2 つのチームが存在します。
ロジックは、すべてのチームが他のすべてのチームと対戦する必要があり、1 つのラウンドでどのチームも 1 つの試合のみを行うようにする必要があります。
次のようなものを生成する必要があります。
2,3,5 ...10 ...12 チームで作業する必要があります。
私はあなたが私を助けてくれることを願っています.私はすでにそのために1日半を費やしました.
php - PHPランダムチームスケジュールジェネレーター-ラウンドロビンスケジューラ
新しい質問でこの質問をすることから否定的なフィードバックを得た後...これが私の改訂された質問です。はい、それは私が取り組んでいるのと同じプロジェクトですが、基本的にラウンドロビンタイプのスケジューラーが必要かどうかはわかりませんでした。
ラウンドロビンスタイルのホッケーリーグスケジューラーに取り組んでいますが、助けが必要です。
全体的な目標は、エンド管理者ユーザーが3つの変数をパンチインし、WEEKSカウンターがヒットするまでラウンドロビンスタイルのスケジュールを実行できるようにすることです。以下は、チームの数とゲームがプレイされる週の数の例です。
目標は、それを16回ループさせ、週に4つのゲームを作成し、各チームに週に1回プレイさせることです。ラウンドロビンアルゴリズムでは、可能なすべての組み合わせが行われるまで、ただし16週間を超えないように、チームが毎週異なるチームでプレーする必要があります。可能な組み合わせよりも4チーム以下のチームしかない場合は、週数に達するまでラウンドロビンを最初からやり直す必要があります。
編集:
私はこのスクリプトを実行するために必要なことに約90%取り組んでいます...しかし、私は1つのことに固執しています。多次元配列のマージについてサポートが必要です。
最初はティアです。次は週です(すべてが第1週です)。次に、チームのゲームが一致します。
)。
最終結果でティアを削除し、同じ週のゲームをすべてマージして、次のようにしたいと思います。
php - Varnish - ラウンド ロビン ディレクターで Cookie / セッションが提供されたときにキャッシュする
初めてワニスを設定していますが、これまで完全な答えを見つけることができなかった問題に遭遇しました。
一言で言えば私の設定:
server0 - ワニス、be1 - Apache、be2 - Apache
varnish は 2 つのバックエンドからラウンド ロビンでプルします。
セッションを処理する必要があるため、現在の時刻をセッション変数に設定し、そのセッション変数と使用されたバックエンドの IP を表示する 2 番目のページにリダイレクトする単純な php スクリプトを構成しました。
私はこの半分を機能させることができました。私が見ることができるセッション情報を渡していますが、ここに問題があります-バックエンドから返された情報は、それが生成されたバックエンドに固有です。そのため、返される時間は、最後のキャッシュに対して be1 または be2 が呼び出されたかどうかによって異なります。
セッション変数を処理するバックエンドに関係なくセッション変数が同じになるように、これを機能させる方法はありますか?
round-robin - ラウンド ロビン スケジューリングで問題が発生する
実際、私はいくつかの独学を行っており、RR スケジューリングの待ち時間の計算に行き詰まりました。
これはRR Schedulingに関するスライドです
「キュー」列に混乱しています。時間6で、「キュー」の中にあるのは「D<-C」です。これはどのように推測されるのだろうか?その場合、時間 5 で、Queue は単一の「B」ではなく「B<-D」になるはずです。キューを形成する方法に混乱しています。
回答ありがとうございます!
algorithm - ラウンド ロビン モデルのプロセッサ スケジューリングにおけるリソース割り当てのアルゴリズム
背景: データフロー グラフとして表示される独立したタスクがあります (これは永遠に繰り返されます)。非常に単純な例:
タスク 1: b1 -> c
タスク 2: e -> b2
プロセッサの割り当てが与えられます。グラフ自体は、それらが実行される利用可能なプロセッサを説明しています。上記の例では、b1 と b2 はプロセッサ b で実行され、c は c で実行され、e は e で実行されます。
すべてのタスクの実行時間は、コンパイル時にわかります。ラウンド ロビン モデリングであるため、各タスクの最悪の場合の実行時間は、ラウンド ロビン スケジューリングのリソース調停をキャプチャするように変更されます。例: 上記の例のすべてのタスクの実行時間が 1 だったとします。次に、タイミングを b1 と b2 に 2 時間単位、c と e に 1 時間に変更します。これは、プロセッサ b が次のコードを実行するためです。 (); run_task_b2(); したがって、タスク 1 を (スループットなどについて) 分析して、タスク b1 が 2 時間単位を要し、プロセッサ b での b1 と b2 の共有で十分であると言うと、効果的です。
私の問題:各タスクは追加のリソース (DMA) を使用します。2 つの DMA があるとします。次のように単純に D1 と D2 を割り当てた場合:
b1 は D1を取得し
ます c は D2を取得します
e は D1を取得します
b2 は D2 を取得します
ラウンドロビン モデリングの後、b1 と b2 は実行時間 3 を取得します (b1 は D1 を e と共有し、b1、b2 はプロセッサ b を共有するため、 1+1+1 = 3) および c と e は時間 2 を取得します (c は D2 を b2 と共有し、e は D1 を b1 と共有します)。したがって、時間は 3,2,2,3 です。
しかし、割り当てを次のように指定すると、 b1 が D1 を取得
c が D2を取得
e が D2を取得
b2 が D1 を取得
モデル化された実行時間は 2、2、2、2 です。
では、モデル化された RR 時間が最小になるように、特定のタスク グラフのコンパイル時にリソース (DMA) 割り当て (静的割り当て) を見つけるアルゴリズムを作成するにはどうすればよいでしょうか? 上記の例で説明したように、リストのスケジューリングは非効率的な結果をもたらします。
java - JVMDNSキャッシュとDNSラウンドロビン
JVM DNSキャッシュはDNSラウンドロビンをどのように処理しますか?ドメインのすべてのIPアドレスをキャッシュしてからそれらの間でローテーションしますか、それとも1つのIPアドレスをキャッシュして、キャッシュが期限切れになるまで将来のすべてのリクエストに使用しますか?
varnish - ワニスの場合、各サーバーに送信されたリクエストの数を確認するにはどうすればよいですか?
ワニスがラウンドロビンディレクターを介して各バックエンドに送信しているリクエストの数を確認したいと思います。今のところわかりません。アイデアをありがとう
c# - 次のRoundRobinスケジューリングコードの実装
クラスのラウンドロビンスケジューラを作成する必要があります。最初にList<int>
、プロセスID、到着時間、および処理時間を表す3つのリストを作成しました。到着時間で並べ替えました。プロセスには固定クォンタムが割り当てられており(4としてハードコーディングしています)、プロセスにRRを適用して、各プロセスのシーケンス順序と残り時間をtextBox
フォームに表示します。
ここで1つのアプローチを見つけましたが、それはJavaにあります: https ://stackoverflow.com/questions/7544452/round-robin-cpu-scheduling-java-threads
リンクに示されているように、3つのリストをオブジェクトリストに変換しようとしましたが、基本的には、これまでのところ、プロセスを表すオブジェクトのリストを作成することに成功しました。各オブジェクトにはprocessname
、、、が格納されます。これは、と呼ばれるクラスによって表されます。arrivaltime
bursttime
PCB
これで、いくつかのプロセスを追加するためのリストを作成しました。
しかし、アイテムを見つけて操作するために、リストの各値を検索するにはどうすればよいですか?bursttime
アクセスしprocessname="P1"
て4ずつデクリメントしたいとしますか?
これはC#では間違ったデータ構造ですか?
python - セットを変更するラウンドロビン
実行時に変更される可能性のある Python リストまたはセットに対して単純なラウンド ロビンを実装したいと思います。問題は、ラウンドロビン方式で実行される一連のタスクがあることです。これは、リストとインデックスのモジュラーインクリメントを使用して実装するのに十分単純である必要がありますが、リストを変更するため、少し取得しますより複雑です。
Python で何か良い解決策があるので、車輪を再発明する必要はありませんか?
date - タイム ウィンドウによるラウンドロビン
タイムスタンプ付きの値を保存し、特定の時間枠より古いものを自動的に削除するシステムを探しています。
RoundRobinシステムのようなものですが、私が理解している限り、RoundRobinは特定の量のレコードに基づいており、新しいレコードが来るのと同じくらい古いレコードを削除します。
このシステムでは、レコードの数に制限はなく、特定のタイム ラプスよりも古いレコードを削除するだけです。
1 つの近似は、次のようにすべてのレコードに Timeout live があるシステムです。
そしてどういうわけか、システムは期限切れのレコードを削除する責任があります。
システムは、任意の高性能ストレージ システム (Redis、Memcache など) に基づくことができます。
私は完全に詳細な説明の実装を探しているわけではありません.ある種のインスピレーションや関連記事、または既存のシステムであるため、車輪を再発明するつもりはありません.