कंप्यूटर क्लस्टर में संदेश प्रेषण: Difference between revisions
mNo edit summary |
(→संदर्भ) |
||
| (11 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Short description|Aspect of computer clusters}} | {{Short description|Aspect of computer clusters}} | ||
[[File:MEGWARE.CLIC.jpg|thumb|एक नेटवर्क पर संदेश पास करके एक साथ काम करने वाले कई कंप्यूटरों वाले क्लस्टर पर काम करने वाले तकनीशियन]]संदेश भेजना सभी [[कंप्यूटर क्लस्टर]] का एक अंतर्निहित तत्व है। सभी कंप्यूटर क्लस्टर | [[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> | ||
हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है | हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है इसलिए संचार सबसिस्टम की जटिलता में तेजी से वृद्धि [[Index.php?title=समानांतर कार्यक्रमों|समानांतर कार्यक्रम]] के निष्पादन में एक गंभीर प्रदर्शन के अभिप्राय को इंटरकनेक्ट पर संदेश भेजने में देरी करती है।<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" /> | |||
| Line 8: | Line 10: | ||
=== संदेश पास करने के लिए दृष्टिकोण === | === संदेश पास करने के लिए दृष्टिकोण === | ||
ऐतिहासिक रूप से, क्लस्टर नोड्स के बीच संचार के लिए दो विशिष्ट दृष्टिकोण PVM, [[समानांतर वर्चुअल मशीन]] और MPI, [[संदेश पासिंग इंटरफ़ेस]] रहे हैं।<ref name=Gehrke >''Distributed services with OpenAFS: for enterprise and education'' by Franco Milicchio, Wolfgang Alexander Gehrke 2007, pp. 339-341</ref> | ऐतिहासिक रूप से, क्लस्टर नोड्स के बीच संचार के लिए दो विशिष्ट दृष्टिकोण PVM, [[समानांतर वर्चुअल मशीन]] और MPI, [[संदेश पासिंग इंटरफ़ेस|संदेश भेजना इंटरफ़ेस]] रहे हैं।<ref name=Gehrke >''Distributed services with OpenAFS: for enterprise and education'' by Franco Milicchio, Wolfgang Alexander Gehrke 2007, pp. 339-341</ref> यद्यपि, MPI अब कंप्यूटर क्लस्टर पर संदेश भेजने के लिए वास्तविक मानक के रूप में उभरा है।<ref name=Matti231 >''Recent Advances in Parallel Virtual Machine and Message Passing Interface'' by Matti Ropo, Jan Westerholm and Jack Dongarra 2009 {{ISBN|3642037690}} page 231</ref> | ||
PVM MPI से पहले का है और इसे 1989 के | |||
PVM MPI से पहले का है और इसे 1989 के सन्निकट [[ ओक रिज राष्ट्रीय प्रयोगशाला | ओक रिज राष्ट्रीय प्रयोगशाला]] में विकसित किया गया था। यह सॉफ्टवेयर लाइब्रेरी का एक सेट प्रदान करता है जो एक कंप्यूटिंग नोड को समानांतर वर्चुअल मशीन के रूप में कार्य करने की अनुमति देता है। यह संदेश-भेजना, कार्य और संसाधन प्रबंधन, और गलती अधिसूचना के लिए रन-टाइम वातावरण प्रदान करता है और प्रत्येक क्लस्टर नोड पर सीधे स्थापित होना चाहिए। PVM का उपयोग C , C++, या [[फोरट्रान]] आदि भाषा में लिखे उपयोगकर्ता प्रोग्रामों द्वारा किया जा सकता है।<ref name="Gehrke" /><ref name="Prabhu" /> | |||
पीवीM के विपरीत, जिसका एक ठोस कार्यान्वयन है, Mपीआई पुस्तकालयों के एक विशिष्ट सेट के बजाय एक विनिर्देश है। विनिर्देश 1990 की शुरुआत में 40 संगठनों के बीच हुई चर्चाओं से अस्तित्व में आया, प्रारंभिक प्रयास [[DARPA|ARPA]] और [[ राष्ट्रीय विज्ञान संस्था ]] द्वारा समर्थित थे। MPI का डिज़ाइन उस समय की वाणिज्यिक प्रणालियों में उपलब्ध विभिन्न विशेषताओं पर आधारित था। Mपीआई विनिर्देशों ने तब विशिष्ट कार्यान्वयन को जन्म दिया। Mपीआई कार्यान्वयन आमतौर पर Tसीपी/आईपी और सॉकेट कनेक्शन का उपयोग करते हैं।<ref name=Gehrke />Mपीआई अब एक व्यापक रूप से उपलब्ध संचार मॉडल है जो समानांतर कार्यक्रमों को [[सी (प्रोग्रामिंग भाषा)]], फोरट्रान, [[पायथन (प्रोग्रामिंग भाषा)]], आदि भाषाओं में लिखे जाने में सक्षम बनाता है।<ref name=Prabhu >''Grid and Cluster Computing'' by J. Prabhu 2008 {{ISBN|8120334280}} pages 109–112</ref> MPI विनिर्देश [[MPICH]] और [[Open MPI]] जैसी प्रणालियों में लागू किया गया है।<ref name=Prabhu /><ref name=Gropp>{{Cite journal | |||
|last1=Gropp |first1=William |last2=Lusk |first2=Ewing |last3=Skjellum |first3=Anthony | |last1=Gropp |first1=William |last2=Lusk |first2=Ewing |last3=Skjellum |first3=Anthony | ||
|year=1996|title=एमपीआई संदेश पासिंग इंटरफेस का एक उच्च प्रदर्शन, पोर्टेबल कार्यान्वयन|journal=Parallel Computing |doi=10.1016/0167-8191(96)00024-5 }}</ref> | |year=1996|title=एमपीआई संदेश पासिंग इंटरफेस का एक उच्च प्रदर्शन, पोर्टेबल कार्यान्वयन|journal=Parallel Computing |doi=10.1016/0167-8191(96)00024-5 }}</ref> | ||
| Line 17: | Line 20: | ||
=== परीक्षण, मूल्यांकन और अनुकूलन === | === परीक्षण, मूल्यांकन और अनुकूलन === | ||
[[File:Virginia tech xserve cluster.jpg|thumb|150px|left|Apple कंप्यूटरों का [[वर्जीनिया टेक]] [[ ज़र्व ]] क्लस्टर]]कंप्यूटर क्लस्टर कई नोड्स पर प्रसंस्करण के वितरण और परिणामी संचार | [[File:Virginia tech xserve cluster.jpg|thumb|150px|left|Apple कंप्यूटरों का [[वर्जीनिया टेक]] [[ ज़र्व ]] क्लस्टर]]कंप्यूटर क्लस्टर कई नोड्स पर प्रसंस्करण के वितरण और ऊपरी परिणामी संचार से निपटने के लिए कई रणनीतियों का उपयोग करते हैं। कुछ कंप्यूटर क्लस्टर जैसे [[Index.php?title=Tianhe-I|Tianhe-I]] संगणना करने के लिए उपयोग किए जाने वाले संदेशों की तुलना में संदेश पास करने के लिए विभिन्न प्रोसेसर का उपयोग करते हैं। [[Index.php?title=Tianhe-I|Tianhe-I]] संदेश भेजना सिस्टम के संचालन को बढ़ाने के लिए दो हजार से अधिक [[FeiTeng-1000]] प्रोसेसर का उपयोग करता है, जबकि गणना [[Xeon]] और [[Nvidia Tesla]] प्रोसेसर द्वारा की जाती है।<ref name=HT1>''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 {{cite web|url=http://jcst.ict.ac.cn:8080/jcst/EN/article/downloadArticleFile.do?attachType=PDF&id=9388 |title=Archived copy |access-date=2012-02-08 |url-status=dead |archive-url=https://web.archive.org/web/20110621022638/http://jcst.ict.ac.cn:8080/jcst/EN/article/downloadArticleFile.do?attachType=PDF&id=9388 |archive-date=2011-06-21 }}</ref><ref name=cw>''U.S. says China building 'entirely indigenous' supercomputer'', by Patrick Thibodeau [[Computerworld]], November 4, 2010 [http://www.computerworld.com/s/article/9194799/U.S._says_China_building_entirely_indigenous_supercomputer_]</ref> | ||
संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय | संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय निकटता (जिसे [[लोकेल (कंप्यूटर हार्डवेयर)|लोकेल]] भी कहा जाता है) का उपयोग होता है। यहां क्लस्टर में कम्प्यूटेशनल कार्यों को विशिष्ट " निकटता" सौंपा गया है, जो एक दूसरे के नज़दीक प्रोसेसर का उपयोग करके दक्षता बढ़ाने के लिए हैं।<ref name=Jack2011 />यद्यपि, यह देखते हुए कि कई मामलों में कंप्यूटर क्लस्टर नोड्स के वास्तविक [[नेटवर्क टोपोलॉजी]] और उनके इंटरकनेक्शन का एप्लिकेशन डेवलपर्स को ज्ञात नहीं हो सकता है, एप्लिकेशन प्रोग्राम स्तर पर प्रदर्शन को ठीक करने का प्रयास करना अपेक्षित कठिन है।<ref name=Jack2011 /> | ||
यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में | यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में अस्तित्व में है, क्लस्टर नोड्स की संख्या में वृद्धि के परिणामस्वरूप MPI पुस्तकालयों की दक्षता और मापनीयता में सुधार के लिए निरंतर अनुसंधान हुआ है। इन प्रयासों में MPI पुस्तकालयों की स्मृति पदचिह्न को कम करने के लिए अनुसंधान सम्मिलित है।<ref name=Matti231 /> | ||
शुरुआती दिनों से | शुरुआती दिनों से Mपीआई ने पीMपीआई प्रोफाइलिंग सिस्टम के माध्यम से [[ रूपरेखा (कंप्यूटर प्रोग्रामिंग) | प्रदर्शन प्रोफाइलिंग]] के लिए सुविधाएं प्रदान कीं।<ref>[https://www.open-mpi.org/faq/?category=perftools#PMPI What is PMPI?]</ref> PMIPI- उपसर्ग का उपयोग संदेशों के प्रवेश और निकास बिंदुओं के अवलोकन की अनुमति देता है। यद्यपि, इस प्रोफ़ाइल की उच्च स्तरीय प्रकृति को देखते हुए, इस प्रकार की जानकारी केवल संचार प्रणाली के वास्तविक व्यवहार की एक झलक प्रदान करती है। अधिक जानकारी की आवश्यकता के परिणामस्वरूप MPI-Peruse सिस्टम का विकास हुआ। Peruse पुस्तकालय के भीतर राज्य-परिवर्तनों तक पहुँच प्राप्त करने के लिए अनुप्रयोगों को सक्षम करके अधिक विस्तृत प्रोफ़ाइल प्रदान करता है। यह 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=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 अन्य प्रणालियों से ट्रेस स्वरूपों का उपयोग कर सकता है, या अपना स्वयं का अनुरेखण कर सकता है। यह टास्क लेवल, थ्रेड लेवल और हाइब्रिड फॉर्मेट में काम करता है। निशानों में सामान्यतः इतनी अधिक जानकारी सम्मिलित होती है कि वे सामान्यतः भारी पड़ जाते हैं। इस प्रकार 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=Jack2011 />[[BIGSIM]] जैसी प्रणालियाँ विभिन्न [[:en:Network_topology|node_टोपोलॉजी]] , संदेश भेजना और शेड्यूलिंग रणनीतियों पर प्रदर्शन के अनुकरण की अनुमति देकर ये सुविधाएँ प्रदान करती हैं।<ref name=Bader>''Petascale Computing: Algorithms and Applications'' by David A. Bader 2007 {{ISBN|1584889098}} pages 435–435</ref> | ||
=== विश्लेषणात्मक दृष्टिकोण === | === विश्लेषणात्मक दृष्टिकोण === | ||
विश्लेषणात्मक स्तर पर, स्टार्टअप [[ विलंबता (इंजीनियरिंग) ]], एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय | विश्लेषणात्मक स्तर पर, स्टार्टअप [[ विलंबता (इंजीनियरिंग) | लेटेंसी]] , एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय T को मॉडल करना आवश्यक है। एक प्रसिद्ध मॉडल हॉकनी का मॉडल है जो T = L + (M / R) का उपयोग करके [[बिंदु से बिंदु संचार]] पर निर्भर करता है, जहां M संदेश का आकार है, L स्टार्टअप [[ विलंबता (इंजीनियरिंग) |लेटेंसी]] है और R MB/s में [[स्पर्शोन्मुख बैंडविड्थ]] है।<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" /> | |||
=== प्रदर्शन सिमुलेशन === | === प्रदर्शन सिमुलेशन === | ||
[[File:Roadrunner supercomputer HiRes.jpg|thumb|220px|[[आईबीएम रोडरनर]] क्लस्टर सुपरकंप्यूटर]]कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, | [[File:Roadrunner supercomputer HiRes.jpg|thumb|220px|[[आईबीएम रोडरनर|आईबीM रोडरनर]] क्लस्टर सुपरकंप्यूटर]]कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, क्लस्टरसिम असतत-ईवेंट सिमुलेशन के लिए जावा-आधारित विज़ुअल वातावरण का उपयोग करता है। इस दृष्टिकोण में कंप्यूटेड नोड्स और नेटवर्क टोपोलॉजी को दृष्टिगत रूप से प्रतिरूपित किया जाता है। जॉब, उनकी अवधि और जटिलता को विशिष्ट [[संभाव्यता वितरण]] के साथ दर्शाया जाता है जिससे विभिन्न समांतर जॉब-शेड्यूलिंग कलन विधि प्रस्तावित और प्रयोग किए जा सकते हैं। संदेश भेजना इंटरफ़ेस संदेश भेजना के लिए संचार ओवरहेड इस प्रकार सिम्युलेटेड और बड़े पैमाने पर समानांतर जॉब निष्पादन के संदर्भ में बेहतर समझा जा सकता है।<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 में एक | 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 /> | ||
| Line 51: | Line 56: | ||
{{Reflist|colwidth=33em}} | {{Reflist|colwidth=33em}} | ||
[[Category:CS1 maint]] | |||
[[Category:Collapse templates]] | |||
[[Category: | |||
[[Category:Created On 15/05/2023]] | [[Category:Created On 15/05/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with broken file links]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:अंतःप्रक्रम संचार]] | |||
[[Category:क्लस्टर कंप्यूटिंग]] | |||
[[Category:सुपर कम्प्यूटिंग]] | |||
Latest revision as of 12:06, 12 September 2023
संदेश भेजना सभी कंप्यूटर क्लस्टर का एक अंतर्निहित तत्व है। सभी कंप्यूटर क्लस्टर होममेड बियोवुल्फ़ क्लस्टर से लेकर दुनिया के कुछ सबसे तेज़ सुपर कंप्यूटर तक, उनके द्वारा सम्मिलित किए गए कई नोड्स की गतिविधियों को समन्वयित करने के लिए संदेश भेजने पर भरोसा करते हैं।[1][2] कमोडिटी सर्वर (कंप्यूटिंग) और स्विच के साथ निर्मित कंप्यूटर क्लस्टर में संदेश भेजने का उपयोग वस्तुतः हर इंटरनेट सेवा द्वारा किया जाता है।[1]
हाल ही में, एक हज़ार से अधिक नोड वाले कंप्यूटर क्लस्टर का उपयोग फैल रहा है। चूंकि क्लस्टर में नोड्स की संख्या बढ़ जाती है इसलिए संचार सबसिस्टम की जटिलता में तेजी से वृद्धि समानांतर कार्यक्रम के निष्पादन में एक गंभीर प्रदर्शन के अभिप्राय को इंटरकनेक्ट पर संदेश भेजने में देरी करती है।[3]
कंप्यूटर क्लस्टर पर संदेश के प्रदर्शन को अनुकरण, कल्पना और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। एक बड़े कंप्यूटर क्लस्टर को इकट्ठा करने से पहले, ट्रेस-आधारित सिम्युलेटर बड़े कॉन्फ़िगरेशन पर संदेश के प्रदर्शन की भविष्यवाणी करने में सहायता के लिए नोड्स की एक लघु संख्या का उपयोग कर सकता है। निम्नलिखित परीक्षण नोड्स की एक लघु संख्या पर चलता है, सिम्युलेटर निष्पादन और संदेश हस्तांतरण कंप्यूटर डेटा लॉगिंग को पढ़ता है और मैसेजिंग सबसिस्टम के प्रदर्शन का अनुकरण करता है जब बहुत अधिक संख्या में नोड्स के बीच कई संदेशों का आदान-प्रदान किया जाता है।[4][5]
संदेश और संगणना
संदेश पास करने के लिए दृष्टिकोण
ऐतिहासिक रूप से, क्लस्टर नोड्स के बीच संचार के लिए दो विशिष्ट दृष्टिकोण PVM, समानांतर वर्चुअल मशीन और MPI, संदेश भेजना इंटरफ़ेस रहे हैं।[6] यद्यपि, MPI अब कंप्यूटर क्लस्टर पर संदेश भेजने के लिए वास्तविक मानक के रूप में उभरा है।[7]
PVM MPI से पहले का है और इसे 1989 के सन्निकट ओक रिज राष्ट्रीय प्रयोगशाला में विकसित किया गया था। यह सॉफ्टवेयर लाइब्रेरी का एक सेट प्रदान करता है जो एक कंप्यूटिंग नोड को समानांतर वर्चुअल मशीन के रूप में कार्य करने की अनुमति देता है। यह संदेश-भेजना, कार्य और संसाधन प्रबंधन, और गलती अधिसूचना के लिए रन-टाइम वातावरण प्रदान करता है और प्रत्येक क्लस्टर नोड पर सीधे स्थापित होना चाहिए। PVM का उपयोग C , C++, या फोरट्रान आदि भाषा में लिखे उपयोगकर्ता प्रोग्रामों द्वारा किया जा सकता है।[6][8]
पीवीM के विपरीत, जिसका एक ठोस कार्यान्वयन है, Mपीआई पुस्तकालयों के एक विशिष्ट सेट के बजाय एक विनिर्देश है। विनिर्देश 1990 की शुरुआत में 40 संगठनों के बीच हुई चर्चाओं से अस्तित्व में आया, प्रारंभिक प्रयास ARPA और राष्ट्रीय विज्ञान संस्था द्वारा समर्थित थे। MPI का डिज़ाइन उस समय की वाणिज्यिक प्रणालियों में उपलब्ध विभिन्न विशेषताओं पर आधारित था। Mपीआई विनिर्देशों ने तब विशिष्ट कार्यान्वयन को जन्म दिया। Mपीआई कार्यान्वयन आमतौर पर Tसीपी/आईपी और सॉकेट कनेक्शन का उपयोग करते हैं।[6]Mपीआई अब एक व्यापक रूप से उपलब्ध संचार मॉडल है जो समानांतर कार्यक्रमों को सी (प्रोग्रामिंग भाषा), फोरट्रान, पायथन (प्रोग्रामिंग भाषा), आदि भाषाओं में लिखे जाने में सक्षम बनाता है।[8] MPI विनिर्देश MPICH और Open MPI जैसी प्रणालियों में लागू किया गया है।[8][9]
परीक्षण, मूल्यांकन और अनुकूलन
कंप्यूटर क्लस्टर कई नोड्स पर प्रसंस्करण के वितरण और ऊपरी परिणामी संचार से निपटने के लिए कई रणनीतियों का उपयोग करते हैं। कुछ कंप्यूटर क्लस्टर जैसे Tianhe-I संगणना करने के लिए उपयोग किए जाने वाले संदेशों की तुलना में संदेश पास करने के लिए विभिन्न प्रोसेसर का उपयोग करते हैं। Tianhe-I संदेश भेजना सिस्टम के संचालन को बढ़ाने के लिए दो हजार से अधिक FeiTeng-1000 प्रोसेसर का उपयोग करता है, जबकि गणना Xeon और Nvidia Tesla प्रोसेसर द्वारा की जाती है।[10][11]
संचार ओवरहेड को कम करने के लिए एक दृष्टिकोण विशिष्ट कार्यों के लिए स्थानीय निकटता (जिसे लोकेल भी कहा जाता है) का उपयोग होता है। यहां क्लस्टर में कम्प्यूटेशनल कार्यों को विशिष्ट " निकटता" सौंपा गया है, जो एक दूसरे के नज़दीक प्रोसेसर का उपयोग करके दक्षता बढ़ाने के लिए हैं।[3]यद्यपि, यह देखते हुए कि कई मामलों में कंप्यूटर क्लस्टर नोड्स के वास्तविक नेटवर्क टोपोलॉजी और उनके इंटरकनेक्शन का एप्लिकेशन डेवलपर्स को ज्ञात नहीं हो सकता है, एप्लिकेशन प्रोग्राम स्तर पर प्रदर्शन को ठीक करने का प्रयास करना अपेक्षित कठिन है।[3]
यह देखते हुए कि MPI अब कंप्यूटर क्लस्टरों पर वास्तविक मानक के रूप में अस्तित्व में है, क्लस्टर नोड्स की संख्या में वृद्धि के परिणामस्वरूप MPI पुस्तकालयों की दक्षता और मापनीयता में सुधार के लिए निरंतर अनुसंधान हुआ है। इन प्रयासों में MPI पुस्तकालयों की स्मृति पदचिह्न को कम करने के लिए अनुसंधान सम्मिलित है।[7]
शुरुआती दिनों से Mपीआई ने पीMपीआई प्रोफाइलिंग सिस्टम के माध्यम से प्रदर्शन प्रोफाइलिंग के लिए सुविधाएं प्रदान कीं।[12] PMIPI- उपसर्ग का उपयोग संदेशों के प्रवेश और निकास बिंदुओं के अवलोकन की अनुमति देता है। यद्यपि, इस प्रोफ़ाइल की उच्च स्तरीय प्रकृति को देखते हुए, इस प्रकार की जानकारी केवल संचार प्रणाली के वास्तविक व्यवहार की एक झलक प्रदान करती है। अधिक जानकारी की आवश्यकता के परिणामस्वरूप MPI-Peruse सिस्टम का विकास हुआ। Peruse पुस्तकालय के भीतर राज्य-परिवर्तनों तक पहुँच प्राप्त करने के लिए अनुप्रयोगों को सक्षम करके अधिक विस्तृत प्रोफ़ाइल प्रदान करता है। यह Peruse के साथ कॉलबैक दर्ज करके प्राप्त किया जाता है, और फिर उन्हें ट्रिगर के रूप में आमंत्रित किया जाता है क्योंकि संदेश घटनाएँ होती हैं।[13] Peruse PARAVER विज़ुअलाइज़ेशन सिस्टम के साथ काम कर सकता है। पैरावर में दो घटक होते हैं, एक ट्रेस घटक और निशान का विश्लेषण करने के लिए एक दृश्य घटक, विशिष्ट घटनाओं से संबंधित आंकड़े आदि। [14] PARAVER अन्य प्रणालियों से ट्रेस स्वरूपों का उपयोग कर सकता है, या अपना स्वयं का अनुरेखण कर सकता है। यह टास्क लेवल, थ्रेड लेवल और हाइब्रिड फॉर्मेट में काम करता है। निशानों में सामान्यतः इतनी अधिक जानकारी सम्मिलित होती है कि वे सामान्यतः भारी पड़ जाते हैं। इस प्रकार PARAVER उन्हें सारांशित करता है ताकि उपयोगकर्ता उन्हें देख सकें और उनका विश्लेषण कर सकें।[13][14][15]
प्रदर्शन विश्लेषण
जब एक बड़े पैमाने सामान्यतः सुपर कंप्यूटर स्तर पर, समानांतर प्रणाली विकसित की जा रही है, तो यह आवश्यक है कि वह कई विन्यासों के साथ प्रयोग करने और प्रदर्शन का अनुकरण करने में सक्षम हो। इस परिदृश्य में मॉडलिंग संदेश भेजना दक्षता के लिए कई दृष्टिकोण हैं, विश्लेषणात्मक मॉडल से ट्रेस-आधारित सिमुलेशन तक और कुछ दृष्टिकोण संदेश भेजना प्रदर्शन के सिंथेटिक परीक्षण करने के लिए "कृत्रिम संचार" के आधार पर परीक्षण वातावरण के उपयोग पर भरोसा करते हैं।[3]BIGSIM जैसी प्रणालियाँ विभिन्न node_टोपोलॉजी , संदेश भेजना और शेड्यूलिंग रणनीतियों पर प्रदर्शन के अनुकरण की अनुमति देकर ये सुविधाएँ प्रदान करती हैं।[4]
विश्लेषणात्मक दृष्टिकोण
विश्लेषणात्मक स्तर पर, स्टार्टअप लेटेंसी , एसिम्प्टोटिक बैंडविड्थ और प्रोसेसर की संख्या जैसे उप-घटकों के एक सेट की अवधि में संचार समय T को मॉडल करना आवश्यक है। एक प्रसिद्ध मॉडल हॉकनी का मॉडल है जो T = L + (M / R) का उपयोग करके बिंदु से बिंदु संचार पर निर्भर करता है, जहां M संदेश का आकार है, L स्टार्टअप लेटेंसी है और R MB/s में स्पर्शोन्मुख बैंडविड्थ है।[16]
जू और ह्वांग ने हॉकनी के मॉडल को प्रोसेसर की संख्या सम्मिलित करने के लिए सामान्यीकृत किया, जिससे लेटेंसी और स्पर्शोन्मुख बैंडविड्थ दोनों प्रोसेसर की संख्या के कार्य हों।[16][17] गुनवान और कै ने इसके बाद कैश आकार की शुरुआत करके इसे और सामान्यीकृत किया, और संदेशों को उनके आकार के आधार पर अलग किया, दो अलग-अलग मॉडल एक कैश आकार के नीचे के संदेशों के लिए, और एक ऊपर वालों के लिए प्राप्त किए।[16]
प्रदर्शन सिमुलेशन
कंप्यूटर क्लस्टर पर संदेश भेजने के प्रदर्शन को अनुकरण करने और समझने के लिए विशिष्ट उपकरणों का उपयोग किया जा सकता है। उदाहरण के लिए, क्लस्टरसिम असतत-ईवेंट सिमुलेशन के लिए जावा-आधारित विज़ुअल वातावरण का उपयोग करता है। इस दृष्टिकोण में कंप्यूटेड नोड्स और नेटवर्क टोपोलॉजी को दृष्टिगत रूप से प्रतिरूपित किया जाता है। जॉब, उनकी अवधि और जटिलता को विशिष्ट संभाव्यता वितरण के साथ दर्शाया जाता है जिससे विभिन्न समांतर जॉब-शेड्यूलिंग कलन विधि प्रस्तावित और प्रयोग किए जा सकते हैं। संदेश भेजना इंटरफ़ेस संदेश भेजना के लिए संचार ओवरहेड इस प्रकार सिम्युलेटेड और बड़े पैमाने पर समानांतर जॉब निष्पादन के संदर्भ में बेहतर समझा जा सकता है।[18]
अन्य अनुकार उपकरणों में MPI-sim और BIGSIM सम्मिलित हैं।[19] MPI-Sim एक निष्पादन-संचालित सिम्युलेटर है जिसे संचालित करने के लिए C या C++ प्रोग्राम की आवश्यकता होती है।[18][19]दूसरी ओर क्लस्टरसिम, प्रोग्राम निष्पादन के लिए उपयोग की जाने वाली प्रोग्रामिंग भाषा से स्वतंत्र हाइब्रिड उच्च-स्तरीय मॉडलिंग सिस्टम का उपयोग करता है।[18]
MPI-Sim के विपरीत, BIGSIM एक ट्रेस-संचालित प्रणाली है जो एक अलग इम्यूलेटर प्रोग्राम द्वारा फाइलों में सहेजे गए निष्पादन के लॉग के आधार पर अनुकरण करती है।[5][19]BIGSIM में एक एम्यूलेटर और एक सिम्युलेटर सम्मिलित है। एम्यूलेटर कम संख्या में नोड्स पर एप्लिकेशन निष्पादित करता है और परिणामों को संग्रहीत करता है, इसलिए सिम्युलेटर उनका उपयोग कर सकता है और बहुत बड़ी संख्या में नोड्स पर गतिविधियों का अनुकरण कर सकता है।[5]एम्यूलेटर लॉग फ़ाइलों में एकाधिक प्रोसेसर के लिए अनुक्रमिक निष्पादन ब्लॉक (एसईबी) की जानकारी संग्रहीत करता है, जिसमें प्रत्येक एसईबी भेजे गए संदेशों, उनके स्रोतों और गंतव्यों, निर्भरताओं, समय आदि को रिकॉर्ड करता है। सिम्युलेटर लॉग फ़ाइलों को पढ़ता है और उन्हें अनुकरण करता है, और अतिरिक्त संदेशों को तारांकित कर सकता है जो तब एसईबी के रूप में संग्रहीत होते हैं।[4][5]सिम्युलेटर इस प्रकार पूरी मशीन उपलब्ध होने या कॉन्फ़िगर करने से पहले, बहुत कम संख्या में नोड्स पर एम्यूलेटर द्वारा प्रदान किए गए निष्पादन निशान के आधार पर, बहुत बड़े अनुप्रयोगों के प्रदर्शन का एक दृश्य प्रदान कर सकता है।[5]
यह भी देखें
- उच्च उपलब्धता क्लस्टर
- प्रदर्शन सिमुलेशन
- सुपर कम्प्यूटिंग
संदर्भ
- ↑ 1.0 1.1 Computer Organization and Design by David A. Patterson and John L. Hennessy 2011 ISBN 0123747503 page 641 [1]
- ↑ Beowulf Cluster Computing With Windows by Thomas Lawrence Sterling 2001 ISBN 0262692759 MIT Press pages 7–9
- ↑ 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.0 4.1 4.2 Petascale Computing: Algorithms and Applications by David A. Bader 2007 ISBN 1584889098 pages 435–435
- ↑ 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.0 6.1 6.2 Distributed services with OpenAFS: for enterprise and education by Franco Milicchio, Wolfgang Alexander Gehrke 2007, pp. 339-341
- ↑ 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.0 8.1 8.2 Grid and Cluster Computing by J. Prabhu 2008 ISBN 8120334280 pages 109–112
- ↑ Gropp, William; Lusk, Ewing; Skjellum, Anthony (1996). "एमपीआई संदेश पासिंग इंटरफेस का एक उच्च प्रदर्शन, पोर्टेबल कार्यान्वयन". Parallel Computing. doi:10.1016/0167-8191(96)00024-5.
- ↑ 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) - ↑ U.S. says China building 'entirely indigenous' supercomputer, by Patrick Thibodeau Computerworld, November 4, 2010 [2]
- ↑ What is PMPI?
- ↑ 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.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
- ↑ Computational Science-- Iccs 2003 edited by Peter M.A. Sloot, David Abramson, Alexander V. Bogdanov and Jack J. Dongarra ISBN 3540401970 page 183
- ↑ 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
- ↑ High-Performance Computing and Networking edited by Peter Sloot, Marian Bubak and Bob Hertzberge 1998 ISBN 3540644431 page 935
- ↑ 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.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