Maximale Ausführungszeit für Workloads des „ IBM Quantum “-Compute-Service
Um Fairness zu gewährleisten, gibt es eine vom Dienst festgelegte maximale Ausführungszeit für jeden Auftrag. Wenn ein Job diese Zeitgrenze überschreitet, wird er zwangsweise abgebrochen und es wird eine RuntimeJobMaxTimeoutError Ausnahme ausgelöst. Sie können für Ihre Aufträge auch eine maximale Ausführungszeit festlegen, um die Kosten besser im Griff zu behalten.
Die Sitzung oder der Stapel wird sofort beendet, sobald das Kostenlimit erreicht ist. Alle derzeit in dieser Sitzung oder diesem Batch ausgeführten Aufträge werden zu Ende ausgeführt, ausstehende Aufträge werden jedoch abgebrochen.
Legen Sie eine maximale Ausführungszeit fest
Die maximale Ausführungszeit für einen Auftrag ist der kleinere dieser beiden Werte:
- Der Wert, der für
max_execution_time - Der maximale Timeout-Wert des Dienstes (drei Stunden)
Der Wert max_execution_time basiert auf der QPU-Auslastung (ausschließlich Quantenauslastung) und nicht auf der realen Zeit.
Legen Sie die maximale Ausführungszeit (in Sekunden) in den Auftragsoptionen fest, wie im folgenden Beispiel gezeigt. Informationen zum Festlegen von Optionen finden Sie in den Anleitungen zu den Optionen für den Estimator, den Sampler oder den Executor.
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 = 2500Sie können auch ermitteln, wie viel Ressourcen abgeschlossene Aufträge verbraucht haben, indem Sie die Auftragsmetriken wie folgt abrufen:
# 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 erzwungene maximale Ausführungszeit
Der Dienst legt eine maximale Ausführungszeit von drei Stunden fest, um eine faire Gerätenutzung zu gewährleisten. Wenn für den Auftrag zusätzlich ein angegeben max_execution_time wird, wird der kleinere der beiden Werte verwendet.
Wenn Sie beispielsweise max_execution_time=5000 (ca. 83 Minuten) angeben, wird der Auftrag nach ca. 83 Minuten abgebrochen, obwohl der Dienst eine Laufzeit von drei Stunden zulassen würde.
Maximale Ausführungszeit pro Stapel
Wenn eine Charge gestartet wird, wird ihr ein maximaler TTL-Wert (Time to Live) zugewiesen. Nach Erreichen dieser TTL wird der Stapel beendet, alle bereits laufenden Aufträge werden weiter ausgeführt, und alle im Stapel verbleibenden Aufträge in der Warteschlange werden in einen Fehlerzustand versetzt.
Batches haben auch einen interaktiven Time-to-Live-Wert (interaktive TTL) zwischen Aufträgen, der nicht konfiguriert werden kann. Wenn Sie einen Stapel nicht ausdrücklich schließen, wird er nach Ablauf der interaktiven TTL deaktiviert und kann jederzeit wieder aktiviert werden, bis er seine maximale TTL erreicht.
Anweisungen zum Arbeiten mit diesen Werten finden Sie unter „Jobs in einem Stapel ausführen “.
Maximale Ausführungszeit der Sitzung
Wenn eine Sitzung gestartet wird, wird ihr ein maximaler TTL-Wert zugewiesen, der bestimmt, wie lange eine Sitzung laufen kann. Nach Erreichen dieser TTL wird die Sitzung beendet, alle bereits laufenden Aufträge werden weiter ausgeführt, und alle in der Sitzung verbliebenen Aufträge in der Warteschlange werden in einen Fehlerzustand versetzt.
Es gibt auch einen interaktiven TTL-Wert, der nicht konfiguriert werden kann. Wenn innerhalb dieses Zeitfensters keine Sitzungsaufträge in die Warteschlange gestellt werden, wird die Sitzung vorübergehend deaktiviert.
Anweisungen zum Arbeiten mit diesen Werten finden Sie unter Ausführen von Jobs in einer Sitzung.
Andere Einschränkungen
Im Open-Plan-Tarif können Sie innerhalb eines rollierenden 28-Tage-Zeitraums bis zu 10 Minuten auf einer QPU nutzen. Auf der Seite „Instanzen“ können Sie die Nutzung einer Instanz einsehen.
Nächste Schritte
- Auslastung.
- Beachten Sie diese Tipps: Minimieren Sie die Ausführungszeit des Jobs.