الحد الأقصى لوقت التنفيذ لأحمال عمل Qiskit Runtime
لضمان العدالة، يوجد حد أقصى محسوب من الخدمة لمقدار الوقت الذي يمكن أن تعمل فيه كل مهمة Qiskit Runtime. إذا تجاوزت المهمة هذا الحد الزمني، يُلغى تنفيذها قسرًا ويُطلق استثناء RuntimeJobMaxTimeoutError. يمكنك أيضًا تعيين حد أقصى لوقت التنفيذ على مهامك للمساعدة في التحكم في التكاليف.
تُنهى الجلسة أو الدُفعة فورًا عند الوصول إلى حد التكلفة.
تعيين حد أقصى لوقت التنفيذ
الحد الأقصى لوقت تنفيذ المهمة هو أصغر القيمتين التاليتين:
- القيمة المعينة لـ
max_execution_time - قيمة انتهاء مهلة المهمة المحددة من الخدمة
تستند قيمة max_execution_time إلى وقت الكم، وليس إلى وقت الساعة الحائطية. وقت الكم هو المقدار الزمني الذي يكون فيه QPU مخصصًا لمعالجة مهمتك.
عيّن الحد الأقصى لوقت التنفيذ (بالثواني) في خيارات المهمة، كما هو موضح في المثال التالي. راجع تحديد الخيارات للحصول على معلومات حول ضبط الخيارات.
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
يمكنك أيضًا معرفة مقدار وقت الكم الذي استخدمته المهام المكتملة عن طريق إرجاع مقاييس المهمة كما يلي:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
الحد الأقصى لوقت التنفيذ المحسوب من الخدمة
تحسب الخدمة قيمة مهلة مناسبة للمهمة بناءً على الدوائر والخيارات المدخلة. تُحدَّد هذه المهلة المحسوبة من الخدمة بحد أقصى 3 ساعات لضمان الاستخدام العادل للجهاز. إذا تم تحديد max_execution_time للمهمة أيضًا، تُستخدم القيمة الأصغر بين الاثنتين.
على سبيل المثال، إذا حددت max_execution_time=5000 (ما يعادل تقريبًا 83 دقيقة)، لكن الخدمة تحدد أن تنفيذ المهمة لا ينبغي أن يستغرق أكثر من 5 دقائق (300 ثانية)، فستُلغى المهمة بعد 5 دقائق.
الحد الأقصى لوقت تنفيذ الدُفعة
عند بدء دُفعة، يُعيَّن لها حد أقصى لمدة البقاء (الحد الأقصى لـ TTL). بعد الوصول إلى هذه القيمة، تُنهى الدُفعة، وتواصل أي مهام قيد التشغيل بالفعل عملها، وتُوضع أي مهام في قائمة الانتظار المتبقية في الدُفعة في حالة فشل.
للدُفعات أيضًا قيمة تفاعلية لمدة البقاء (TTL التفاعلي) بين المهام لا يمكن تكوينها. إذا لم تُغلق الدُفعة صراحةً، فستُوقَّف مؤقتًا بعد انتهاء TTL التفاعلي ويمكن إعادة تنشيطها في أي وقت حتى تصل إلى الحد الأقصى لـ TTL.
للاطلاع على تعليمات التعامل مع هذه القيم، راجع تشغيل المهام في دُفعة.
الحد الأقصى لوقت تنفيذ الجلسة
عند بدء جلسة، يُعيَّن لها قيمة الحد الأقصى لـ TTL التي تحدد المدة التي يمكن أن تعمل فيها الجلسة. بعد الوصول إلى هذه القيمة، تُنهى الجلسة، وتواصل أي مهام قيد التشغيل بالفعل عملها، وتُوضع أي مهام في قائمة الانتظار المتبقية في الجلسة في حالة فشل.
يوجد أيضًا قيمة TTL تفاعلية لا يمكن تكوينها. إذا لم تُضَف أي مهام جلسة إلى قائمة الانتظار خلال تلك الفترة، تُوقَّف الجلسة مؤقتًا.
للاطلاع على تعليمات التعامل مع هذه القيم، راجع تشغيل المهام في جلسة.
قيود أخرى
- لا يمكن أن تتجاوز المدخلات للمهام 50 ميغابايت في الحجم.
- يمكن لمستخدمي الخطة المجانية استخدام ما يصل إلى 10 دقائق من وقت الكم لكل نافذة متجددة مدتها 28 يومًا. وقت الكم هو المقدار الزمني الذي يكون فيه QPU مخصصًا لمعالجة مهمتك. يمكنك عرض استخدام نسخة معينة في صفحة النسخ.
الخطوات التالية
- استخدام حمل العمل.
- راجع هذه النصائح: تقليل وقت تشغيل المهمة.