पेशेवरों और एक ची क्लस्टर के विपक्ष?


33

मैंने बहुत सारे पोस्ट देखे हैं कि रास्पबेरी पिस के साथ "सुपरकंप्यूटर" या क्लस्टर कैसे बनाया जाए, लेकिन मैंने वास्तव में पिस के नेटवर्क बनाने के पेशेवरों और विपक्षों के साथ बहुत कम पाया है। मुझे अपने छोटे क्लस्टर बनाने में दिलचस्पी है, लेकिन मेरे कुछ सवाल हैं।

एक बार क्लस्टर हो जाने के बाद, आरपीआई एकल वर्चुअल कंप्यूटर के रूप में कार्य करता है, या क्या आपके पास सभी RPI पर व्यक्तिगत नियंत्रण है? क्या एक नोड पर दूसरों का नियंत्रण है?

क्या ऐसा कुछ है जो एक RPI कर सकता है जो एक क्लस्टर में सीमित है? उदाहरण के लिए, क्या मेरा अभी भी सभी व्यक्तिगत GPIO पोर्ट पर नियंत्रण होगा?

यह कितनी तेजी से पाई बनाता है? आइए कहते हैं कि मैं एक 2 नोड क्लस्टर बनाता हूं, प्रत्येक 1GHz पर देखा जाता है, क्या मेरे पास अनिवार्य रूप से "डुअल कोर 1GHz" प्रोसेसर होगा? क्या क्लस्टर को बाइनरी मल्टीपल्स में होना चाहिए? (पूर्व 1,2,4,8,16,32,64)

क्या यह पीजी के लिए NGINX के माध्यम से चलने वाली मेरी वेब होस्टिंग को जटिल करेगा? क्या कुछ नोड्स की प्रसंस्करण शक्ति को उन विशिष्ट कार्यों को सौंपा जा सकता है जिन्हें वे संभालते हैं? जैसे नोड 1 वेब सेवा अनुरोधों को संभालता है, नोड 2 क्लाउड स्टोरेज आदि को संभालता है।

जवाबों:


49

कुछ दिलचस्प सवाल। मुझे लगता है कि आप थोड़ा गलतफहमी हो सकता है कि कैसे "सुपर कंप्यूटर" रास्पबेरी पाई के साथ बनाया गया है। वे एक स्वचालित लोड साझाकरण प्रणाली के रूप में कार्य नहीं करते हैं। वे समानांतर प्रोग्रामिंग नामक कुछ के लिए डिज़ाइन किए गए हैं , जहां एक जटिल कार्य टुकड़ों में टूट जाता है जिसे एक साथ प्रदर्शन किया जा सकता है। क्लस्टर (हेड नोड) में मुख्य पाई समग्र कार्य को व्यवस्थित करने के लिए है, और क्लस्टर (क्लाइंट नोड्स) में प्रत्येक पीआई अपने आवंटित कार्य करता है और रिपोर्ट वापस हेड नोड में परिणाम करता है। OpenMPI जैसे पुस्तकालय इसके लिए महत्वपूर्ण हैं।

इसके अतिरिक्त, जो रास्पबेरी पाई क्लस्टर बनाए गए हैं उन्हें कुशल कंप्यूटिंग उपकरणों के रूप में नहीं बनाया गया है। उन्हें विकास प्लेटफार्मों के रूप में बनाया गया है । 32 डेस्कटॉप पीसी की तुलना में 32 रास्पबेरी पेस्ट खरीदना काफी सस्ता है। आप उस तरह से अपने समानांतर प्रोग्रामिंग सॉफ्टवेयर को बहुत सस्ते में विकसित और परीक्षण कर सकते हैं। यदि आपके पास पीएस या पीसी नहीं है तो एकमात्र विकल्प वास्तविक सुपर कंप्यूटर पर सीपीयू समय का अनुरोध करना है। प्रश्न में कंप्यूटर के आकार के आधार पर, ऐसा करने से धन खर्च हो सकता है या संसाधन उपलब्ध होने से पहले लंबे समय तक प्रतीक्षा करनी पड़ सकती है। इसलिए लोगों ने अपने निजी समूह क्यों बनाए हैं। यह केवल तभी काम करता है जब आप जानते हैं कि यह काम करता है जब आप असली कंप्यूटर पर अपना एप्लिकेशन चलाते हैं!

