سؤال

بعض الأسئلة القصيرة والغبية حول برنامج تلفزيوني:

1- أقدم وظائف باستخدام

qsub job_file

هل من الممكن تقديم وظيفة (فرعية) داخل ملف الوظيفة؟

2- لدي البرنامج النصي التالي:

qsub job_a
qsub job_b

لإطلاق Job_B ، سيكون من الرائع الحصول على نتائج Job_A. هل من الممكن وضع نوع من الحاجز أو بعض الحلول otehr حتى لا يتم إطلاق Job_B حتى انتهاء Job_A؟

شكرًا

هل كانت مفيدة؟

المحلول

أجب على السؤال الأول:

عادةً ما يُسمح لك فقط بإرسال وظائف من المضيف حيث يعمل خادم PBS ، ولكنه يعتمد على كيفية إعداد نظام PBS الخاص بك.

أجب على السؤال الثاني:

يمكنك استخدام التبعيات. اقرأ عن خيار -W في وثائق QSUB. إليك مثال على نص Bash:

dependency_id=$(qsub job_a)
qsub -W depend=afterok:$dependency_id job_b

سيبدأ Job_B بعد انتهاء Job_A بنجاح.

نصائح أخرى

نعم ، من الممكن تقديم وظيفة من وظيفة أخرى ، على الرغم من أن لديها بعض التحذيرات.

-يجب أن يكون لدى الأمهات أوامر عميل (QSUB) في المسار

-ستحاول $ USECP نسخ الملفات من العقدة التي يتم تشغيل المهمة الأولى.

-بقيت حذرًا من تقديم الوظائف من وظائف أخرى لأنه يمكنك بسهولة تعطل PBS_Server إذا استدعاء البرنامج النصي الخاص بك الكثير من QSUBs.

يمكنك الحصول على وظائف B - Z تعتمد على الوظيفة "A" مع بناء الجملة التالي

Qsub foo.sh -w تعتمد = ayfok: Joba

قد تكون صفائف الوظائف أيضًا حلاً جيدًا.

http://docs.adaptivecomputing.com/torque/help.htm#topics/2-jobs/multijobsubmission.htm

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top