Fair-Share-Scheduler
Wenn du einen Workload an eine Quantum Processing Unit (QPU) übermittelst, landet er im Scheduler der jeweiligen QPU und reiht sich in den Pool der Workloads (aller Benutzer) ein, die darauf warten, auf dieser QPU ausgeführt zu werden. Die Reihenfolge, in der diese Workloads ausgeführt werden, wird standardmäßig durch eine Fair-Share-Formel bestimmt. Wie im Folgenden erläutert, versucht diese Formel, den Workload zwischen verschiedenen Instanzen entsprechend dem zugewiesenen QPU-Kontingent über ein bestimmtes Zeitfenster auszubalancieren. In der Praxis bedeutet dies, dass Workloads verschiedener Instanzen so verwoben werden, dass die Reihenfolge, in der Workloads abgeschlossen werden, nicht unbedingt der Reihenfolge entspricht, in der sie übermittelt wurden. Da die Reihenfolge dynamisch berechnet wird, wenn neue Workloads eintreffen, ist es im Allgemeinen unmöglich zu garantieren, wann ein Workload vom Fair-Share-Scheduler ausgeführt wird.
Fair-Share-Begriffe
-
Account: Einzelpersonen und Organisationen verwenden ein IBM Cloud®-Konto, um auf die IBM Quantum® Platform und den IBM Quantum Compute Service zuzugreifen.
-
Instanz: Das grundlegende Konstrukt, dem Zeit vom übergeordneten Account für eine Reihe von QPUs zugewiesen wird und dem Benutzer direkt zugeordnet werden. Instanzen sind mit einer bestimmten Region und einem Plan verbunden. Weitere Informationen findest du im Leitfaden Instanzen.
-
Rollierendes 28-Tage-Fenster: Der Fair-Share-Scheduler berücksichtigt die Nutzung über ein rollierendes Zeitfenster. Nur die innerhalb dieses Fensters akkumulierte Ausführungszeit wird für Fairness-Zwecke berücksichtigt. Die Länge dieses Fensters beträgt derzeit 28 Tage. Wenn der Fair-Share-Scheduler aufgerufen wird, berücksichtigt er die Nutzung der letzten 28 Tage. (Hinweis: Das rollierende Zeitfenster gilt nicht für den Flex Plan. Beim Flex Plan ist das Fair-Share-Verhältnis das Verhältnis von Gesamtnutzung zu Zuweisung.)
-
Verwendete Zeit: Für jede Instanz wird während des rollierenden 28-Tage-Fensters die gesamte Nutzung auf allen QPUs erfasst. Dazu gehören alle erfolgreichen Workloads sowie Workloads, die bestimmte bekannte Fehlercodes zurückgeben. (Hinweis: Das rollierende Zeitfenster gilt nicht für den Flex Plan. Das Fair-Share-Verhältnis für den Flex Plan ist Gesamtnutzung im Verhältnis zur Zuweisung.)
Zuweisung und Verwaltung
IBM® teilt dem IBM-Cloud-Konto jeder Organisation ein Kontingent an Quantencomputing-Kapazität zu, basierend auf der im Rahmen ihres Plans vereinbarten Kapazität. Kontoadministratoren entscheiden dann, welchen Teil dieses Kontingents sie jeder Instanz zuweisen. Der Fair-Share-Scheduler verwendet die Zuweisung und aktuelle Nutzung der Instanzen, um Workloads so zu planen, dass Ressourcen fair auf jede Instanz verteilt werden.
Nimm beispielsweise an, dass nur zwei Instanzen Workloads in der Warteschlange eines Quantencomputers haben. Bei sonst gleichen Bedingungen kann eine Instanz mit doppelt so vielen Minuten doppelt so viele Workloads ausführen.
Wenn das Organisationskonto ein Enterprise-Konto ist, müssen Kontoadministratoren zunächst ihre Zuweisungen auf die untergeordneten Konten verteilen, und der Administrator des untergeordneten Kontos verteilt dann seinen Anteil der Zuweisung auf die Instanzen des untergeordneten Kontos.
Wie der Fair-Share-Scheduler funktioniert
Der Fair-Share-Scheduler wählt Workloads zur Ausführung auf einer QPU in einer dynamischen Reihenfolge aus, sodass keine Instanz die QPU monopolisieren kann. Wenn eine QPU für zusätzliche Arbeit bereit ist, fordert sie den nächsten Workload vom Fair-Share-Scheduler an. Das Standardverhalten des Schedulers besteht darin, den nächsten Workload auszuwählen, indem zunächst die Instanz identifiziert wird, die innerhalb des aktuellen Scheduling-Fensters am wenigsten von ihrer Zuweisung verwendet hat. Wenn die ausgewählte Instanz mehr als einen Workload übermittelt hat, wählt der Scheduler zuerst den ältesten Workload aus. Innerhalb einer Instanz arbeitet der Scheduler also nach dem First-In-First-Out (FIFO)-Prinzip.
Nächste Schritte
- Probiere das Tutorial Grover-Algorithmus aus.
- Lerne, wie du einen Workload überwachst.