2011-04-12 12 views
7

मैं उपयोगकर्ता-स्पेस टूल (अधिमानतः पाइथन में - इसे छोड़कर, कुछ भी आसानी से संशोधित कर सकता हूं अगर मैं इसे पहले से ही कर सकता हूं) को प्रतिस्थापित करने के लिए एक छोटी स्क्रिप्ट मुझे लगता है कि नीचे दो बातें करता है का उपयोग कर: लोड, उपलब्ध स्मृति के लिएनौकरी शेड्यूलिंग के लिए पायथन लाइब्रेरी, एसएसएच

  • चुनाव कम से कम 100 कंप्यूटर (फेडोरा 13, यह बहुत होता है), और अगर यह किसी तरह लग रहा है उन्हें
  • उपयोग कर रहा है
  • नौकरियों के लिए अच्छे मेजबान का चयन करता है, एसएसएच पर इन नौकरियों को चलाता है। ये नौकरियां मनमानी कमांड लाइन प्रोग्रामों का निष्पादन हैं जो एक साझा फाइल सिस्टम को पढ़ और लिखती हैं - आम तौर पर छवि प्रसंस्करण स्क्रिप्ट या समान - सीपीयू, कभी-कभी स्मृति गहन कार्य।
उदाहरण के लिए

, मेरे वर्तमान स्क्रिप्ट का उपयोग कर, मैं एक अजगर शीघ्र

>>> import hosts 
>>> hosts.run_commands(['users']*5) 

में या कमांड लाइन

% hosts.py "users" "users" "users" "users" "users" 
खोजने 5 के बाद आदेश users 5 बार (चलाने के लिए

से कर सकते हैं कंप्यूटर जिस पर कमांड को सीपीयू लोड और कॉन्फ़िगरेशन फ़ाइल से कम से कम 5 कंप्यूटरों पर उपलब्ध मेमोरी की जांच करके चलाया जा सकता है)। स्क्रिप्ट के अलावा कोई नौकरी सर्वर नहीं होना चाहिए, और कंप्यूटर पर कोई कार्यकर्ता डिमन्स या प्रक्रिया नहीं है जो इन आदेशों को चलाएगा।

मैं अतिरिक्त रूप से नौकरियों को ट्रैक करने, विफलता पर फिर से नौकरियों को चलाने में सक्षम होना चाहता हूं, लेकिन ये अतिरिक्त सुविधाएं हैं (वास्तविक नौकरी शेड्यूलर में बहुत मानक) जिन्हें मुझे वास्तव में आवश्यकता नहीं है।

मुझे पाइथन के लिए अच्छी एसएसएच लाइब्रेरी मिली हैं, classh और PuSSH जैसी चीजें, जिनके पास (बहुत सरल) भार संतुलन सुविधाओं की आवश्यकता नहीं है। मैं जो चाहता हूं उसके दूसरी तरफ कोंडोर या स्लरम है, जैसा कि मैंने स्पष्ट किया है, मैंने स्पष्ट रूप से कुछ हल्का करना चाहते हैं। वे चीजों को उचित तरीके से कर रहे होंगे, लेकिन उनके बारे में पढ़ने से, वे उन्हें केवल उपयोगकर्ता स्थान में कताई की तरह लगते हैं जब मुझे उनकी आवश्यकता होती है तो असंभव हो जाएगा। यह एक समर्पित क्लस्टर नहीं है, और मेरे पास इन होस्टों पर रूट पहुंच नहीं है।

मैं वर्तमान में कंप्यूटर के कुछ बुनियादी मतदान के साथ कक्षा के चारों ओर एक रैपर का उपयोग करने की योजना बना रहा हूं, जब भी मुझे पता होना चाहिए कि अगर मैं कुछ और नहीं ढूंढ पा रहा हूं तो वे कितने व्यस्त हैं।

+1

