Lewati ke konten utama

Waktu eksekusi maksimum untuk workload IBM Quantum Compute Service

Untuk memastikan keadilan, ada batas waktu maksimum yang diberlakukan layanan untuk setiap job yang bisa berjalan. Jika job melampaui batas waktu ini, job tersebut akan dibatalkan secara paksa dan exception RuntimeJobMaxTimeoutError akan dimunculkan. Kamu juga bisa menetapkan waktu eksekusi maksimum pada job kamu untuk membantu mengontrol biaya.

catatan

Session atau batch langsung dihentikan ketika batas biaya tercapai. Job apa pun yang sedang berjalan dalam session atau batch tersebut akan berjalan sampai selesai, tetapi job yang masih menunggu akan dibatalkan.

Mengatur waktu eksekusi maksimum

Waktu eksekusi maksimum untuk sebuah job adalah nilai terkecil dari:

  • Nilai yang diatur untuk max_execution_time

  • Nilai timeout maksimum layanan (tiga jam)

Nilai max_execution_time didasarkan pada penggunaan QPU (hanya penggunaan kuantum), bukan waktu jam dinding.

Atur waktu eksekusi maksimum (dalam detik) pada opsi job, seperti yang ditunjukkan pada contoh berikut. Lihat panduan Opsi Estimator, Opsi Sampler, atau Opsi Executor 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 penggunaan yang telah dikonsumsi oleh job yang sudah selesai dengan mengembalikan metrik job sebagai berikut:

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

Waktu eksekusi maksimum yang diberlakukan layanan

Layanan memberlakukan batas waktu eksekusi maksimum tiga 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 (kurang lebih 83 menit), maka job akan dibatalkan setelah kurang lebih 83 menit, meskipun layanan bisa mengizinkannya berjalan selama tiga jam.

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

Pada Open Plan, kamu bisa menggunakan hingga 10 menit pada QPU per jendela bergulir 28 hari. Kamu bisa melihat penggunaan instance di halaman Instances.

Langkah selanjutnya

Rekomendasi