तो, इसे ध्यान में रखते हुए और अपने विशिष्ट प्रश्नों पर आगे बढ़ें।

एक उचित क्लस्टर में PE एक ही वर्चुअल कंप्यूटर के रूप में कार्य नहीं करता है। आपके पास प्रत्येक ग्रिड पर कार्य या संसाधन आवंटन प्रणाली जैसे सन ग्रिड इंजन के रूप में ढीला नियंत्रण है । टास्क को नोड्स को आवश्यकतानुसार आवंटित किया जाता है, और जब कार्य समाप्त हो जाते हैं तो उस नोड के संसाधनों को नए कार्यों के लिए मुक्त कर दिया जाता है।

एक क्लस्टर में, चूंकि प्रत्येक लिनक्स की अपनी प्रति चल रही है, प्रत्येक Pi अपने GPIO पोर्ट का स्थानीय नियंत्रण बनाए रखेगा। मुझे यकीन नहीं है कि समानांतर कंप्यूटिंग वातावरण में सॉफ्टवेयर वास्तव में कैसे उपयोग करेगा, लेकिन आप वहां हैं।

एक क्लस्टर वास्तव में तेजी से एक पाई नहीं बनाता है, क्योंकि वे एक कंप्यूटर नहीं हैं। आप जो हासिल कर रहे हैं वह बस एक बार में अधिक करने की क्षमता है। आप दो के गुणकों तक सीमित नहीं हैं। हालाँकि आपके द्वारा चलाए जा रहे कार्यों के आधार पर संकुल कंप्यूटरों के लिए एक वास्तविक व्यावहारिक ऊपरी सीमा है। सोचिए अगर आप कई पीएस पर एक समानांतर गणना चला रहे हैं जिसमें 200 चरणों की आवश्यकता होती है। हालाँकि, प्रत्येक अगले चरण में उस जानकारी की आवश्यकता होती है, जो प्रत्येक Pi ने अपने पिछले चरण की गणना की है। इसलिए प्रत्येक Pi को प्रत्येक पुनरावृत्ति प्रत्येक पीआई से डेटा प्राप्त करने की आवश्यकता होती है। प्रत्येक पुनरावृत्ति की गणना करने में लगने वाले समय के आधार पर, आप गणना करने की तुलना में चारों ओर डेटा भेजने में अधिक समय खर्च कर सकते हैं। यही कारण है कि अधिकांश सुपर कंप्यूटर InfiniBand का उपयोग करते हैंनेटवर्क। यह बहुत तेज़ है, इसलिए आप अधिक गणना कर सकते हैं। इसका समाधान कम पाई का उपयोग करना है, लेकिन उन्हें प्रत्येक पुनरावृत्ति के लिए अधिक काम करना है, लेकिन यह आपके एल्गोरिथ्म के आधार पर संभव नहीं हो सकता है। इसलिए व्यावहारिक ऊपरी सीमा। (पिस पर यह विशेष रूप से खराब होगा क्योंकि USB ईथरनेट काफी धीमा है।)

तो, एक व्यावहारिक अनुप्रयोग पर, वितरित वेब होस्टिंग! आप यहां कई पीएस का लाभ उठा सकते हैं, यह सिर्फ एक नियमित क्लस्टर नहीं है। कहते हैं कि आपके पास 5 पिस है। हम उन्हें गेटवेपीआई, वेबपी 1, वेबपी 2, वेबपी 3 और डेटापीआई कहेंगे। गेटवेपई इंटरनेट का सामना करता है, वेब अनुरोधों को संभालने के लिए नगीने चल रहा है, लेकिन कोई प्रसंस्करण नहीं करता है। इसके बजाय यह क्या है लोड संतुलन है। यह WebPi1, WebPi2, या WebPi3 के लिए आने वाले अनुरोध को समीपस्थ और बेतरतीब ढंग से अग्रेषित करता है। हमने अपने वेब इन्फ्रास्ट्रक्चर की शक्ति को तीन गुना कर दिया है, क्योंकि अब हम एक साथ अधिक अनुरोधों को संभाल सकते हैं। DataPi के बारे में क्या? DataPi ने हमारे सभी वेब-डेटा को संग्रहीत करने के लिए एक हार्ड ड्राइव संलग्न किया है और एक NFS सर्वर चला रहा है। वेबपीएक्स ने एनएफएस को साझा किया है ताकि प्रसंस्करण के लिए डेटा तक पहुंच हो। इस तरह हमें केवल एक स्थान पर बैकअप चलाना होगा और डिस्क स्थान पर सहेजना होगा।

