フェアシェア・スケジューラ
量子プロセッシングユニット(QPU)にワークロードを投入すると、そのワークロードは特定のQPUのスケジューラに入り、そのQPUで実行されるのを待っている(全ユーザーの)ワークロードのプールに加わる。 これらのワークロードの実行順序は、デフォルトでは、フェアシェア式によって決定される。 後述するように、この計算式は、与えられた時間ウィンドウにわたって割り当てられたQPUアクセス量に応じて、異なるインスタンス間で作業負荷のバランスを取ろうとするものである。 実際には、様々なインスタンスからのワークロードが、ワークロードが完了する順番が必ずしも提出された順番とはならないように織り交ぜられることを意味する。 順番は新しいワークロードが到着すると動的に計算されるため、一般に、フェアシェアスケジューラからワークロードがいつ実行されるかを保証することは不可能である。
公平な分担条件
-
アカウント: 個人および組織は、 IBM Cloud® アカウントを使用して、 IBM Quantum® Platform および IBM Quantum Compute Serviceにアクセスします。
-
インスタンス: 包括的なアカウントからQPUのセットに時間が割り当てられ、ユーザーが直接割り当てられるベースレベルの構成要素。 インスタンスは特定の地域とプランに接続されている。 詳細はインスタンス・ ガイドを参照。
-
28日間のローリングウィンドウ: フェアシェア・スケジューラは、ローリング・ウィンドウで使用量を計算する。 そのウィンドウ内に蓄積された実行時間のみが、公平性のために考慮される。 その期間は現在28日間である。 フェアシェア・スケジューラが起動すると、28日前からの使用量が考慮される。 (注: フレックス・プランには、ローリング・タイム・ウィンドウは適用されません。 フレックス・プランのフェア・シェア比率は、総使用量対割当量である)
-
使用時間: すべてのインスタンスについて、28日間のローリングウィンドウの間、すべてのQPUのすべての使用量が計算される。 これらには、成功したすべての作業負荷と、既知の選択エラーコードを返した作業負荷が含まれる。 (注: フレックス・プランには、ローリング・タイム・ウィンドウは適用されません。 フレックス・プランのフェア・シェア比率は、総使用量対割当量である)
配分と管理
IBM® 各組織の IBM Cloud アカウントには、各組織のプランで契約した容量に基づいて、量子コンピューティング容量の割り当てが割り当てられる。 アカウント管理者は、この割り当てのどの部分を各インスタンスに割り当てるかを決定する。 フェアシェアスケジューラは、各インスタンスにリソースを公平に配分する方法でワークロードをスケジューリングするために、インスタンスの割り当てと現在の使用量を使用する。
例えば、1台の量子コンピュータのキューに2つのインスタンスだけがワークロードを維持しているとする。 他のすべての条件が同じであれば、2倍の分数を持つインスタンスは2倍のワークロードを実行できる。
組織アカウントがエンタープライズアカウントの場合、アカウント管理者はまずアカウントの子アカウントに割り当てを分配する必要があり、子アカウントの管理者は次に子アカウントのインスタンスに割り当ての一部を分配します。
フェアシェアスケジューラの動作原理
フェアシェアスケジューラは、どのインスタンスもQPUを独占できないように、QPU上で実行するワークロードを動的な順序で選択する。 QPUは追加作業の準備ができると、フェアシェアスケジューラに次の作業負荷を要求する。 スケジューラのデフォルトの動作は、現在のスケジューリングウィンドウ内で、割り当ての使用量が最も少ないインスタンスを最初に特定することで、次のワークロードを選択することである。 選択されたインスタンスが複数のワークロードを提出した場合、スケジューラは最も古いワークロードを最初に選択します。 このように、インスタンス内では、スケジューラーは先入れ先出し(FIFO)方式で動作する。
次のステップ
- グローバーのアルゴリズム・ チュートリアルを試してみよう。
- 仕事量を監視する方法を学ぶ。