انتقل إلى المحتوى الرئيسي

الحد الأقصى لوقت التنفيذ لأحمال عمل Qiskit Runtime

لضمان العدالة، يوجد حد أقصى محسوب من الخدمة لمقدار الوقت الذي يمكن أن تعمل فيه كل مهمة Qiskit Runtime. إذا تجاوزت المهمة هذا الحد الزمني، يُلغى تنفيذها قسرًا ويُطلق استثناء RuntimeJobMaxTimeoutError. يمكنك أيضًا تعيين حد أقصى لوقت التنفيذ على مهامك للمساعدة في التحكم في التكاليف.

ملاحظة

تُنهى الجلسة أو الدُفعة فورًا عند الوصول إلى حد التكلفة. ستواصل أي مهام تعمل حاليًا في تلك الجلسة أو الدُفعة عملها حتى الاكتمال، لكن ستُلغى أي مهام معلّقة.

تعيين حد أقصى لوقت التنفيذ

الحد الأقصى لوقت تنفيذ المهمة هو أصغر القيمتين التاليتين:

  • القيمة المعينة لـ max_execution_time
  • قيمة انتهاء مهلة المهمة المحددة من الخدمة

تستند قيمة max_execution_time إلى استخدام QPU، وليس إلى وقت الساعة الحائطية.

عيّن الحد الأقصى لوقت التنفيذ (بالثواني) في خيارات المهمة، كما هو موضح في المثال التالي. راجع أدلة خيارات Estimator أو خيارات Sampler أو خيارات Executor للحصول على معلومات حول ضبط الخيارات.

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 QPU usage of a specific job
print(f"QPU usage of 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 دقائق على QPU لكل نافذة متجددة مدتها 28 يومًا. يمكنك عرض استخدام نسخة معينة في صفحة النسخ.

الخطوات التالية

توصيات