कंप्यूटर क्लस्टर में संदेश प्रेषण: Difference between revisions

From Vigyanwiki
mNo edit summary
Line 1: Line 1:
{{Short description|Aspect of computer clusters}}
{{Short description|Aspect of computer clusters}}
[[File:MEGWARE.CLIC.jpg|thumb|एक नेटवर्क पर संदेश पास करके एक साथ काम करने वाले कई कंप्यूटरों वाले क्लस्टर पर काम करने वाले तकनीशियन]]मैसेज पास करना सभी [[कंप्यूटर क्लस्टर]] का एक अंतर्निहित तत्व है। होममेड [[बियोवुल्फ़ क्लस्टर]] से लेकर दुनिया के कुछ सबसे तेज़ [[सुपर कंप्यूटर]] तक सभी कंप्यूटर क्लस्टर, उन कई नोड्स की गतिविधियों को समन्वयित करने के लिए संदेश भेजने पर भरोसा करते हैं जिनमें वे शामिल हैं।<ref name=Patterson641 /><ref name=SterlingW7>''Beowulf Cluster Computing With Windows'' by Thomas Lawrence Sterling 2001 {{ISBN|0262692759}} MIT Press pages 7–9</ref> कमोडिटी [[सर्वर (कंप्यूटिंग)]] और [[ प्रसार बदलना ]] के साथ बनाए गए कंप्यूटर क्लस्टर में संदेश भेजने का उपयोग वस्तुतः हर इंटरनेट सेवा द्वारा किया जाता है।<ref name=Patterson641>''Computer Organization and Design'' by [[David Patterson (scientist)|David A. Patterson]] and [[John L. Hennessy]] 2011 {{ISBN|0123747503}} page 641 [https://books.google.com/books?id=U6lpXmu7OngC&dq=message+passing+cluster+node&pg=PA641]</ref>
[[File:MEGWARE.CLIC.jpg|thumb|एक नेटवर्क पर संदेश पास करके एक साथ काम करने वाले कई कंप्यूटरों वाले क्लस्टर पर काम करने वाले तकनीशियन]]संदेश भेजना सभी [[कंप्यूटर क्लस्टर]] का एक अंतर्निहित तत्व है। सभी कंप्यूटर क्लस्टर,होममेड [[बियोवुल्फ़ क्लस्टर]] से लेकर दुनिया के कुछ सबसे तेज़ [[सुपर कंप्यूटर]] तक, उनके द्वारा सम्मिलित किए गए कई नोड्स की गतिविधियों को समन्वयित करने के लिए संदेश देने पर भरोसा करते हैं।<ref name=Patterson641 /><ref name=SterlingW7>''Beowulf Cluster Computing With Windows'' by Thomas Lawrence Sterling 2001 {{ISBN|0262692759}} MIT Press pages 7–9</ref> कमोडिटी [[सर्वर (कंप्यूटिंग)]] औरऔर स्विच के साथ निर्मित कंप्यूटर क्लस्टर में संदेश भेजने का उपयोग वस्तुतः हर इंटरनेट सेवा द्वारा किया जाता है।<ref name=Patterson641>''Computer Organization and Design'' by [[David Patterson (scientist)|David A. Patterson]] and [[John L. Hennessy]] 2011 {{ISBN|0123747503}} page 641 [https://books.google.com/books?id=U6lpXmu7OngC&dq=message+passing+cluster+node&pg=PA641]</ref>
हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है, संचार सबसिस्टम की जटिलता में तेजी से वृद्धि स्विच किए गए कपड़े पर संदेशों को पारित करने में देरी को [[समानांतर कार्यक्रम]]ों के निष्पादन में एक गंभीर प्रदर्शन मुद्दा बनाती है।<ref name=Jack2011 >''Recent Advances in the Message Passing Interface'' by Yiannis Cotronis, Anthony Danalis, Dimitris Nikolopoulos and Jack Dongarra 2011 {{ISBN|3642244483}} pages 160–162</ref>
हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है, संचार सबसिस्टम की जटिलता में तेजी से वृद्धि स्विच किए गए कपड़े पर संदेशों को पारित करने में देरी को [[समानांतर कार्यक्रम]]ों के निष्पादन में एक गंभीर प्रदर्शन मुद्दा बनाती है।<ref name=Jack2011 >''Recent Advances in the Message Passing Interface'' by Yiannis Cotronis, Anthony Danalis, Dimitris Nikolopoulos and Jack Dongarra 2011 {{ISBN|3642244483}} pages 160–162</ref>
कंप्यूटर क्लस्टर पर संदेश के प्रदर्शन को अनुकरण, कल्पना और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। एक बड़े कंप्यूटर क्लस्टर को इकट्ठा करने से पहले, [[ट्रेस-आधारित सिम्युलेटर]] बड़े कॉन्फ़िगरेशन पर संदेश के प्रदर्शन की भविष्यवाणी करने में सहायता के लिए नोड्स की एक छोटी संख्या का उपयोग कर सकता है। कम संख्या में नोड्स पर चलने के बाद, सिम्युलेटर निष्पादन और संदेश हस्तांतरण [[कंप्यूटर डेटा लॉगिंग]] को पढ़ता है और मैसेजिंग सबसिस्टम के प्रदर्शन को अनुकरण करता है जब बहुत अधिक संख्या में नोड्स के बीच कई संदेशों का आदान-प्रदान किया जाता है।<ref name=Bader/><ref name=Cooper />
कंप्यूटर क्लस्टर पर संदेश के प्रदर्शन को अनुकरण, कल्पना और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। एक बड़े कंप्यूटर क्लस्टर को इकट्ठा करने से पहले, [[ट्रेस-आधारित सिम्युलेटर]] बड़े कॉन्फ़िगरेशन पर संदेश के प्रदर्शन की भविष्यवाणी करने में सहायता के लिए नोड्स की एक छोटी संख्या का उपयोग कर सकता है। कम संख्या में नोड्स पर चलने के बाद, सिम्युलेटर निष्पादन और संदेश हस्तांतरण [[कंप्यूटर डेटा लॉगिंग]] को पढ़ता है और मैसेजिंग सबसिस्टम के प्रदर्शन को अनुकरण करता है जब बहुत अधिक संख्या में नोड्स के बीच कई संदेशों का आदान-प्रदान किया जाता है।<ref name=Bader/><ref name=Cooper />
Line 20: Line 20:
संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय पड़ोस (जिसे [[लोकेल (कंप्यूटर हार्डवेयर)]] भी कहा जाता है) का उपयोग होता है। यहां कम्प्यूटेशनल कार्यों को क्लस्टर में विशिष्ट पड़ोसों को सौंपा गया है, जो एक दूसरे के करीब प्रोसेसर का उपयोग करके दक्षता बढ़ाने के लिए हैं।<ref name=Jack2011 />हालाँकि, यह देखते हुए कि कई मामलों में कंप्यूटर क्लस्टर नोड्स के वास्तविक [[नेटवर्क टोपोलॉजी]] और उनके इंटरकनेक्शन को एप्लिकेशन डेवलपर्स के लिए नहीं जाना जा सकता है, एप्लिकेशन प्रोग्राम स्तर पर प्रदर्शन को ठीक करने का प्रयास करना काफी कठिन है।<ref name=Jack2011 />
संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय पड़ोस (जिसे [[लोकेल (कंप्यूटर हार्डवेयर)]] भी कहा जाता है) का उपयोग होता है। यहां कम्प्यूटेशनल कार्यों को क्लस्टर में विशिष्ट पड़ोसों को सौंपा गया है, जो एक दूसरे के करीब प्रोसेसर का उपयोग करके दक्षता बढ़ाने के लिए हैं।<ref name=Jack2011 />हालाँकि, यह देखते हुए कि कई मामलों में कंप्यूटर क्लस्टर नोड्स के वास्तविक [[नेटवर्क टोपोलॉजी]] और उनके इंटरकनेक्शन को एप्लिकेशन डेवलपर्स के लिए नहीं जाना जा सकता है, एप्लिकेशन प्रोग्राम स्तर पर प्रदर्शन को ठीक करने का प्रयास करना काफी कठिन है।<ref name=Jack2011 />


यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में उभरा है, क्लस्टर नोड्स की संख्या में वृद्धि के परिणामस्वरूप MPI पुस्तकालयों की दक्षता और मापनीयता में सुधार के लिए निरंतर अनुसंधान हुआ है। इन प्रयासों में एमपीआई पुस्तकालयों की स्मृति पदचिह्न को कम करने के लिए अनुसंधान शामिल है।<ref name=Matti231 />
यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में उभरा है, क्लस्टर नोड्स की संख्या में वृद्धि के परिणामस्वरूप MPI पुस्तकालयों की दक्षता और मापनीयता में सुधार के लिए निरंतर अनुसंधान हुआ है। इन प्रयासों में एमपीआई पुस्तकालयों की स्मृति पदचिह्न को कम करने के लिए अनुसंधान सम्मिलित है।<ref name=Matti231 />


शुरुआती दिनों से एमपीआई ने पीएमपीआई प्रोफाइलिंग सिस्टम के माध्यम से [[ रूपरेखा (कंप्यूटर प्रोग्रामिंग) ]] के लिए सुविधाएं प्रदान कीं।<ref>[https://www.open-mpi.org/faq/?category=perftools#PMPI What is PMPI?]</ref> PMIPI- उपसर्ग का उपयोग संदेशों के प्रवेश और निकास बिंदुओं के अवलोकन की अनुमति देता है। हालाँकि, इस प्रोफ़ाइल की उच्च स्तरीय प्रकृति को देखते हुए, इस प्रकार की जानकारी केवल संचार प्रणाली के वास्तविक व्यवहार की एक झलक प्रदान करती है। अधिक जानकारी की आवश्यकता के परिणामस्वरूप MPI-Peruse सिस्टम का विकास हुआ। Peruse MPI-पुस्तकालय के भीतर राज्य-परिवर्तनों तक पहुँच प्राप्त करने के लिए अनुप्रयोगों को सक्षम करके अधिक विस्तृत प्रोफ़ाइल प्रदान करता है। यह Peruse के साथ कॉलबैक दर्ज करके प्राप्त किया जाता है, और फिर उन्हें ट्रिगर के रूप में आमंत्रित किया जाता है क्योंकि संदेश घटनाएँ होती हैं।<ref name=Mohr>''Recent Advances in Parallel Virtual Machine and Message Passing Interface'' by Bernd Mohr, Jesper Larsson Träff, Joachim Worringen and Jack Dongarra 2006 {{ISBN|354039110X}} page 347</ref> Peruse PARAVER विज़ुअलाइज़ेशन सिस्टम के साथ काम कर सकता है। पैरावर में दो घटक होते हैं, एक ट्रेस घटक और निशान का विश्लेषण करने के लिए एक दृश्य घटक, विशिष्ट घटनाओं से संबंधित आंकड़े आदि।
शुरुआती दिनों से एमपीआई ने पीएमपीआई प्रोफाइलिंग सिस्टम के माध्यम से [[ रूपरेखा (कंप्यूटर प्रोग्रामिंग) ]] के लिए सुविधाएं प्रदान कीं।<ref>[https://www.open-mpi.org/faq/?category=perftools#PMPI What is PMPI?]</ref> PMIPI- उपसर्ग का उपयोग संदेशों के प्रवेश और निकास बिंदुओं के अवलोकन की अनुमति देता है। हालाँकि, इस प्रोफ़ाइल की उच्च स्तरीय प्रकृति को देखते हुए, इस प्रकार की जानकारी केवल संचार प्रणाली के वास्तविक व्यवहार की एक झलक प्रदान करती है। अधिक जानकारी की आवश्यकता के परिणामस्वरूप MPI-Peruse सिस्टम का विकास हुआ। Peruse MPI-पुस्तकालय के भीतर राज्य-परिवर्तनों तक पहुँच प्राप्त करने के लिए अनुप्रयोगों को सक्षम करके अधिक विस्तृत प्रोफ़ाइल प्रदान करता है। यह Peruse के साथ कॉलबैक दर्ज करके प्राप्त किया जाता है, और फिर उन्हें ट्रिगर के रूप में आमंत्रित किया जाता है क्योंकि संदेश घटनाएँ होती हैं।<ref name=Mohr>''Recent Advances in Parallel Virtual Machine and Message Passing Interface'' by Bernd Mohr, Jesper Larsson Träff, Joachim Worringen and Jack Dongarra 2006 {{ISBN|354039110X}} page 347</ref> Peruse PARAVER विज़ुअलाइज़ेशन सिस्टम के साथ काम कर सकता है। पैरावर में दो घटक होते हैं, एक ट्रेस घटक और निशान का विश्लेषण करने के लिए एक दृश्य घटक, विशिष्ट घटनाओं से संबंधित आंकड़े आदि।
<ref name=Paraver>''PARAVER: A Tool to Visualize and Analyze Parallel Code'' by Vincent Pillet et al, Proceedings of the conference on Transputer and Occam Developments, 1995, pages 17–31</ref> PARAVER अन्य प्रणालियों से ट्रेस स्वरूपों का उपयोग कर सकता है, या अपना स्वयं का अनुरेखण कर सकता है। यह टास्क लेवल, थ्रेड लेवल और हाइब्रिड फॉर्मेट में काम करता है। निशानों में अक्सर इतनी अधिक जानकारी शामिल होती है कि वे अक्सर भारी पड़ जाते हैं। इस प्रकार पैराएवर उन्हें सारांशित करता है ताकि उपयोगकर्ता उन्हें देख सकें और उनका विश्लेषण कर सकें।<ref name=Mohr/><ref name=Paraver /><ref>''Computational Science-- Iccs 2003'' edited by Peter M.A. Sloot, David Abramson, Alexander V. Bogdanov and Jack J. Dongarra {{ISBN|3540401970}} page 183</ref>
<ref name=Paraver>''PARAVER: A Tool to Visualize and Analyze Parallel Code'' by Vincent Pillet et al, Proceedings of the conference on Transputer and Occam Developments, 1995, pages 17–31</ref> PARAVER अन्य प्रणालियों से ट्रेस स्वरूपों का उपयोग कर सकता है, या अपना स्वयं का अनुरेखण कर सकता है। यह टास्क लेवल, थ्रेड लेवल और हाइब्रिड फॉर्मेट में काम करता है। निशानों में अक्सर इतनी अधिक जानकारी सम्मिलित होती है कि वे अक्सर भारी पड़ जाते हैं। इस प्रकार पैराएवर उन्हें सारांशित करता है ताकि उपयोगकर्ता उन्हें देख सकें और उनका विश्लेषण कर सकें।<ref name=Mohr/><ref name=Paraver /><ref>''Computational Science-- Iccs 2003'' edited by Peter M.A. Sloot, David Abramson, Alexander V. Bogdanov and Jack J. Dongarra {{ISBN|3540401970}} page 183</ref>




Line 33: Line 33:
=== विश्लेषणात्मक दृष्टिकोण ===
=== विश्लेषणात्मक दृष्टिकोण ===
विश्लेषणात्मक स्तर पर, स्टार्टअप [[ विलंबता (इंजीनियरिंग) ]], एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय टी को मॉडल करना आवश्यक है। एक प्रसिद्ध मॉडल हॉकनी का मॉडल है जो टी = एल + (एम / आर) का उपयोग करके [[बिंदु से बिंदु संचार]] पर निर्भर करता है, जहां एम संदेश का आकार है, एल स्टार्टअप विलंबता है और आर एमबी / एस में [[स्पर्शोन्मुख बैंडविड्थ]] है।<ref name= overh>''Modeling Message Passing Overhead'' by C.Y Chou et al. in Advances in Grid and Pervasive Computing: First International Conference, GPC 2006 edited by Yeh-Ching Chung and José E. Moreira {{ISBN|3540338098}} pages 299–307</ref>
विश्लेषणात्मक स्तर पर, स्टार्टअप [[ विलंबता (इंजीनियरिंग) ]], एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय टी को मॉडल करना आवश्यक है। एक प्रसिद्ध मॉडल हॉकनी का मॉडल है जो टी = एल + (एम / आर) का उपयोग करके [[बिंदु से बिंदु संचार]] पर निर्भर करता है, जहां एम संदेश का आकार है, एल स्टार्टअप विलंबता है और आर एमबी / एस में [[स्पर्शोन्मुख बैंडविड्थ]] है।<ref name= overh>''Modeling Message Passing Overhead'' by C.Y Chou et al. in Advances in Grid and Pervasive Computing: First International Conference, GPC 2006 edited by Yeh-Ching Chung and José E. Moreira {{ISBN|3540338098}} pages 299–307</ref>
जू और ह्वांग ने हॉकनी के मॉडल को प्रोसेसर की संख्या को शामिल करने के लिए सामान्यीकृत किया, ताकि विलंबता और स्पर्शोन्मुख बैंडविड्थ दोनों प्रोसेसर की संख्या के कार्य हों।<ref name= overh/><ref>''High-Performance Computing and Networking'' edited by Peter Sloot, Marian Bubak and Bob Hertzberge 1998 {{ISBN|3540644431}} page 935</ref> गुनवान और कै ने इसके बाद कैशे (कंप्यूटिंग) की शुरुआत करके इसे और सामान्यीकृत किया, और संदेशों को उनके आकार के आधार पर अलग किया, दो अलग-अलग मॉडल प्राप्त किए, एक कैश आकार के नीचे के संदेशों के लिए, और एक ऊपर वालों के लिए।<ref name= overh/>
जू और ह्वांग ने हॉकनी के मॉडल को प्रोसेसर की संख्या को सम्मिलित करने के लिए सामान्यीकृत किया, ताकि विलंबता और स्पर्शोन्मुख बैंडविड्थ दोनों प्रोसेसर की संख्या के कार्य हों।<ref name= overh/><ref>''High-Performance Computing and Networking'' edited by Peter Sloot, Marian Bubak and Bob Hertzberge 1998 {{ISBN|3540644431}} page 935</ref> गुनवान और कै ने इसके बाद कैशे (कंप्यूटिंग) की शुरुआत करके इसे और सामान्यीकृत किया, और संदेशों को उनके आकार के आधार पर अलग किया, दो अलग-अलग मॉडल प्राप्त किए, एक कैश आकार के नीचे के संदेशों के लिए, और एक ऊपर वालों के लिए।<ref name= overh/>




=== प्रदर्शन सिमुलेशन ===
=== प्रदर्शन सिमुलेशन ===
[[File:Roadrunner supercomputer HiRes.jpg|thumb|220px|[[आईबीएम रोडरनर]] क्लस्टर सुपरकंप्यूटर]]कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, CLUSTERSIM असतत-ईवेंट सिमुलेशन के लिए जावा-आधारित विज़ुअल वातावरण का उपयोग करता है। इस दृष्टिकोण में कंप्यूटेड नोड्स और नेटवर्क टोपोलॉजी को दृष्टिगत रूप से प्रतिरूपित किया जाता है। नौकरियां और उनकी अवधि और जटिलता को विशिष्ट [[संभाव्यता वितरण]] के साथ दर्शाया जाता है जिससे विभिन्न समांतर नौकरी शेड्यूलिंग एल्गोरिदम प्रस्तावित और प्रयोग किए जा सकते हैं। संदेश पासिंग इंटरफ़ेस संदेश पासिंग के लिए संचार ओवरहेड इस प्रकार सिम्युलेटेड और बड़े पैमाने पर समानांतर नौकरी निष्पादन के संदर्भ में बेहतर समझा जा सकता है।<ref name=clustersim>''High Performance Computational Science and Engineering'' edited by Michael K. Ng, Andrei Doncescu, Laurence T. Yang and Tau Leng, 2005 {{ISBN|0387240489}} pages 59–63</ref>
[[File:Roadrunner supercomputer HiRes.jpg|thumb|220px|[[आईबीएम रोडरनर]] क्लस्टर सुपरकंप्यूटर]]कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, CLUSTERSIM असतत-ईवेंट सिमुलेशन के लिए जावा-आधारित विज़ुअल वातावरण का उपयोग करता है। इस दृष्टिकोण में कंप्यूटेड नोड्स और नेटवर्क टोपोलॉजी को दृष्टिगत रूप से प्रतिरूपित किया जाता है। नौकरियां और उनकी अवधि और जटिलता को विशिष्ट [[संभाव्यता वितरण]] के साथ दर्शाया जाता है जिससे विभिन्न समांतर नौकरी शेड्यूलिंग एल्गोरिदम प्रस्तावित और प्रयोग किए जा सकते हैं। संदेश पासिंग इंटरफ़ेस संदेश पासिंग के लिए संचार ओवरहेड इस प्रकार सिम्युलेटेड और बड़े पैमाने पर समानांतर नौकरी निष्पादन के संदर्भ में बेहतर समझा जा सकता है।<ref name=clustersim>''High Performance Computational Science and Engineering'' edited by Michael K. Ng, Andrei Doncescu, Laurence T. Yang and Tau Leng, 2005 {{ISBN|0387240489}} pages 59–63</ref>
अन्य अनुकार उपकरणों में MPI-sim और BIGSIM शामिल हैं।<ref name=Lin16>''Advances in Computer Science, Environment, Ecoinformatics, and Education'' edited  by Song Lin and Xiong Huang 2011 {{ISBN|3642233236}} page 16</ref> MPI-Sim एक निष्पादन-संचालित सिम्युलेटर है जिसे संचालित करने के लिए C या C++ प्रोग्राम की आवश्यकता होती है।<ref name=clustersim /><ref name=Lin16 />दूसरी ओर क्लस्टरसिम, प्रोग्राम निष्पादन के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषा से स्वतंत्र हाइब्रिड उच्च-स्तरीय मॉडलिंग सिस्टम का उपयोग करता है।<ref name=clustersim />
अन्य अनुकार उपकरणों में MPI-sim और BIGSIM सम्मिलित हैं।<ref name=Lin16>''Advances in Computer Science, Environment, Ecoinformatics, and Education'' edited  by Song Lin and Xiong Huang 2011 {{ISBN|3642233236}} page 16</ref> MPI-Sim एक निष्पादन-संचालित सिम्युलेटर है जिसे संचालित करने के लिए C या C++ प्रोग्राम की आवश्यकता होती है।<ref name=clustersim /><ref name=Lin16 />दूसरी ओर क्लस्टरसिम, प्रोग्राम निष्पादन के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषा से स्वतंत्र हाइब्रिड उच्च-स्तरीय मॉडलिंग सिस्टम का उपयोग करता है।<ref name=clustersim />


MPI-Sim के विपरीत, BIGSIM एक ट्रेस-संचालित प्रणाली है जो एक अलग इम्यूलेटर प्रोग्राम द्वारा फाइलों में सहेजे गए निष्पादन के लॉग के आधार पर अनुकरण करती है।<ref name=Cooper >''Languages and Compilers for Parallel Computing'' edited by Keith Cooper, John Mellor-Crummey and Vivek Sarkar 2011 {{ISBN|3642195946}} pages 202–203</ref><ref name=Lin16 />BIGSIM में एक एमुलेटर और एक सिम्युलेटर शामिल है। एमुलेटर कम संख्या में नोड्स पर एप्लिकेशन निष्पादित करता है और परिणामों को संग्रहीत करता है, इसलिए सिम्युलेटर उनका उपयोग कर सकता है और बहुत बड़ी संख्या में नोड्स पर गतिविधियों का अनुकरण कर सकता है।<ref name=Cooper />एम्यूलेटर लॉग फ़ाइलों में एकाधिक प्रोसेसर के लिए अनुक्रमिक निष्पादन ब्लॉक (एसईबी) की जानकारी संग्रहीत करता है, प्रत्येक एसईबी भेजे गए संदेशों, उनके स्रोतों और गंतव्यों, निर्भरताओं, समय आदि को रिकॉर्ड करता है। सिम्युलेटर लॉग फ़ाइलों को पढ़ता है और उन्हें अनुकरण करता है, और स्टार हो सकता है अतिरिक्त संदेश जो तब एसईबी के रूप में भी संग्रहीत किए जाते हैं।<ref name=Bader/><ref name=Cooper />सिम्युलेटर इस प्रकार पूरी मशीन उपलब्ध होने या कॉन्फ़िगर करने से पहले, बहुत कम संख्या में नोड्स पर एमुलेटर द्वारा प्रदान किए गए निष्पादन निशान के आधार पर, बहुत बड़े अनुप्रयोगों के प्रदर्शन का एक दृश्य प्रदान कर सकता है।<ref name=Cooper />
MPI-Sim के विपरीत, BIGSIM एक ट्रेस-संचालित प्रणाली है जो एक अलग इम्यूलेटर प्रोग्राम द्वारा फाइलों में सहेजे गए निष्पादन के लॉग के आधार पर अनुकरण करती है।<ref name=Cooper >''Languages and Compilers for Parallel Computing'' edited by Keith Cooper, John Mellor-Crummey and Vivek Sarkar 2011 {{ISBN|3642195946}} pages 202–203</ref><ref name=Lin16 />BIGSIM में एक एमुलेटर और एक सिम्युलेटर सम्मिलित है। एमुलेटर कम संख्या में नोड्स पर एप्लिकेशन निष्पादित करता है और परिणामों को संग्रहीत करता है, इसलिए सिम्युलेटर उनका उपयोग कर सकता है और बहुत बड़ी संख्या में नोड्स पर गतिविधियों का अनुकरण कर सकता है।<ref name=Cooper />एम्यूलेटर लॉग फ़ाइलों में एकाधिक प्रोसेसर के लिए अनुक्रमिक निष्पादन ब्लॉक (एसईबी) की जानकारी संग्रहीत करता है, प्रत्येक एसईबी भेजे गए संदेशों, उनके स्रोतों और गंतव्यों, निर्भरताओं, समय आदि को रिकॉर्ड करता है। सिम्युलेटर लॉग फ़ाइलों को पढ़ता है और उन्हें अनुकरण करता है, और स्टार हो सकता है अतिरिक्त संदेश जो तब एसईबी के रूप में भी संग्रहीत किए जाते हैं।<ref name=Bader/><ref name=Cooper />सिम्युलेटर इस प्रकार पूरी मशीन उपलब्ध होने या कॉन्फ़िगर करने से पहले, बहुत कम संख्या में नोड्स पर एमुलेटर द्वारा प्रदान किए गए निष्पादन निशान के आधार पर, बहुत बड़े अनुप्रयोगों के प्रदर्शन का एक दृश्य प्रदान कर सकता है।<ref name=Cooper />





Revision as of 09:11, 2 June 2023

एक नेटवर्क पर संदेश पास करके एक साथ काम करने वाले कई कंप्यूटरों वाले क्लस्टर पर काम करने वाले तकनीशियन

संदेश भेजना सभी कंप्यूटर क्लस्टर का एक अंतर्निहित तत्व है। सभी कंप्यूटर क्लस्टर,होममेड बियोवुल्फ़ क्लस्टर से लेकर दुनिया के कुछ सबसे तेज़ सुपर कंप्यूटर तक, उनके द्वारा सम्मिलित किए गए कई नोड्स की गतिविधियों को समन्वयित करने के लिए संदेश देने पर भरोसा करते हैं।[1][2] कमोडिटी सर्वर (कंप्यूटिंग) औरऔर स्विच के साथ निर्मित कंप्यूटर क्लस्टर में संदेश भेजने का उपयोग वस्तुतः हर इंटरनेट सेवा द्वारा किया जाता है।[1]

हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है, संचार सबसिस्टम की जटिलता में तेजी से वृद्धि स्विच किए गए कपड़े पर संदेशों को पारित करने में देरी को समानांतर कार्यक्रमों के निष्पादन में एक गंभीर प्रदर्शन मुद्दा बनाती है।[3] कंप्यूटर क्लस्टर पर संदेश के प्रदर्शन को अनुकरण, कल्पना और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। एक बड़े कंप्यूटर क्लस्टर को इकट्ठा करने से पहले, ट्रेस-आधारित सिम्युलेटर बड़े कॉन्फ़िगरेशन पर संदेश के प्रदर्शन की भविष्यवाणी करने में सहायता के लिए नोड्स की एक छोटी संख्या का उपयोग कर सकता है। कम संख्या में नोड्स पर चलने के बाद, सिम्युलेटर निष्पादन और संदेश हस्तांतरण कंप्यूटर डेटा लॉगिंग को पढ़ता है और मैसेजिंग सबसिस्टम के प्रदर्शन को अनुकरण करता है जब बहुत अधिक संख्या में नोड्स के बीच कई संदेशों का आदान-प्रदान किया जाता है।[4][5]


संदेश और संगणना

संदेश पास करने के लिए दृष्टिकोण

ऐतिहासिक रूप से, क्लस्टर नोड्स के बीच संचार के लिए दो विशिष्ट दृष्टिकोण PVM, समानांतर वर्चुअल मशीन और MPI, संदेश पासिंग इंटरफ़ेस रहे हैं।[6] हालाँकि, MPI अब कंप्यूटर क्लस्टर पर संदेश भेजने के लिए वास्तविक मानक के रूप में उभरा है।[7] PVM MPI से पहले का है और इसे 1989 के आसपास ओक रिज राष्ट्रीय प्रयोगशाला में विकसित किया गया था। यह सॉफ्टवेयर लाइब्रेरी का एक सेट प्रदान करता है जो एक कंप्यूटिंग नोड को समानांतर वर्चुअल मशीन के रूप में कार्य करने की अनुमति देता है। यह संदेश-पासिंग, कार्य और संसाधन प्रबंधन, और गलती अधिसूचना के लिए रन-टाइम वातावरण प्रदान करता है और प्रत्येक क्लस्टर नोड पर सीधे स्थापित होना चाहिए। PVM का उपयोग C भाषा, C++, या फोरट्रान आदि में लिखे उपयोगकर्ता प्रोग्रामों द्वारा किया जा सकता है।[6][8]

पीवीएम के विपरीत, जिसका एक ठोस कार्यान्वयन है, एमपीआई पुस्तकालयों के एक विशिष्ट सेट के बजाय एक विनिर्देश है। विनिर्देश 1990 की शुरुआत में 40 संगठनों के बीच हुई चर्चाओं से उभरा, प्रारंभिक प्रयास DARPA और राष्ट्रीय विज्ञान संस्था द्वारा समर्थित थे। MPI का डिज़ाइन उस समय की वाणिज्यिक प्रणालियों में उपलब्ध विभिन्न विशेषताओं पर आधारित था। एमपीआई विनिर्देशों ने तब विशिष्ट कार्यान्वयन को जन्म दिया। एमपीआई कार्यान्वयन आमतौर पर टीसीपी/आईपी और सॉकेट कनेक्शन का उपयोग करते हैं।[6]एमपीआई अब एक व्यापक रूप से उपलब्ध संचार मॉडल है जो समानांतर कार्यक्रमों को सी (प्रोग्रामिंग भाषा), फोरट्रान, पायथन (प्रोग्रामिंग भाषा), आदि भाषाओं में लिखे जाने में सक्षम बनाता है।[8] MPI विनिर्देश MPICH और Open MPI जैसी प्रणालियों में लागू किया गया है।[8][9]


परीक्षण, मूल्यांकन और अनुकूलन

Apple कंप्यूटरों का वर्जीनिया टेक ज़र्व क्लस्टर

कंप्यूटर क्लस्टर कई नोड्स पर प्रसंस्करण के वितरण और परिणामी संचार ओवरहेड से निपटने के लिए कई रणनीतियों का उपयोग करते हैं। कुछ कंप्यूटर क्लस्टर जैसे ती मैं और -मैं संगणना करने के लिए उपयोग किए जाने वाले संदेशों की तुलना में संदेश पास करने के लिए विभिन्न प्रोसेसर का उपयोग करते हैं। Tiahnhe-I अपने स्वामित्व संदेश पासिंग सिस्टम के संचालन को बढ़ाने के लिए दो हजार से अधिक FeiTeng-1000 प्रोसेसर का उपयोग करता है, जबकि गणना Xeon और Nvidia Tesla प्रोसेसर द्वारा की जाती है।[10][11]

संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय पड़ोस (जिसे लोकेल (कंप्यूटर हार्डवेयर) भी कहा जाता है) का उपयोग होता है। यहां कम्प्यूटेशनल कार्यों को क्लस्टर में विशिष्ट पड़ोसों को सौंपा गया है, जो एक दूसरे के करीब प्रोसेसर का उपयोग करके दक्षता बढ़ाने के लिए हैं।[3]हालाँकि, यह देखते हुए कि कई मामलों में कंप्यूटर क्लस्टर नोड्स के वास्तविक नेटवर्क टोपोलॉजी और उनके इंटरकनेक्शन को एप्लिकेशन डेवलपर्स के लिए नहीं जाना जा सकता है, एप्लिकेशन प्रोग्राम स्तर पर प्रदर्शन को ठीक करने का प्रयास करना काफी कठिन है।[3]

यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में उभरा है, क्लस्टर नोड्स की संख्या में वृद्धि के परिणामस्वरूप MPI पुस्तकालयों की दक्षता और मापनीयता में सुधार के लिए निरंतर अनुसंधान हुआ है। इन प्रयासों में एमपीआई पुस्तकालयों की स्मृति पदचिह्न को कम करने के लिए अनुसंधान सम्मिलित है।[7]

शुरुआती दिनों से एमपीआई ने पीएमपीआई प्रोफाइलिंग सिस्टम के माध्यम से रूपरेखा (कंप्यूटर प्रोग्रामिंग) के लिए सुविधाएं प्रदान कीं।[12] PMIPI- उपसर्ग का उपयोग संदेशों के प्रवेश और निकास बिंदुओं के अवलोकन की अनुमति देता है। हालाँकि, इस प्रोफ़ाइल की उच्च स्तरीय प्रकृति को देखते हुए, इस प्रकार की जानकारी केवल संचार प्रणाली के वास्तविक व्यवहार की एक झलक प्रदान करती है। अधिक जानकारी की आवश्यकता के परिणामस्वरूप MPI-Peruse सिस्टम का विकास हुआ। Peruse MPI-पुस्तकालय के भीतर राज्य-परिवर्तनों तक पहुँच प्राप्त करने के लिए अनुप्रयोगों को सक्षम करके अधिक विस्तृत प्रोफ़ाइल प्रदान करता है। यह Peruse के साथ कॉलबैक दर्ज करके प्राप्त किया जाता है, और फिर उन्हें ट्रिगर के रूप में आमंत्रित किया जाता है क्योंकि संदेश घटनाएँ होती हैं।[13] Peruse PARAVER विज़ुअलाइज़ेशन सिस्टम के साथ काम कर सकता है। पैरावर में दो घटक होते हैं, एक ट्रेस घटक और निशान का विश्लेषण करने के लिए एक दृश्य घटक, विशिष्ट घटनाओं से संबंधित आंकड़े आदि। [14] PARAVER अन्य प्रणालियों से ट्रेस स्वरूपों का उपयोग कर सकता है, या अपना स्वयं का अनुरेखण कर सकता है। यह टास्क लेवल, थ्रेड लेवल और हाइब्रिड फॉर्मेट में काम करता है। निशानों में अक्सर इतनी अधिक जानकारी सम्मिलित होती है कि वे अक्सर भारी पड़ जाते हैं। इस प्रकार पैराएवर उन्हें सारांशित करता है ताकि उपयोगकर्ता उन्हें देख सकें और उनका विश्लेषण कर सकें।[13][14][15]


प्रदर्शन विश्लेषण

जब एक बड़े पैमाने पर, अक्सर सुपर कंप्यूटर स्तर, समानांतर प्रणाली विकसित की जा रही है, तो यह आवश्यक है कि वह कई विन्यासों के साथ प्रयोग करने और प्रदर्शन का अनुकरण करने में सक्षम हो। इस परिदृश्य में मॉडलिंग संदेश पासिंग दक्षता के लिए कई दृष्टिकोण हैं, विश्लेषणात्मक मॉडल से ट्रेस-आधारित सिमुलेशन तक और कुछ दृष्टिकोण संदेश पासिंग प्रदर्शन के सिंथेटिक परीक्षण करने के लिए कृत्रिम संचार के आधार पर परीक्षण वातावरण के उपयोग पर भरोसा करते हैं।[3]BIGSIM जैसी प्रणालियाँ विभिन्न नेटवर्क टोपोलॉजी, संदेश पासिंग और शेड्यूलिंग रणनीतियों पर प्रदर्शन के अनुकरण की अनुमति देकर ये सुविधाएँ प्रदान करती हैं।[4]


विश्लेषणात्मक दृष्टिकोण

विश्लेषणात्मक स्तर पर, स्टार्टअप विलंबता (इंजीनियरिंग) , एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय टी को मॉडल करना आवश्यक है। एक प्रसिद्ध मॉडल हॉकनी का मॉडल है जो टी = एल + (एम / आर) का उपयोग करके बिंदु से बिंदु संचार पर निर्भर करता है, जहां एम संदेश का आकार है, एल स्टार्टअप विलंबता है और आर एमबी / एस में स्पर्शोन्मुख बैंडविड्थ है।[16] जू और ह्वांग ने हॉकनी के मॉडल को प्रोसेसर की संख्या को सम्मिलित करने के लिए सामान्यीकृत किया, ताकि विलंबता और स्पर्शोन्मुख बैंडविड्थ दोनों प्रोसेसर की संख्या के कार्य हों।[16][17] गुनवान और कै ने इसके बाद कैशे (कंप्यूटिंग) की शुरुआत करके इसे और सामान्यीकृत किया, और संदेशों को उनके आकार के आधार पर अलग किया, दो अलग-अलग मॉडल प्राप्त किए, एक कैश आकार के नीचे के संदेशों के लिए, और एक ऊपर वालों के लिए।[16]


प्रदर्शन सिमुलेशन

आईबीएम रोडरनर क्लस्टर सुपरकंप्यूटर

कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, CLUSTERSIM असतत-ईवेंट सिमुलेशन के लिए जावा-आधारित विज़ुअल वातावरण का उपयोग करता है। इस दृष्टिकोण में कंप्यूटेड नोड्स और नेटवर्क टोपोलॉजी को दृष्टिगत रूप से प्रतिरूपित किया जाता है। नौकरियां और उनकी अवधि और जटिलता को विशिष्ट संभाव्यता वितरण के साथ दर्शाया जाता है जिससे विभिन्न समांतर नौकरी शेड्यूलिंग एल्गोरिदम प्रस्तावित और प्रयोग किए जा सकते हैं। संदेश पासिंग इंटरफ़ेस संदेश पासिंग के लिए संचार ओवरहेड इस प्रकार सिम्युलेटेड और बड़े पैमाने पर समानांतर नौकरी निष्पादन के संदर्भ में बेहतर समझा जा सकता है।[18]

अन्य अनुकार उपकरणों में MPI-sim और BIGSIM सम्मिलित हैं।[19] MPI-Sim एक निष्पादन-संचालित सिम्युलेटर है जिसे संचालित करने के लिए C या C++ प्रोग्राम की आवश्यकता होती है।[18][19]दूसरी ओर क्लस्टरसिम, प्रोग्राम निष्पादन के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषा से स्वतंत्र हाइब्रिड उच्च-स्तरीय मॉडलिंग सिस्टम का उपयोग करता है।[18]

MPI-Sim के विपरीत, BIGSIM एक ट्रेस-संचालित प्रणाली है जो एक अलग इम्यूलेटर प्रोग्राम द्वारा फाइलों में सहेजे गए निष्पादन के लॉग के आधार पर अनुकरण करती है।[5][19]BIGSIM में एक एमुलेटर और एक सिम्युलेटर सम्मिलित है। एमुलेटर कम संख्या में नोड्स पर एप्लिकेशन निष्पादित करता है और परिणामों को संग्रहीत करता है, इसलिए सिम्युलेटर उनका उपयोग कर सकता है और बहुत बड़ी संख्या में नोड्स पर गतिविधियों का अनुकरण कर सकता है।[5]एम्यूलेटर लॉग फ़ाइलों में एकाधिक प्रोसेसर के लिए अनुक्रमिक निष्पादन ब्लॉक (एसईबी) की जानकारी संग्रहीत करता है, प्रत्येक एसईबी भेजे गए संदेशों, उनके स्रोतों और गंतव्यों, निर्भरताओं, समय आदि को रिकॉर्ड करता है। सिम्युलेटर लॉग फ़ाइलों को पढ़ता है और उन्हें अनुकरण करता है, और स्टार हो सकता है अतिरिक्त संदेश जो तब एसईबी के रूप में भी संग्रहीत किए जाते हैं।[4][5]सिम्युलेटर इस प्रकार पूरी मशीन उपलब्ध होने या कॉन्फ़िगर करने से पहले, बहुत कम संख्या में नोड्स पर एमुलेटर द्वारा प्रदान किए गए निष्पादन निशान के आधार पर, बहुत बड़े अनुप्रयोगों के प्रदर्शन का एक दृश्य प्रदान कर सकता है।[5]


यह भी देखें

संदर्भ

  1. 1.0 1.1 Computer Organization and Design by David A. Patterson and John L. Hennessy 2011 ISBN 0123747503 page 641 [1]
  2. Beowulf Cluster Computing With Windows by Thomas Lawrence Sterling 2001 ISBN 0262692759 MIT Press pages 7–9
  3. 3.0 3.1 3.2 3.3 Recent Advances in the Message Passing Interface by Yiannis Cotronis, Anthony Danalis, Dimitris Nikolopoulos and Jack Dongarra 2011 ISBN 3642244483 pages 160–162
  4. 4.0 4.1 4.2 Petascale Computing: Algorithms and Applications by David A. Bader 2007 ISBN 1584889098 pages 435–435
  5. 5.0 5.1 5.2 5.3 5.4 Languages and Compilers for Parallel Computing edited by Keith Cooper, John Mellor-Crummey and Vivek Sarkar 2011 ISBN 3642195946 pages 202–203
  6. 6.0 6.1 6.2 Distributed services with OpenAFS: for enterprise and education by Franco Milicchio, Wolfgang Alexander Gehrke 2007, pp. 339-341
  7. 7.0 7.1 Recent Advances in Parallel Virtual Machine and Message Passing Interface by Matti Ropo, Jan Westerholm and Jack Dongarra 2009 ISBN 3642037690 page 231
  8. 8.0 8.1 8.2 Grid and Cluster Computing by J. Prabhu 2008 ISBN 8120334280 pages 109–112
  9. Gropp, William; Lusk, Ewing; Skjellum, Anthony (1996). "एमपीआई संदेश पासिंग इंटरफेस का एक उच्च प्रदर्शन, पोर्टेबल कार्यान्वयन". Parallel Computing. doi:10.1016/0167-8191(96)00024-5.
  10. The TianHe-1A Supercomputer: Its Hardware and Software by Xue-Jun Yang, Xiang-Ke Liao, et al in the Journal of Computer Science and Technology, Volume 26, Number 3, May 2011, pages 344–351 "Archived copy". Archived from the original on 2011-06-21. Retrieved 2012-02-08.{{cite web}}: CS1 maint: archived copy as title (link)
  11. U.S. says China building 'entirely indigenous' supercomputer, by Patrick Thibodeau Computerworld, November 4, 2010 [2]
  12. What is PMPI?
  13. 13.0 13.1 Recent Advances in Parallel Virtual Machine and Message Passing Interface by Bernd Mohr, Jesper Larsson Träff, Joachim Worringen and Jack Dongarra 2006 ISBN 354039110X page 347
  14. 14.0 14.1 PARAVER: A Tool to Visualize and Analyze Parallel Code by Vincent Pillet et al, Proceedings of the conference on Transputer and Occam Developments, 1995, pages 17–31
  15. Computational Science-- Iccs 2003 edited by Peter M.A. Sloot, David Abramson, Alexander V. Bogdanov and Jack J. Dongarra ISBN 3540401970 page 183
  16. 16.0 16.1 16.2 Modeling Message Passing Overhead by C.Y Chou et al. in Advances in Grid and Pervasive Computing: First International Conference, GPC 2006 edited by Yeh-Ching Chung and José E. Moreira ISBN 3540338098 pages 299–307
  17. High-Performance Computing and Networking edited by Peter Sloot, Marian Bubak and Bob Hertzberge 1998 ISBN 3540644431 page 935
  18. 18.0 18.1 18.2 High Performance Computational Science and Engineering edited by Michael K. Ng, Andrei Doncescu, Laurence T. Yang and Tau Leng, 2005 ISBN 0387240489 pages 59–63
  19. 19.0 19.1 19.2 Advances in Computer Science, Environment, Ecoinformatics, and Education edited by Song Lin and Xiong Huang 2011 ISBN 3642233236 page 16