किस तरह की नौकरियां? [कपड़े] (http://docs.fabfile.org/en/1.0.1/index.html) (एसएसएच रैपर, कोई नौकरी शेड्यूलिंग नहीं), [जेनकींस] (https://wiki.jenkins-ci.org/display/जेन्किन्स/मीट + जेनकींस) (सीआई उपकरण: दोहराने योग्य कार्य, शून्य-सेटअप, सरल लोड संतुलन), [डिस्को] (http://discoproject.org/) (मैपरीडस, एरलांग + पायथन, केवल पायथन नौकरियां?), हडूप (बड़ा, जड़ की आवश्यकता है?), पीबीएस (टोक़ - पारंपरिक वर्कलोड प्रबंधन प्रणाली)। – jfs

+0

धन्यवाद जेएफ, यह कहने के लिए प्रश्न संपादित किया गया है कि नौकरियां कमांड लाइन प्रोग्राम चला रही हैं जो साझा फ़ाइलों को पढ़ने, पढ़ने और लिखने की प्रक्रिया करती हैं। – Thomas

+0

फैब्रिक इस उपयोग के लिए उचित हो सकता है, लेकिन कोड के समांतर निष्पादन तक एक सुविधा नहीं है। – Thomas

उत्तर

3

fabric है, मुझे आश्चर्य है कि किसी ने इसका उल्लेख नहीं किया है।

+0

फैब्रिक में अब समानांतर निष्पादन है! readthedocs.org/docs/fabric/en/latest/usage/parallel.html – Thomas

1

आप बिल्डबॉट को संशोधित कर सकते हैं और मुड़ सकते हैं? यह जाने के लिए एक अच्छा तरीका लगता है।

2

Slurm एक शक्तिशाली नौकरी शेड्यूलर है जो PySlurm का उपयोग कर पायथन में प्रोग्राम करने योग्य हो सकता है।

मुझे नहीं पता कि यह कोंडोर को तैनात करने के लिए कठिन है या नहीं। इसके अलावा मुझे नहीं पता कि यह आपकी सभी ज़रूरतों को फिट करता है, लेकिन बस मामले में, मैं इसे लिखता हूं।

+0

स्लरम ऐसा लगता है कि यह काम करेगा, लेकिन उपयोगकर्ता स्थान पर इसे तैनात करना असंभव दिखता है। मैं अपनी आवश्यकताओं को वापस प्रश्न में थोड़ा सा स्केल करने जा रहा हूं। (इसलिए ध्यान दें कि प्रश्न संपादित करने से पहले यह उत्तर अधिक उपयुक्त था) – Thomas

1

func पर एक नज़र डालें। मैंने इसे "हैलो, वर्ल्ड" स्तर से परे नहीं उपयोग किया है, लेकिन मुझे लगता है कि यह बिल आपके लिए बिल्कुल फिट बैठता है।

1

मुझे थोड़ा देर हो सकती है: मुझे यहां python saga पर एक नज़र डालने की सलाह देना पसंद है।

0

मैं इस सवाल के लिए देर हो सकती है, लेकिन मैं हाल ही में एक ही मुद्दा का सामना करना पड़ा और मैं एक सी/सी + पुस्तकालय, जहां मैं काम निर्धारण और सर्वर लोड सर्वर के एक समूह से अधिक छवि फ़ाइलों के प्रसंस्करण के लिए संतुलन कर सकते हैं के लिए देख रहा हूँ। मैं लाइब्रेरी को जीयूआई से कॉल करूंगा और नौकरियों की स्थिति की निगरानी करूंगा।

मैं slurm स्थापित किया है और आदेशों की कोशिश की, लेकिन एक उपकरण के रूप में उपयोग और संभवतः एक पुस्तकालय नहीं बल्कि कठिन लगता है के रूप में। अन्य विकल्प नौकरी शेड्यूलिंग प्रदान करते हैं लेकिन सीपीयू उपयोग के आधार पर कोई भार संतुलन नहीं है। हम किसी भी सुझाव की सराहना करेंगे।

सर्वश्रेष्ठ सादर

+0

हाय मुस्तफ - यदि आप एक नया प्रश्न पूछते हैं तो आपको शायद अधिक सहायक प्रतिक्रियाएं मिलेंगी। मैं निश्चित रूप से इस तरह के एक प्रश्न के लिए वोट देना होगा, मैं भी उत्सुक हूँ! – Thomas

संबंधित मुद्दे