انتقل إلى المحتوى الرئيسي
هذا المشروع في مرحلة تجريبية. وجدت خطأ؟ افتح مشكلة على GitHub. لديك سؤال أو فكرة؟ اسأل في Discussions — نحب سماع ملاحظاتك!
كيف جودة الترجمة في هذه الصفحة؟

الحد الأقصى لوقت التنفيذ لأحمال عمل خدمة IBM Quantum Compute

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

ملاحظة

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

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

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

  • القيمة المعينة لـ max_execution_time

  • الحد الأقصى للمهلة الذي تفرضه الخدمة (ثلاث ساعات)

تستند قيمة max_execution_time إلى استخدام QPU (الاستخدام الكمومي فقط)، وليس إلى الوقت الفعلي المنقضي.

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

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import 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")

الحد الأقصى لوقت التنفيذ الذي تفرضه الخدمة​

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

على سبيل المثال، إذا حددت max_execution_time=5000 (حوالي 83 دقيقة)، فسيتم إلغاء المهمة بعد حوالي 83 دقيقة، حتى لو كان بإمكان الخدمة السماح لها بالعمل لمدة ثلاث ساعات.

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

عند بدء دُفعة، يُعيَّن لها حد أقصى لمدة البقاء (الحد الأقصى لـ TTL). بعد الوصول إلى هذه القيمة، تُنهى الدُفعة، وتواصل أي مهام قيد التشغيل بالفعل عملها، وتُوضع أي مهام متبقية في قائمة انتظار الدُفعة في حالة فشل.

للدُفعات أيضًا قيمة تفاعلية لمدة البقاء (TTL التفاعلي) بين المهام لا يمكن تكوينها. إذا لم تُغلق الدُفعة صراحةً، فستُوقَّف مؤقتًا بعد انتهاء TTL التفاعلي ويمكن إعادة تنشيطها في أي وقت حتى تصل إلى الحد الأقصى لـ TTL.

للاطلاع على تعليمات التعامل مع هذه القيم، راجع تشغيل المهام في دُفعة.

الحد الأقصى لوقت تنفيذ الجلسة​

عند بدء جلسة، يُعيَّن لها قيمة الحد الأقصى لـ TTL التي تحدد المدة التي يمكن أن تعمل فيها الجلسة. بعد الوصول إلى هذه القيمة، تُنهى الجلسة، وتواصل أي مهام قيد التشغيل بالفعل عملها، وتُوضع أي مهام في قائمة الانتظار المتبقية في الجلسة في حالة فشل.

يوجد أيضًا قيمة TTL تفاعلية لا يمكن تكوينها. إذا لم تُضَف أي مهام جلسة إلى قائمة الانتظار خلال تلك الفترة، تُوقَّف الجلسة مؤقتًا.

للاطلاع على تعليمات التعامل مع هذه القيم، راجع تشغيل المهام في جلسة.

قيود أخرى​

في الخطة المجانية، يمكنك استخدام ما يصل إلى 10 دقائق على QPU لكل نافذة متجددة مدتها 28 يومًا. يمكنك عرض استخدام مثيل معيّن في صفحة المثيلات.

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

توصيات