कुछ दिलचस्प सवाल। मुझे लगता है कि आप थोड़ा गलतफहमी हो सकता है कि कैसे "सुपर कंप्यूटर" रास्पबेरी पाई के साथ बनाया गया है। वे एक स्वचालित लोड साझाकरण प्रणाली के रूप में कार्य नहीं करते हैं। वे समानांतर प्रोग्रामिंग नामक कुछ के लिए डिज़ाइन किए गए हैं , जहां एक जटिल कार्य टुकड़ों में टूट जाता है जिसे एक साथ प्रदर्शन किया जा सकता है। क्लस्टर (हेड नोड) में मुख्य पाई समग्र कार्य को व्यवस्थित करने के लिए है, और क्लस्टर (क्लाइंट नोड्स) में प्रत्येक पीआई अपने आवंटित कार्य करता है और रिपोर्ट वापस हेड नोड में परिणाम करता है। OpenMPI जैसे पुस्तकालय इसके लिए महत्वपूर्ण हैं।
इसके अतिरिक्त, जो रास्पबेरी पाई क्लस्टर बनाए गए हैं उन्हें कुशल कंप्यूटिंग उपकरणों के रूप में नहीं बनाया गया है। उन्हें विकास प्लेटफार्मों के रूप में बनाया गया है । 32 डेस्कटॉप पीसी की तुलना में 32 रास्पबेरी पेस्ट खरीदना काफी सस्ता है। आप उस तरह से अपने समानांतर प्रोग्रामिंग सॉफ्टवेयर को बहुत सस्ते में विकसित और परीक्षण कर सकते हैं। यदि आपके पास पीएस या पीसी नहीं है तो एकमात्र विकल्प वास्तविक सुपर कंप्यूटर पर सीपीयू समय का अनुरोध करना है। प्रश्न में कंप्यूटर के आकार के आधार पर, ऐसा करने से धन खर्च हो सकता है या संसाधन उपलब्ध होने से पहले लंबे समय तक प्रतीक्षा करनी पड़ सकती है। इसलिए लोगों ने अपने निजी समूह क्यों बनाए हैं। यह केवल तभी काम करता है जब आप जानते हैं कि यह काम करता है जब आप असली कंप्यूटर पर अपना एप्लिकेशन चलाते हैं!
तो, इसे ध्यान में रखते हुए और अपने विशिष्ट प्रश्नों पर आगे बढ़ें।
एक उचित क्लस्टर में PE एक ही वर्चुअल कंप्यूटर के रूप में कार्य नहीं करता है। आपके पास प्रत्येक ग्रिड पर कार्य या संसाधन आवंटन प्रणाली जैसे सन ग्रिड इंजन के रूप में ढीला नियंत्रण है । टास्क को नोड्स को आवश्यकतानुसार आवंटित किया जाता है, और जब कार्य समाप्त हो जाते हैं तो उस नोड के संसाधनों को नए कार्यों के लिए मुक्त कर दिया जाता है।
एक क्लस्टर में, चूंकि प्रत्येक लिनक्स की अपनी प्रति चल रही है, प्रत्येक Pi अपने GPIO पोर्ट का स्थानीय नियंत्रण बनाए रखेगा। मुझे यकीन नहीं है कि समानांतर कंप्यूटिंग वातावरण में सॉफ्टवेयर वास्तव में कैसे उपयोग करेगा, लेकिन आप वहां हैं।
एक क्लस्टर वास्तव में तेजी से एक पाई नहीं बनाता है, क्योंकि वे एक कंप्यूटर नहीं हैं। आप जो हासिल कर रहे हैं वह बस एक बार में अधिक करने की क्षमता है। आप दो के गुणकों तक सीमित नहीं हैं। हालाँकि आपके द्वारा चलाए जा रहे कार्यों के आधार पर संकुल कंप्यूटरों के लिए एक वास्तविक व्यावहारिक ऊपरी सीमा है। सोचिए अगर आप कई पीएस पर एक समानांतर गणना चला रहे हैं जिसमें 200 चरणों की आवश्यकता होती है। हालाँकि, प्रत्येक अगले चरण में उस जानकारी की आवश्यकता होती है, जो प्रत्येक Pi ने अपने पिछले चरण की गणना की है। इसलिए प्रत्येक Pi को प्रत्येक पुनरावृत्ति प्रत्येक पीआई से डेटा प्राप्त करने की आवश्यकता होती है। प्रत्येक पुनरावृत्ति की गणना करने में लगने वाले समय के आधार पर, आप गणना करने की तुलना में चारों ओर डेटा भेजने में अधिक समय खर्च कर सकते हैं। यही कारण है कि अधिकांश सुपर कंप्यूटर InfiniBand का उपयोग करते हैंनेटवर्क। यह बहुत तेज़ है, इसलिए आप अधिक गणना कर सकते हैं। इसका समाधान कम पाई का उपयोग करना है, लेकिन उन्हें प्रत्येक पुनरावृत्ति के लिए अधिक काम करना है, लेकिन यह आपके एल्गोरिथ्म के आधार पर संभव नहीं हो सकता है। इसलिए व्यावहारिक ऊपरी सीमा। (पिस पर यह विशेष रूप से खराब होगा क्योंकि USB ईथरनेट काफी धीमा है।)
तो, एक व्यावहारिक अनुप्रयोग पर, वितरित वेब होस्टिंग! आप यहां कई पीएस का लाभ उठा सकते हैं, यह सिर्फ एक नियमित क्लस्टर नहीं है। कहते हैं कि आपके पास 5 पिस है। हम उन्हें गेटवेपीआई, वेबपी 1, वेबपी 2, वेबपी 3 और डेटापीआई कहेंगे। गेटवेपई इंटरनेट का सामना करता है, वेब अनुरोधों को संभालने के लिए नगीने चल रहा है, लेकिन कोई प्रसंस्करण नहीं करता है। इसके बजाय यह क्या है लोड संतुलन है। यह WebPi1, WebPi2, या WebPi3 के लिए आने वाले अनुरोध को समीपस्थ और बेतरतीब ढंग से अग्रेषित करता है। हमने अपने वेब इन्फ्रास्ट्रक्चर की शक्ति को तीन गुना कर दिया है, क्योंकि अब हम एक साथ अधिक अनुरोधों को संभाल सकते हैं। DataPi के बारे में क्या? DataPi ने हमारे सभी वेब-डेटा को संग्रहीत करने के लिए एक हार्ड ड्राइव संलग्न किया है और एक NFS सर्वर चला रहा है। वेबपीएक्स ने एनएफएस को साझा किया है ताकि प्रसंस्करण के लिए डेटा तक पहुंच हो। इस तरह हमें केवल एक स्थान पर बैकअप चलाना होगा और डिस्क स्थान पर सहेजना होगा।
मैंने अभी जो वर्णन किया है वह अनिवार्य रूप से मॉडल है जो Google और फेसबुक जैसी बड़ी कंपनियां उपयोग करती हैं, लेकिन रास्पबेरी पाई के आकार तक कम हो गई हैं। केवल कैच, क्योंकि पाई की लागत के कारण, ऐसा करना अनिवार्य रूप से समान विकास प्लेटफ़ॉर्म (लेकिन webserves के लिए) बना रहा है, क्योंकि PE का एक क्लस्टर समानांतर प्रोग्रामिंग के लिए है। मल्टीपल पीएस का उपयोग, क्योंकि उनकी अपेक्षाकृत कम कम्प्यूटेशनल क्षमता ऊर्जा खपत के प्रदर्शन में जल्द ही खो जाती है क्योंकि आप बड़ी मात्रा में डेटा को संभालने की ओर अग्रसर होते हैं। लेकिन सिर्फ सीखने के लिए? वे परिपूर्ण हैं।