Ausführungsmodi FAQs
Der lokale Testmodus unterstützt die Syntax für die verschiedenen Ausführungsmodi, aber da es beim lokalen Testen keine Zeitplanung gibt, werden die Modi ignoriert.
Die Anzahl der parallel laufenden Aufträge richtet sich nach dem für das Backend konfigurierten Grad der Parallelität, der bei den meisten Backends heute fünf beträgt.
Siehe den Abschnitt Fehlgeschlagene und abgebrochene Aufträge auf der Seite Ausführungsmodi.
Sitzungen
Wenn Sie die Klasse
Sessioninqiskit-ibm-runtimeverwenden:Session.close()bedeutet, dass die Sitzung keine neuen Aufträge mehr annimmt, aber bestehende Aufträge bis zum Ende ausgeführt werden.Session.cancel()bricht alle anstehenden Sitzungsaufträge ab.
Wenn Sie die REST-API direkt verwenden:
PATCH /sessions/{id}mitaccepting_jobs=Falsebedeutet, dass die Sitzung keine neuen Aufträge mehr annimmt, aber bestehende Aufträge bis zum Ende ausgeführt werden.DELETE /sessions/{id}/closebricht alle anstehenden Sitzungsaufträge ab.
Anzahl Eine On-Demand-Kalibrierung ist nicht verfügbar.
Ja. Dies reduziert unerwünschte Kosten, wenn ein Benutzer vergisst, seine Sitzung zu schließen.
Sie können den interaktiven TTL-Wert nicht ändern. Sie können den maximalen TTL-Wert einer Sitzung ändern (siehe Angeben der Sitzungslänge ), er muss jedoch unter dem systemdefinierten Maximum liegen. Bitten Sie Ihren Administrator, sich an den IBM -Support zu wenden, wenn Sie eine andere interaktive TTL oder maximale System-TTL benötigen.
IBM Quantum Network mitglieder erhalten reservierte Kapazität auf IBM Quantum® QPUs. Die Auslastung wird von dieser Kapazität abgezogen und Instanzen mit geringerer Kapazität haben eine längere Wartezeit.
Ja. Wenn Sie mehrere Aufträge gleichzeitig in einer Sitzung einreichen, werden diese parallel ausgeführt.
Anzahl Die Sitzungen laufen im dedizierten Modus, d. h. der Benutzer hat vollen Zugriff auf das Backend. Die Sitzungen werden nie durch Kalibrierungen oder Software-Upgrades unterbrochen.
Ja. Im Sitzungsmodus ist die Nutzung die Wanduhrzeit, die die QPU der Sitzung zugeordnet ist. Sie beginnt, wenn der erste Sitzungsauftrag beginnt, und endet, wenn die Sitzung inaktiv wird, geschlossen wird oder wenn der letzte Auftrag abgeschlossen wird, je nachdem, was zuletzt eintritt. Der Verbrauch läuft also auch nach dem Ende einer Sitzung weiter, wenn die QPU noch einen Auftrag ausführt. Darüber hinaus zählt die Zeit nach Beendigung eines Auftrags, während die QPU auf einen anderen Sitzungsauftrag wartet (die interaktive TTL), als Nutzung. Aus diesem Grund sollten Sie sicherstellen, dass die Sitzung geschlossen wird, sobald Sie keine Aufträge mehr an sie übermitteln.
Batch
Die Anzahl der parallel laufenden Aufträge richtet sich nach dem für das Backend konfigurierten Grad der Parallelität, der bei den meisten Backends fünf beträgt. Die Anzahl der gleichzeitigen Aufträge in einem aktiven Stapel könnte jedoch geringer sein, da bereits andere Aufträge laufen könnten, wenn der Stapel aktiv wird.
Der Hauptunterschied besteht in der Abwägung von Zeit und Kosten:
Batch-Modus:
- Die Gesamtlaufzeit ist geringer, weil die klassische Verarbeitung parallel laufen kann.
- Da die Ausführung jedes einzelnen Auftrags einen geringen Mehraufwand verursacht, fallen bei gebündelten Aufträgen letztlich etwas höhere Kosten an als bei der Ausführung aller Schaltkreise in einem einzigen Auftrag.
- Da Sie im Batch-Modus keinen exklusiven Zugriff auf ein Backend haben, können Aufträge innerhalb eines Batches zusammen mit Aufträgen anderer Benutzer oder Kalibrierungsaufträgen laufen.
- Wenn einige Aufträge fehlschlagen, erhalten Sie trotzdem die Ergebnisse der abgeschlossenen Aufträge.
- Sie können mitten in einem Batch-Workload auf der Grundlage der Ergebnisse abgeschlossener Aufträge Maßnahmen ergreifen. Sie können zum Beispiel die restlichen Aufträge abbrechen, wenn die ersten Ergebnisse falsch aussehen.
Arbeitsweise:
- Die Gesamtlaufzeit ist wahrscheinlich höher, da es keine Parallelität gibt.
- Sie zahlen nicht für den zusätzlichen Overhead pro Auftrag, der mit Batch-Workloads verbunden ist.
- Alle Ihre Stromkreise werden zusammenlaufen.
- Wenn dieser einzelne Auftrag fehlschlägt, erhalten Sie keine Teilergebnisse.
- Ihr Auftrag könnte an die Grenze stoßen, wenn er zu viele Schaltkreise enthält oder wenn die Schaltkreise zu groß sind.
Wenn jeder Ihrer Aufträge weniger als eine Minute QPU-Zeit in Anspruch nimmt, sollten Sie in Erwägung ziehen, ihn zu einem größeren Auftrag zusammenzufassen (dies gilt für alle Ausführungsmodi).
Die Anzahl der Aufträge, die Sie in einem Stapel übermitteln können, ist zwar nicht begrenzt, aber es gibt eine Höchstdauer für einen Stapel. Das heißt, wenn die Wanduhrzeit eines Batches (die mit dem Start des ersten Batch-Jobs beginnt) die vom System festgelegte Höchstzeit überschreitet, nimmt der Batch keine neuen Jobs mehr an, und alle in der Warteschlange stehenden, aber nicht laufenden Jobs werden abgebrochen. Darüber hinaus gibt es je nach Tarif Obergrenzen für den Verbrauch Ihrer Aufträge. Um die maximale Zeit für eine Charge zu ermitteln, verwenden Sie die Methode
batch.details()und suchen Sie den Wertmax_time.Der für ein Backend konfigurierte Grad der Parallelität wird auch als "Ausführungsspuren" bezeichnet. Wenn eine oder mehrere Ausführungsspuren verfügbar sind und Ihre Batch-Aufträge als nächstes an der Reihe sind, startet der Scheduler so viele Aufträge, dass die Spuren gefüllt sind. Wenn Ihr Stapel nicht genügend Aufträge hat, um die Bahnen zu füllen, startet der Planer die Aufträge anderer Benutzer.
Beispiel: Das von Ihnen gewählte Backend hat fünf Ausführungsspuren, von denen zwei derzeit durch Aufträge anderer Benutzer belegt sind. Ihr Stapel von sechs Aufträgen ist der nächste, der ausgeführt werden soll.
Da drei Bahnen verfügbar sind, startet der Scheduler drei Ihrer sechs Batch-Jobs. Es startet weiterhin Aufträge in Ihrem Stapel, wenn Aufträge beendet und Ausführungsspuren verfügbar werden. Wenn eine Spur frei wird und es keine weiteren Aufträge in Ihrem Stapel gibt, startet der Scheduler den nächsten Auftrag in der Reihe.
Da QPUs begrenzte und gemeinsam genutzte Ressourcen sind, müssen alle Aufträge in der Warteschlange warten. Wenn jedoch der erste Auftrag in Ihrem Stapel ausgeführt wird, rücken alle anderen Aufträge in diesem Stapel an den Anfang der Warteschlange und werden vom Planer priorisiert.
Ja. Diese automatische Erkennung ist jedoch mit einem gewissen Overhead verbunden, so dass Sie Ihren Stapel und Ihre Sitzung immer schließen sollten.
Ja. Batch-Workloads können durch Kalibrierungen oder Software-Upgrades unterbrochen werden.
Anzahl Im Batch-Modus zählt nur die auf der Quantenhardware verbrachte Zeit als Nutzung.