यदि मुझे "समानांतर में" कई धारावाहिक कार्यक्रम चलाने की आवश्यकता है (क्योंकि समस्या सरल है लेकिन समय लेने वाली है - मुझे एक ही प्रोग्राम के लिए कई अलग-अलग डेटा सेटों में पढ़ने की ज़रूरत है), समाधान सरल है यदि मैं केवल एक नोड का उपयोग करता हूं। मैं बस इतना करता हूं कि प्रत्येक कमांड के बाद एम्पर्सेंड के साथ सीरियल जॉब्स जमा करना जारी रखें, उदा। नौकरी स्क्रिप्ट में:क्या पीबीएस बैच सिस्टम नोड्स में एकाधिक धारावाहिक नौकरियों को स्थानांतरित करता है?
./program1 &
./program2 &
./program3 &
./program4
जो स्वाभाविक रूप से एक अलग प्रोसेसर पर प्रत्येक धारावाहिक कार्यक्रम चलाएगा। यह एक लॉगिन सर्वर या स्टैंडअलोन वर्कस्टेशन पर अच्छी तरह से काम करता है, और निश्चित रूप से बैच नौकरी के लिए केवल एक नोड मांगना।
लेकिन अगर मुझे 110 अलग-अलग डेटा सेट पढ़ने के लिए उसी कार्यक्रम के 110 अलग-अलग उदाहरण चलाने की आवश्यकता है तो क्या होगा? यदि मैं एक स्क्रिप्ट के साथ एकाधिक नोड्स (14 कहता हूं) सबमिट करता हूं जो 110./program# कमांड प्रस्तुत करता है, तो बैच सिस्टम अलग-अलग नोड्स पर एक अलग प्रोसेसर पर प्रत्येक नौकरी चलाएगा, या क्या यह उन सभी को चलाने की कोशिश करेगा, 8 कोर नोड?
मैंने अलग-अलग डेटा पढ़ने के लिए एक साधारण एमपीआई कोड का उपयोग करने का प्रयास किया है, लेकिन विभिन्न त्रुटियों के परिणामस्वरूप, 110 प्रक्रियाओं में से लगभग 100 में से सफल होने के साथ-साथ अन्य क्रैश हो रहे हैं। मैंने नौकरी के सरणी भी मानी हैं, लेकिन मुझे यकीन नहीं है कि मेरा सिस्टम इसका समर्थन करता है या नहीं।
मैंने व्यक्तिगत डेटा सेट पर सीरियल प्रोग्राम का व्यापक रूप से परीक्षण किया है - कोई रनटाइम त्रुटियां नहीं हैं, और मैं प्रत्येक नोड पर उपलब्ध स्मृति से अधिक नहीं हूं।
बहुत बहुत धन्यवाद, अब मैं आपके कुछ सुझावों को लागू कर रहा हूं। जीएनयू समानांतर के लिए –
+1 - एक अद्भुत उपकरण। – Owen