Zum Hauptinhalt springen
Dieses Projekt befindet sich in der Beta-Phase. Einen Fehler gefunden? GitHub Issue erstellen. Frage oder Idee? In Discussions fragen — wir freuen uns über dein Feedback!
Wie ist die Übersetzungsqualität auf dieser Seite?

Maximale Ausführungszeit für IBM Quantum Compute Service-Workloads

Um Fairness zu gewährleisten, gibt es eine vom Dienst durchgesetzte maximale Laufzeit für jeden Job. Überschreitet ein Job dieses Zeitlimit, wird er zwangsweise abgebrochen und eine RuntimeJobMaxTimeoutError-Ausnahme wird ausgelöst. Du kannst auch eine maximale Ausführungszeit für deine Jobs festlegen, um die Kosten zu kontrollieren.

hinweis

Die Session oder der Batch wird sofort beendet, wenn das Kostenlimit erreicht ist. Alle Jobs, die in dieser Session oder diesem Batch gerade ausgeführt werden, werden bis zum Abschluss weitergeführt, aber alle ausstehenden Jobs werden abgebrochen.

Maximale Ausführungszeit festlegen​

Die maximale Ausführungszeit für einen Job ist der kleinere der folgenden Werte:

  • Der für max_execution_time festgelegte Wert

  • Der maximale Timeout-Wert des Dienstes (drei Stunden)

Der Wert max_execution_time basiert auf der QPU-Nutzung (nur Quantennutzung), nicht auf der tatsächlich verstrichenen Zeit (Wall-Clock-Zeit).

Lege die maximale Ausführungszeit (in Sekunden) in den Job-Optionen fest, wie im folgenden Beispiel gezeigt. Weitere Informationen zum Festlegen von Optionen findest du in den Anleitungen Estimator-Optionen, Sampler-Optionen oder Executor-Optionen.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(mode=backend)

estimator.options.max_execution_time = 2500

Du kannst auch abfragen, wie viel Nutzung abgeschlossene Jobs verbraucht haben, indem du die Job-Metriken wie folgt abrufst:

# Find QPU usage of a specific job
print(f"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")

Vom Dienst durchgesetzte maximale Ausführungszeit​

Der Dienst setzt ein maximales Ausführungszeitlimit von drei Stunden durch, um eine faire Gerätenutzung sicherzustellen. Wenn zusätzlich eine max_execution_time für den Job angegeben ist, wird der kleinere der beiden Werte verwendet.

Wenn du zum Beispiel max_execution_time=5000 (ungefähr 83 Minuten) angibst, wird der Job nach ungefähr 83 Minuten abgebrochen, obwohl der Dienst ihn für drei Stunden laufen lassen könnte.

Maximale Ausführungszeit für Batches​

Wenn ein Batch gestartet wird, wird ihm ein maximaler Time-to-Live-Wert (maximale TTL) zugewiesen. Sobald diese TTL erreicht ist, wird der Batch beendet, bereits laufende Jobs werden weiter ausgeführt, und alle in der Warteschlange verbleibenden Jobs des Batches werden in einen Fehlerzustand versetzt.

Batches haben außerdem einen interaktiven Time-to-Live-Wert (interaktive TTL) zwischen Jobs, der nicht konfiguriert werden kann. Wenn du einen Batch nicht explizit schließt, wird er nach Ablauf der interaktiven TTL deaktiviert und kann jederzeit wieder aktiviert werden, bis die maximale TTL erreicht ist.

Anweisungen zur Arbeit mit diesen Werten findest du unter Jobs in einem Batch ausführen.

Maximale Ausführungszeit für Sessions​

Wenn eine Session gestartet wird, wird ihr ein maximaler TTL-Wert zugewiesen, der bestimmt, wie lange eine Session laufen kann. Sobald diese TTL erreicht ist, wird die Session beendet, bereits laufende Jobs werden weiter ausgeführt, und alle in der Warteschlange verbleibenden Jobs der Session werden in einen Fehlerzustand versetzt.

Es gibt auch einen interaktiven TTL-Wert, der nicht konfiguriert werden kann. Wenn innerhalb dieses Zeitfensters keine Session-Jobs in der Warteschlange sind, wird die Session vorübergehend deaktiviert.

Anweisungen zur Arbeit mit diesen Werten findest du unter Jobs in einer Session ausführen.

Weitere Einschränkungen​

Im Open Plan kannst du bis zu 10 Minuten auf einer QPU pro rollierendem 28-Tage-Fenster nutzen. Du kannst die Nutzung einer Instanz auf der Seite Instanzen einsehen.

Nächste Schritte​

Empfehlungen