ข้ามไปยังเนื้อหาหลัก

เวลาดำเนินการสูงสุดสำหรับ workload ของ IBM Quantum Compute Service

เพื่อความเป็นธรรม มีเวลาสูงสุดที่ service บังคับใช้ สำหรับแต่ละ job ที่สามารถรันได้ หาก job เกินขีดจำกัดเวลานี้ จะถูกยกเลิกโดยบังคับและ exception RuntimeJobMaxTimeoutError จะถูก raise นอกจากนี้ยังสามารถตั้งค่าเวลาดำเนินการสูงสุดบน job เพื่อช่วยควบคุมค่าใช้จ่าย

หมายเหตุ

Session หรือ batch จะถูกยุติทันทีเมื่อถึงขีดจำกัดค่าใช้จ่าย job ที่กำลังรันอยู่ใน session หรือ batch นั้นจะรันต่อไปจนเสร็จ แต่ job ที่ยังรอคิวอยู่จะถูกยกเลิก

ตั้งค่าเวลาดำเนินการสูงสุด

เวลาดำเนินการสูงสุดสำหรับ job คือค่าที่น้อยกว่าในบรรดา:

  • ค่าที่ตั้งไว้สำหรับ max_execution_time

  • ค่า timeout สูงสุดของ service (สามชั่วโมง)

ค่า max_execution_time อ้างอิงจาก การใช้งาน QPU (การใช้งานควอนตัมเท่านั้น) ไม่ใช่เวลานาฬิกาบนผนัง

ตั้งค่าเวลาดำเนินการสูงสุด (เป็นวินาที) บน job options ดังแสดงในตัวอย่างต่อไปนี้ ดูคู่มือ Estimator options, Sampler options หรือ Executor options สำหรับข้อมูลเกี่ยวกับการตั้งค่า options

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

นอกจากนี้ยังสามารถค้นหาว่า job ที่เสร็จสิ้นใช้การใช้งานไปเท่าไรโดยการดึง job metrics ดังนี้:

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

เวลาดำเนินการสูงสุดที่บังคับโดย service

service บังคับใช้ขีดจำกัดเวลาดำเนินการสูงสุดที่สามชั่วโมงเพื่อให้การใช้งานอุปกรณ์เป็นธรรม หากมีการระบุ max_execution_time สำหรับ job ด้วย จะใช้ค่าที่น้อยกว่าในสองค่า

ตัวอย่างเช่น หากคุณระบุ max_execution_time=5000 (ประมาณ 83 นาที) job จะถูกยกเลิกหลังจากประมาณ 83 นาที แม้ว่า service จะสามารถให้รันได้นานถึงสามชั่วโมงก็ตาม

เวลาดำเนินการสูงสุดของ batch

เมื่อเริ่ม batch จะได้รับค่าเวลาอยู่รอดสูงสุด (maximum TTL) หลังจาก TTL นี้ถึง batch จะถูกยุติ job ที่กำลังรันอยู่จะรันต่อไป และ job ที่อยู่ในคิวที่เหลืออยู่ใน batch จะถูกตั้งสถานะเป็น failed

batch ยังมีค่าเวลาอยู่รอดแบบโต้ตอบ (interactive TTL) ระหว่าง job ที่ไม่สามารถกำหนดค่าได้ หากไม่ปิด batch อย่างชัดเจน batch จะถูกปิดใช้งานหลังจาก interactive TTL หมดอายุ และสามารถเปิดใช้งานใหม่ได้ทุกเมื่อจนกว่าจะถึง maximum TTL

สำหรับคำแนะนำในการทำงานกับค่าเหล่านี้ ดู รัน job ใน batch

เวลาดำเนินการสูงสุดของ Session

เมื่อเริ่ม Session จะได้รับค่า maximum TTL ที่กำหนดระยะเวลาที่ Session สามารถรันได้ หลังจาก TTL นี้ถึง Session จะถูกยุติ job ที่กำลังรันอยู่จะรันต่อไป และ job ที่อยู่ในคิวที่เหลืออยู่ใน Session จะถูกตั้งสถานะเป็น failed

นอกจากนี้ยังมีค่า interactive TTL ที่ไม่สามารถกำหนดค่าได้ หากไม่มี session job ที่อยู่ในคิวภายในช่วงเวลานั้น Session จะถูกปิดใช้งานชั่วคราว

สำหรับคำแนะนำในการทำงานกับค่าเหล่านี้ ดู รัน job ใน Session

ข้อจำกัดอื่นๆ

สำหรับแผน Open สามารถใช้ QPU ได้สูงสุด 10 นาทีต่อ 28 วันแบบต่อเนื่อง สามารถดูการใช้งานของ instance ได้ที่หน้า Instances

ขั้นตอนถัดไป

คำแนะนำ