मैंने अभी जो वर्णन किया है वह अनिवार्य रूप से मॉडल है जो Google और फेसबुक जैसी बड़ी कंपनियां उपयोग करती हैं, लेकिन रास्पबेरी पाई के आकार तक कम हो गई हैं। केवल कैच, क्योंकि पाई की लागत के कारण, ऐसा करना अनिवार्य रूप से समान विकास प्लेटफ़ॉर्म (लेकिन webserves के लिए) बना रहा है, क्योंकि PE का एक क्लस्टर समानांतर प्रोग्रामिंग के लिए है। मल्टीपल पीएस का उपयोग, क्योंकि उनकी अपेक्षाकृत कम कम्प्यूटेशनल क्षमता ऊर्जा खपत के प्रदर्शन में जल्द ही खो जाती है क्योंकि आप बड़ी मात्रा में डेटा को संभालने की ओर अग्रसर होते हैं। लेकिन सिर्फ सीखने के लिए? वे परिपूर्ण हैं।


इसलिए अगर मैं एक घर परियोजना पर काम कर रहा हूं, तो 2 वेबसाइटों की सस्ती वेब होस्टिंग के लिए, GPIO, SSH, FTP, क्लाउड स्टोरेज, एक होम ऑटोमेशन के माध्यम से कूलिंग प्रशंसकों को नियंत्रित करना, कार्यों को सही वितरित करने के लिए एक छोटा क्लस्टर बनाने के लायक होगा?
सुपर एडमिन

4
+1 मैं इस प्रश्न के बारे में जानने के लिए उत्सुक था, और शिक्षा का एक छोटा सा हिस्सा छोड़ दिया। बहुत बढ़िया जवाब।
jhhorn424

@iOSNoob, यदि आप इसका उपयोग करने वाले एकमात्र व्यक्ति हैं और आप केवल एक समय में उन चीजों में से किसी एक को कर रहे हैं, तो यह तब भी क्लस्टर के लायक नहीं हो सकता है, क्योंकि संसाधनों को आवश्यक रूप से आवंटित किया गया है। यदि बस पर्याप्त रैम नहीं है या आपको एक ही व्यक्ति की तुलना में अधिक लोड मिला है, तो शायद यह इसके लायक है। मैं प्रशंसकों और होम ऑटोमेशन जैसी चीजों को सुरक्षा के लिए अलग-अलग पीएस पर रखूंगा। आप वास्तव में 0 मौका चाहते हैं कि कोई आपके घर में सामान के साथ खिलवाड़ कर रहा हो ... यदि आपको उन सभी सिस्टम को बेहतर करने के लिए एक अतिरिक्त पाई के माध्यम से हॉप करना होगा। यह सुरक्षा की एक अतिरिक्त परत है।
फ्रेड

@ jrhorn424 मुझे खुशी है कि आपको यह पसंद आया! मैंने हाल ही में एक उच्च प्रदर्शन (सुपर) कंप्यूटिंग इवेंट में भाग लिया, इसलिए यह सामान मेरे दिमाग में ताज़ा था। इसे लिखने के लिए सही समय है।
फ्रेड

1
लगभग सटीक वेब होस्टिंग वास्तुकला के एक ठोस उदाहरण के लिए फ्रेड ने वर्णन किया: pidramble.com (GitHub पर कोड / निर्देशों के लिए लिंक जहां आप पाई के किसी भी स्वाद के साथ खुद का निर्माण कर सकते हैं)।
जेरलिंगगुई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.