Waktu eksekusi maksimum untuk workload Qiskit Runtime
Untuk memastikan keadilan, ada batas waktu maksimum yang dihitung oleh layanan untuk setiap job Qiskit Runtime. Jika sebuah job melebihi batas waktu ini, job tersebut akan dibatalkan secara paksa dan exception RuntimeJobMaxTimeoutError akan dimunculkan. Kamu juga bisa mengatur waktu eksekusi maksimum pada job-mu untuk membantu mengontrol biaya.
Session atau batch langsung dihentikan ketika batas biaya tercapai.
Mengatur waktu eksekusi maksimumβ
Waktu eksekusi maksimum untuk sebuah job adalah nilai terkecil dari:
- Nilai yang diatur untuk
max_execution_time - Nilai timeout job yang ditentukan oleh layanan
Nilai max_execution_time didasarkan pada waktu quantum, bukan waktu jam dinding. Waktu quantum adalah jumlah waktu yang dikhususkan QPU untuk memproses job-mu.
Atur waktu eksekusi maksimum (dalam detik) pada opsi job, seperti yang ditunjukkan pada contoh berikut. Lihat Tentukan opsi untuk informasi tentang pengaturan opsi.
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
estimator = Estimator(mode=backend)
estimator.options.max_execution_time = 2500
Kamu juga bisa mengetahui berapa banyak waktu quantum yang telah digunakan oleh job yang sudah selesai dengan mengembalikan metrik job sebagai berikut:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
Waktu eksekusi maksimum yang dihitung layananβ
Layanan menghitung nilai timeout job yang sesuai berdasarkan Circuit dan opsi input. Timeout yang dihitung layanan ini dibatasi hingga 3 jam untuk memastikan penggunaan perangkat yang adil. Jika max_execution_time juga ditentukan untuk job tersebut, nilai yang lebih kecil dari keduanya yang digunakan.
Misalnya, jika kamu menentukan max_execution_time=5000 (sekitar 83 menit), tetapi layanan menentukan bahwa eksekusi job tidak boleh lebih dari 5 menit (300 detik), maka job akan dibatalkan setelah 5 menit.
Waktu eksekusi maksimum Batchβ
Ketika sebuah batch dimulai, batch tersebut diberi nilai time to live maksimum (TTL maksimum). Setelah TTL ini tercapai, batch dihentikan, job yang sudah berjalan akan terus berjalan, dan job yang masih antre dalam batch akan dimasukkan ke status gagal.
Batch juga memiliki nilai interactive time to live (TTL interaktif) di antara job yang tidak bisa dikonfigurasi. Jika kamu tidak menutup batch secara eksplisit, batch akan dinonaktifkan setelah TTL interaktif berakhir dan bisa diaktifkan kembali kapan saja sampai mencapai TTL maksimumnya.
Untuk instruksi cara bekerja dengan nilai-nilai ini, lihat Jalankan job dalam batch.
Waktu eksekusi maksimum Sessionβ
Ketika sebuah Session dimulai, Session tersebut diberi nilai TTL maksimum yang menentukan berapa lama Session bisa berjalan. Setelah TTL ini tercapai, Session dihentikan, job yang sudah berjalan akan terus berjalan, dan job yang masih antre dalam Session akan dimasukkan ke status gagal.
Ada juga nilai TTL interaktif yang tidak bisa dikonfigurasi. Jika tidak ada job Session yang diantre dalam jangka waktu tersebut, Session akan dinonaktifkan sementara.
Untuk instruksi cara bekerja dengan nilai-nilai ini, lihat Jalankan job dalam session.
Batasan lainnyaβ
- Input untuk job tidak boleh melebihi 50MB.
- Pengguna Open Plan bisa menggunakan hingga 10 menit waktu quantum per jendela bergulir 28 hari. Waktu quantum adalah jumlah waktu yang dikhususkan QPU untuk memproses job-mu. Kamu bisa melihat penggunaan instance di halaman Instances.
Langkah selanjutnyaβ
- Penggunaan workload.
- Tinjau tips ini: Minimalkan waktu jalannya job.