เวลาดำเนินการสูงสุดสำหรับ 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
ขั้นตอนถัดไป
- การใช้งาน workload
- ดูเคล็ดลับเหล่านี้: ลดเวลารัน job