वितरित अभिकलन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 3: Line 3:
वितरित प्रणाली ऐसी प्रणाली है जिसके घटक विभिन्न [[संगणक संजाल|संगणक तंत्र]] पर स्थित होते हैं, जो दूसरे को संदेश भेजकर अपने कार्यों का संचार और समन्वय करते हैं।<ref name="tanenbaum">{{cite book |author1=Tanenbaum, Andrew S. |author2=Steen, Maarten van |title=Distributed systems: principles and paradigms |publisher=Pearson Prentice Hall |location=Upper Saddle River, NJ |year=2002 |isbn=0-13-088893-1 |url=https://www.distributed-systems.net/index.php/books/ds3/ |access-date=2020-08-28 |archive-date=2020-08-12 |archive-url=https://web.archive.org/web/20200812174339/https://www.distributed-systems.net/index.php/books/ds3/ |url-status=live }}</ref><ref नाम = वितरित कार्यक्रम 2010 पीपी। 373–406 >{{cite book | title=कंप्यूटर विज्ञान में ग्रंथ| chapter=Distributed Programs | publisher=Springer London | publication-place=London | year=2010 | isbn=978-1-84882-744-8 | issn=1868-0941 | doi=10.1007/978-1-84882-745-5_11 | pages=373–406 | quote=सिस्टम में कई भौतिक रूप से वितरित घटक होते हैं जो अपने निजी भंडारण का उपयोग करके स्वतंत्र रूप से काम करते हैं, लेकिन समय-समय पर स्पष्ट संदेश पासिंग द्वारा संचार भी करते हैं। ऐसी प्रणालियों को वितरित प्रणाली कहा जाता है।}}</ref> वितरित संगणना [[कंप्यूटर विज्ञान]] का क्षेत्र है जो वितरित प्रणालियों का अध्ययन करता है।
वितरित प्रणाली ऐसी प्रणाली है जिसके घटक विभिन्न [[संगणक संजाल|संगणक तंत्र]] पर स्थित होते हैं, जो दूसरे को संदेश भेजकर अपने कार्यों का संचार और समन्वय करते हैं।<ref name="tanenbaum">{{cite book |author1=Tanenbaum, Andrew S. |author2=Steen, Maarten van |title=Distributed systems: principles and paradigms |publisher=Pearson Prentice Hall |location=Upper Saddle River, NJ |year=2002 |isbn=0-13-088893-1 |url=https://www.distributed-systems.net/index.php/books/ds3/ |access-date=2020-08-28 |archive-date=2020-08-12 |archive-url=https://web.archive.org/web/20200812174339/https://www.distributed-systems.net/index.php/books/ds3/ |url-status=live }}</ref><ref नाम = वितरित कार्यक्रम 2010 पीपी। 373–406 >{{cite book | title=कंप्यूटर विज्ञान में ग्रंथ| chapter=Distributed Programs | publisher=Springer London | publication-place=London | year=2010 | isbn=978-1-84882-744-8 | issn=1868-0941 | doi=10.1007/978-1-84882-745-5_11 | pages=373–406 | quote=सिस्टम में कई भौतिक रूप से वितरित घटक होते हैं जो अपने निजी भंडारण का उपयोग करके स्वतंत्र रूप से काम करते हैं, लेकिन समय-समय पर स्पष्ट संदेश पासिंग द्वारा संचार भी करते हैं। ऐसी प्रणालियों को वितरित प्रणाली कहा जाता है।}}</ref> वितरित संगणना [[कंप्यूटर विज्ञान]] का क्षेत्र है जो वितरित प्रणालियों का अध्ययन करता है।


सामान्य लक्ष्य को प्राप्त करने के लिए वितरित प्रणाली के घटक दूसरे के साथ बातचीत करते हैं। वितरित प्रणालियों की तीन महत्वपूर्ण चुनौतियाँ हैं: घटकों की संगति बनाए रखना, घड़ी के समकालीन पर काबू पाना और घटकों की स्वतंत्र विफलता का प्रबंधन करना।<ref name="tanenbaum" /> जब प्रणाली का कंपोनेंट फेल हो जाता है, तो संपूर्ण प्रणाली विफल नहीं होती है।{{sfn|Dusseau|Dusseau|2016|p=1-2}} वितरित प्रणाली के उदाहरण [[सेवा उन्मुख संरचना]] | एसओए- आधारित प्रणाली से लेकर [[बड़े पैमाने पर मल्टीप्लेयर ऑनलाइन गेम|बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल]] से लेकर [[पीयर टू पीयर|समकक्ष को समकक्ष]] | समकक्ष-को-समकक्ष एप्लिकेशन तक भिन्न होते हैं।
सामान्य लक्ष्य को प्राप्त करने के लिए वितरित प्रणाली के घटक दूसरे के साथ बातचीत करते हैं। वितरित प्रणालियों की तीन महत्वपूर्ण चुनौतियाँ हैं: घटकों की संगति बनाए रखना, घड़ी के समकालीन पर काबू पाना और घटकों की स्वतंत्र विफलता का प्रबंधन करना।<ref name="tanenbaum" /> जब प्रणाली का कंपोनेंट फेल हो जाता है, तो संपूर्ण प्रणाली विफल नहीं होती है।{{sfn|Dusseau|Dusseau|2016|p=1-2}} वितरित प्रणाली के उदाहरण [[सेवा उन्मुख संरचना]] | एसओए- आधारित प्रणाली से लेकर [[बड़े पैमाने पर मल्टीप्लेयर ऑनलाइन गेम|बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल]] से लेकर [[पीयर टू पीयर|समकक्ष को समकक्ष]] | समकक्ष-को-समकक्ष एप्लिकेशन तक भिन्न होते हैं।


[[कंप्यूटर प्रोग्राम|कंप्यूटर योजना]] जो वितरित प्रणाली के अंदर चलता है, वितरित योजना कहलाती है, <ref नाम = वितरित कार्यक्रम 2010 पीपी। 373-406 II>{{cite book | title=कंप्यूटर विज्ञान में ग्रंथ| chapter=Distributed Programs | publisher=Springer London | publication-place=London | year=2010 | isbn=978-1-84882-744-8 | issn=1868-0941 | doi=10.1007/978-1-84882-745-5_11 | pages=373–406 | quote=वितरित कार्यक्रम वितरित सिस्टम के सार विवरण हैं। एक वितरित कार्यक्रम में प्रक्रियाओं का एक संग्रह होता है जो समवर्ती रूप से काम करता है और स्पष्ट संदेश पासिंग द्वारा संचार करता है। प्रत्येक प्रक्रिया वेरिएबल्स के एक सेट तक पहुंच सकती है जो वेरिएबल्स से अलग हैं जिन्हें किसी अन्य प्रक्रिया द्वारा बदला जा सकता है।}}</ref> और वितरित कार्यक्रम निर्माण ऐसे योजना लिखने की प्रक्रिया है।  
[[कंप्यूटर प्रोग्राम|कंप्यूटर योजना]] जो वितरित प्रणाली के अंदर चलता है, वितरित योजना कहलाती है, <ref नाम = वितरित कार्यक्रम 2010 पीपी। 373-406 II>{{cite book | title=कंप्यूटर विज्ञान में ग्रंथ| chapter=Distributed Programs | publisher=Springer London | publication-place=London | year=2010 | isbn=978-1-84882-744-8 | issn=1868-0941 | doi=10.1007/978-1-84882-745-5_11 | pages=373–406 | quote=वितरित कार्यक्रम वितरित सिस्टम के सार विवरण हैं। एक वितरित कार्यक्रम में प्रक्रियाओं का एक संग्रह होता है जो समवर्ती रूप से काम करता है और स्पष्ट संदेश पासिंग द्वारा संचार करता है। प्रत्येक प्रक्रिया वेरिएबल्स के एक सेट तक पहुंच सकती है जो वेरिएबल्स से अलग हैं जिन्हें किसी अन्य प्रक्रिया द्वारा बदला जा सकता है।}}</ref> और वितरित कार्यक्रम निर्माण ऐसे योजना लिखने की प्रक्रिया है।  
Line 36: Line 36:
दाईं ओर का आंकड़ा वितरित और समांतर प्रणालियों के बीच अंतर को दर्शाता है। चित्रा (ए) विशिष्ट वितरित प्रणाली का योजनाबद्ध दृश्य है; प्रणाली को नेटवर्क टोपोलॉजी के रूप में दर्शाया गया है जिसमें प्रत्येक नोड कंप्यूटर है और नोड्स को जोड़ने वाली प्रत्येक पंक्ति संचार लिंक है। चित्र (बी) ही वितरित प्रणाली को और अधिक विस्तार से दिखाता है: प्रत्येक कंप्यूटर की अपनी स्थानीय मेमोरी होती है, और उपलब्ध संचार लिंक का उपयोग करके केवल नोड से दूसरे में संदेश भेजकर सूचना का आदान-प्रदान किया जा सकता है। चित्रा (सी) समांतर प्रणाली दिखाता है जिसमें प्रत्येक प्रोसेसर के पास साझा स्मृति तक सीधी पहुंच होती है।
दाईं ओर का आंकड़ा वितरित और समांतर प्रणालियों के बीच अंतर को दर्शाता है। चित्रा (ए) विशिष्ट वितरित प्रणाली का योजनाबद्ध दृश्य है; प्रणाली को नेटवर्क टोपोलॉजी के रूप में दर्शाया गया है जिसमें प्रत्येक नोड कंप्यूटर है और नोड्स को जोड़ने वाली प्रत्येक पंक्ति संचार लिंक है। चित्र (बी) ही वितरित प्रणाली को और अधिक विस्तार से दिखाता है: प्रत्येक कंप्यूटर की अपनी स्थानीय मेमोरी होती है, और उपलब्ध संचार लिंक का उपयोग करके केवल नोड से दूसरे में संदेश भेजकर सूचना का आदान-प्रदान किया जा सकता है। चित्रा (सी) समांतर प्रणाली दिखाता है जिसमें प्रत्येक प्रोसेसर के पास साझा स्मृति तक सीधी पहुंच होती है।


समानांतर और वितरित एल्गोरिथम शब्दों के पारंपरिक उपयोगों से स्थिति और जटिल हो जाती है जो समानांतर और वितरित प्रणालियों की उपरोक्त परिभाषाओं से अधिक मेल नहीं खाती है (अधिक विस्तृत चर्चा के लिए #सैद्धांतिक नींव देखें)। फिर भी, अंगूठे के नियम के रूप में, साझा-मेमोरी मल्टीप्रोसेसर में उच्च-प्रदर्शन समानांतर संगणना समानांतर एल्गोरिदम का उपयोग करती है जबकि बड़े मापदंड पर वितरित प्रणाली का समन्वय वितरित एल्गोरिदम का उपयोग करता है।<ref name="BetalebParallel16">{{cite web |url=http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf |archive-url=https://web.archive.org/web/20170326210614/http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf |archive-date=2017-03-26 |url-status=live |title=Parallel and Distributed Algorithms |author=Bentaleb, A. |author2=Yifan, L. |author3=Xin, J.|display-authors=et al |publisher=National University of Singapore |year=2016 |access-date=20 July 2018}}</ref>
समानांतर और वितरित एल्गोरिथम शब्दों के पारंपरिक उपयोगों से स्थिति और जटिल हो जाती है जो समानांतर और वितरित प्रणालियों की उपरोक्त परिभाषाओं से अधिक मेल नहीं खाती है (अधिक विस्तृत चर्चा के लिए या सैद्धांतिक नींव देखें)। फिर भी, अंगूठे के नियम के रूप में, साझा-मेमोरी मल्टीप्रोसेसर में उच्च-प्रदर्शन समानांतर संगणना समानांतर एल्गोरिदम का उपयोग करती है जबकि बड़े मापदंड पर वितरित प्रणाली का समन्वय वितरित एल्गोरिदम का उपयोग करता है।<ref name="BetalebParallel16">{{cite web |url=http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf |archive-url=https://web.archive.org/web/20170326210614/http://www.comp.nus.edu.sg/~rahul/allfiles/cs6234-16-pds.pdf |archive-date=2017-03-26 |url-status=live |title=Parallel and Distributed Algorithms |author=Bentaleb, A. |author2=Yifan, L. |author3=Xin, J.|display-authors=et al |publisher=National University of Singapore |year=2016 |access-date=20 July 2018}}</ref>




== इतिहास ==
== इतिहास ==
समवर्ती प्रक्रियाओं का उपयोग जो संदेश-प्रेषण के माध्यम से संचार करता है, इसकी जड़ें 1960 के दशक में अध्ययन किए गए [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] आर्किटेक्चर में हैं।<ref>{{harvtxt|Andrews|2000}}, p. 348.</ref> पहली व्यापक वितरित प्रणालियाँ [[ईथरनेट]] जैसे [[स्थानीय क्षेत्र नेटवर्क]] थीं, जिसका आविष्कार 1970 के दशक में किया गया था।<ref>{{harvtxt|Andrews|2000}}, p. 32.</ref>
समवर्ती प्रक्रियाओं का उपयोग जो संदेश-प्रेषण के माध्यम से संचार करता है, इसकी जड़ें 1960 के दशक में अध्ययन किए गए [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] वास्तुकला में हैं।<ref>{{harvtxt|Andrews|2000}}, p. 348.</ref> पहली व्यापक वितरित प्रणालियाँ [[ईथरनेट]] जैसे [[स्थानीय क्षेत्र नेटवर्क]] थीं, जिसका आविष्कार 1970 के दशक में किया गया था।<ref>{{harvtxt|Andrews|2000}}, p. 32.</ref>
 
[[ARPANET|अरपानेट]], [[इंटरनेट]] के पूर्ववर्तियों में से , 1960 के दशक के अंत में प्रस्तुत किया गया था, और अरपानेट [[ईमेल]] का आविष्कार 1970 के दशक की प्रारंभिकमें किया गया था। ई-मेल अरपानेटका सबसे सफल अनुप्रयोग बना,<ref>{{harvtxt|Peter|2004}}, [http://www.nethistory.info/History%20of%20the%20Internet/email.html The history of email] {{Webarchive|url=https://web.archive.org/web/20090415220152/http://www.nethistory.info/History%20of%20the%20Internet/email.html |date=2009-04-15 }}.</ref> और संभवतः यह बड़े मापदंड पर वितरित अनुप्रयोग का सबसे पहला उदाहरण है। अरपानेट (और इसके उत्तराधिकारी, वैश्विक इंटरनेट) के अतिरिक्त, अन्य प्रारंभिकी विश्वव्यापी कंप्यूटर नेटवर्क में 1980 के दशक से [[यूज़नेट]] और [[फिडोनेट]] सम्मिलित थे, दोनों का उपयोग वितरित चर्चा प्रणालियों का समर्थन करने के लिए किया गया था।<ref name="BanksOnThe12">{{cite book |url=https://books.google.com/books?id=1J78hiHKaPoC&pg=PT67 |title=On the Way to the Web: The Secret History of the Internet and its Founders |author=Banks, M. |publisher=Apress |pages=44–5 |year=2012 |isbn=9781430250746 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182450/https://books.google.com/books?id=1J78hiHKaPoC&pg=PT67 |url-status=live }}</ref>


[[ARPANET|अरपानेट]], [[इंटरनेट]] के पूर्ववर्तियों में से , 1960 के दशक के अंत में प्रस्तुत किया गया था, और अरपानेट [[ईमेल]] का आविष्कार 1970 के दशक की प्रारंभिकमें किया गया था। ई-मेल अरपानेटका सबसे सफल अनुप्रयोग बना,<ref>{{harvtxt|Peter|2004}}, [http://www.nethistory.info/History%20of%20the%20Internet/email.html The history of email] {{Webarchive|url=https://web.archive.org/web/20090415220152/http://www.nethistory.info/History%20of%20the%20Internet/email.html |date=2009-04-15 }}.</ref> और संभवतः यह बड़े मापदंड े पर वितरित अनुप्रयोग का सबसे पहला उदाहरण है। अरपानेट (और इसके उत्तराधिकारी, वैश्विक इंटरनेट) के अतिरिक्त, अन्य प्रारंभिकी विश्वव्यापी कंप्यूटर नेटवर्क में 1980 के दशक से [[यूज़नेट]] और [[फिडोनेट]] सम्मिलित थे, दोनों का उपयोग वितरित चर्चा प्रणालियों का समर्थन करने के लिए किया गया था।<ref name="BanksOnThe12">{{cite book |url=https://books.google.com/books?id=1J78hiHKaPoC&pg=PT67 |title=On the Way to the Web: The Secret History of the Internet and its Founders |author=Banks, M. |publisher=Apress |pages=44–5 |year=2012 |isbn=9781430250746 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182450/https://books.google.com/books?id=1J78hiHKaPoC&pg=PT67 |url-status=live }}</ref>
वितरित संगणना का अध्ययन 1970 के दशक के अंत और 1980 के दशक की प्रारंभिकमें कंप्यूटर विज्ञान की अपनी शाखा बन गया। क्षेत्र में पहला सम्मेलन, वितरित कम्प्यूटिंग (पीओडीसी) के सिद्धांतों पर संगोष्ठी, 1982 की तारीखें, और वितरित संगणना (डीआईएससी) पर इसके समकक्ष अंतर्राष्ट्रीय संगोष्ठी को पहली बार 1985 में ओटावा में ग्राफ पर वितरित एल्गोरिदम पर अंतर्राष्ट्रीय कार्यशाला के रूप में आयोजित किया गया था।<ref name="TelIntro00">{{cite book |url=https://books.google.com/books?id=vlpnS25qAJQC&pg=PA35 |title=Introduction to Distributed Algorithms |author=Tel, G. |publisher=Cambridge University Press |pages=35–36 |year=2000 |isbn=9780521794831 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182450/https://books.google.com/books?id=vlpnS25qAJQC&pg=PA35 |url-status=live }}</ref>
वितरित संगणना का अध्ययन 1970 के दशक के अंत और 1980 के दशक की प्रारंभिकमें कंप्यूटर विज्ञान की अपनी शाखा बन गया। क्षेत्र में पहला सम्मेलन, वितरित कम्प्यूटिंग (पीओडीसी) के सिद्धांतों पर संगोष्ठी, 1982 की तारीखें, और वितरित संगणना (डीआईएससी) पर इसके समकक्ष अंतर्राष्ट्रीय संगोष्ठी को पहली बार 1985 में ओटावा में ग्राफ पर वितरित एल्गोरिदम पर अंतर्राष्ट्रीय कार्यशाला के रूप में आयोजित किया गया था।<ref name="TelIntro00">{{cite book |url=https://books.google.com/books?id=vlpnS25qAJQC&pg=PA35 |title=Introduction to Distributed Algorithms |author=Tel, G. |publisher=Cambridge University Press |pages=35–36 |year=2000 |isbn=9780521794831 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182450/https://books.google.com/books?id=vlpnS25qAJQC&pg=PA35 |url-status=live }}</ref>






== आर्किटेक्चर ==
 
वितरित संगणना के लिए विभिन्न हार्डवेयर और सॉफ्टवेयर आर्किटेक्चर का उपयोग किया जाता है। निचले स्तर पर, किसी प्रकार के नेटवर्क के साथ कई सीपीयू को आपस में जोड़ना आवश्यक है, तथापि वह नेटवर्क परिपथ बोर्ड पर मुद्रित हो या ढीले युग्मित उपकरणों और केबलों से बना हो। उच्च स्तर पर, उन सीपीयू पर चलने वाली प्रक्रिया ( संगणना) को किसी प्रकार की संचार प्रणाली से जोड़ना आवश्यक है।<ref name="OhlídalEvo06">{{cite book |chapter=Evolutionary Design of OAB and AAB Communication Schedules for Interconnection Networks |title=विकासवादी कंप्यूटिंग के अनुप्रयोग|author=Ohlídal, M. |author2=Jaroš, J. |author3=Schwarz, J.|editor=Rothlauf, F. |editor2=Branke, J. |editor3=Cagnoni, S.|display-authors=et al |publisher=Springer Science & Business Media |pages=267–78 |year=2006 |isbn=9783540332374}}</रेफरी>
== वास्तुकला ==
वितरित संगणना के लिए विभिन्न हार्डवेयर और सॉफ्टवेयर वास्तुकला का उपयोग किया जाता है। निचले स्तर पर, किसी प्रकार के नेटवर्क के साथ कई सीपीयू को आपस में जोड़ना आवश्यक है, तथापि वह नेटवर्क परिपथ बोर्ड पर मुद्रित हो या ढीले युग्मित उपकरणों और केबलों से बना हो। उच्च स्तर पर, उन सीपीयू पर चलने वाली प्रक्रिया ( संगणना) को किसी प्रकार की संचार प्रणाली से जोड़ना आवश्यक है।<ref name="OhlídalEvo06">{{cite book |chapter=Evolutionary Design of OAB and AAB Communication Schedules for Interconnection Networks |title=विकासवादी कंप्यूटिंग के अनुप्रयोग|author=Ohlídal, M. |author2=Jaroš, J. |author3=Schwarz, J.|editor=Rothlauf, F. |editor2=Branke, J. |editor3=Cagnoni, S.|display-authors=et al |publisher=Springer Science & Business Media |pages=267–78 |year=2006 |isbn=9783540332374}}</रेफरी>


वितरित प्रोग्रामिंग आमतौर पर कई बुनियादी आर्किटेक्चर में से एक में आती है: क्लाइंट-सर्वर मॉडल | क्लाइंट-सर्वर, [[त्रि-स्तरीय (कंप्यूटिंग)]] | थ्री-टियर, मल्टीटियर आर्किटेक्चर | एन-टियर, या पीयर-टू-पीयर; या श्रेणियाँ: ढीला युग्मन, या [[कंप्यूटर क्लस्टर]]।
वितरित प्रोग्रामिंग आमतौर पर कई बुनियादी आर्किटेक्चर में से एक में आती है: क्लाइंट-सर्वर मॉडल | क्लाइंट-सर्वर, [[त्रि-स्तरीय (कंप्यूटिंग)]] | थ्री-टियर, मल्टीटियर आर्किटेक्चर | एन-टियर, या पीयर-टू-पीयर; या श्रेणियाँ: ढीला युग्मन, या [[कंप्यूटर क्लस्टर]]।
Line 57: Line 59:
* मल्टीटियर आर्किटेक्चर | एन-टियर: आर्किटेक्चर जो आमतौर पर वेब एप्लिकेशन को संदर्भित करते हैं जो अन्य एंटरप्राइज़ सेवाओं के लिए उनके अनुरोधों को आगे बढ़ाते हैं। इस प्रकार का एप्लिकेशन [[अनुप्रयोग सर्वर]] की सफलता के लिए सबसे अधिक जिम्मेदार है।
* मल्टीटियर आर्किटेक्चर | एन-टियर: आर्किटेक्चर जो आमतौर पर वेब एप्लिकेशन को संदर्भित करते हैं जो अन्य एंटरप्राइज़ सेवाओं के लिए उनके अनुरोधों को आगे बढ़ाते हैं। इस प्रकार का एप्लिकेशन [[अनुप्रयोग सर्वर]] की सफलता के लिए सबसे अधिक जिम्मेदार है।
* पीयर-टू-पीयर: आर्किटेक्चर जहां कोई विशेष मशीन नहीं है जो सेवा प्रदान करती है या नेटवर्क संसाधनों का प्रबंधन करती है।
* पीयर-टू-पीयर: आर्किटेक्चर जहां कोई विशेष मशीन नहीं है जो सेवा प्रदान करती है या नेटवर्क संसाधनों का प्रबंधन करती है।
रेफरी नाम=विग्ना20150127>विग्ना पी, केसी एमजे। क्रिप्टोक्यूरेंसी का युग: कैसे बिटकॉइन और ब्लॉकचैन वैश्विक आर्थिक व्यवस्था को चुनौती दे रहे हैं सेंट मार्टिन प्रेस 27 जनवरी, 2015 {{ISBN|9781250065636}}</रेफरी>{{rp|227}} इसके बजाय सभी जिम्मेदारियों को सभी मशीनों के बीच समान रूप से विभाजित किया जाता है, जिन्हें पीयर के रूप में जाना जाता है। सहकर्मी क्लाइंट और सर्वर दोनों के रूप में सेवा कर सकते हैं।<ref>{{Cite book|title=Peer-to-peer computing : principles and applications|last=Hieu.|first=Vu, Quang|date=2010|publisher=Springer|others=Lupu, Mihai., Ooi, Beng Chin, 1961-|isbn=9783642035135|location=Heidelberg|pages=16|oclc=663093862}}</ref> इस आर्किटेक्चर के उदाहरणों में [[बिटटोरेंट]] और [[बिटकॉइन नेटवर्क]] सम्मिलित हैं।
रेफरी नाम=विग्ना20150127>विग्ना पी, केसी एमजे। क्रिप्टोक्यूरेंसी का युग: कैसे बिटकॉइन और ब्लॉकचैन वैश्विक आर्थिक व्यवस्था को चुनौती दे रहे हैं सेंट मार्टिन प्रेस 27 जनवरी, 2015 {{ISBN|9781250065636}}</रेफरी>{{rp|227}} इसके बजाय सभी जिम्मेदारियों को सभी मशीनों के बीच समान रूप से विभाजित किया जाता है, जिन्हें पीयर के रूप में जाना जाता है। सहकर्मी क्लाइंट और सर्वर दोनों के रूप में सेवा कर सकते हैं।<ref>{{Cite book|title=Peer-to-peer computing : principles and applications|last=Hieu.|first=Vu, Quang|date=2010|publisher=Springer|others=Lupu, Mihai., Ooi, Beng Chin, 1961-|isbn=9783642035135|location=Heidelberg|pages=16|oclc=663093862}}</ref> इस वास्तुकला के उदाहरणों में [[बिटटोरेंट]] और [[बिटकॉइन नेटवर्क]] सम्मिलित हैं।


वितरित संगणना आर्किटेक्चर का अन्य मूलभूत पहलू समवर्ती प्रक्रियाओं के बीच संचार और समन्वय कार्य की विधि है। विभिन्न संदेश पासिंग प्रोटोकॉल के माध्यम से, प्रक्रियाएं दूसरे के साथ सीधे संवाद कर सकती हैं, सामान्यतः मास्टर/स्लेव (प्रौद्योगिकी) | मास्टर/स्लेव संबंध में। वैकल्पिक रूप से, [[डेटाबेस]]-केंद्रित आर्किटेक्चर | डेटाबेस-केंद्रित आर्किटेक्चर साझा डेटाबेस का उपयोग करके वितरित संगणना को किसी भी प्रकार के प्रत्यक्ष अंतर-प्रक्रिया संचार के बिना सक्षम कर सकता है।<ref>{{Citation |vauthors=Lind P, Alm M |title=A database-centric virtual chemistry system |journal=J Chem Inf Model |volume=46 |issue=3 |pages=1034–9 |year=2006 |pmid=16711722 |doi=10.1021/ci050360b |postscript=. }}</ref> डेटाबेस-केंद्रित आर्किटेक्चर विशेष रूप से लाइव पर्यावरण रिले के लिए योजनाबद्ध आर्किटेक्चर में रिलेशनल प्रोसेसिंग एनालिटिक्स प्रदान करता है। यह नेटवर्क किए गए डेटाबेस के पैरामीटर के अंदर और बाहर वितरित संगणना कार्यों को सक्षम बनाता है।<ref>{{cite journal |last1=Chiu |first1=G |title=A model for optimal database allocation in distributed computing systems |journal=Proceedings. IEEE INFOCOM'90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies |date=1990}}</ref>
वितरित संगणना वास्तुकला का अन्य मूलभूत पहलू समवर्ती प्रक्रियाओं के बीच संचार और समन्वय कार्य की विधि है। विभिन्न संदेश पासिंग प्रोटोकॉल के माध्यम से, प्रक्रियाएं दूसरे के साथ सीधे संवाद कर सकती हैं, सामान्यतः मास्टर/स्लेव (प्रौद्योगिकी) | मास्टर/स्लेव संबंध में। वैकल्पिक रूप से, [[डेटाबेस]]-केंद्रित वास्तुकला | डेटाबेस-केंद्रित वास्तुकला साझा डेटाबेस का उपयोग करके वितरित संगणना को किसी भी प्रकार के प्रत्यक्ष अंतर-प्रक्रिया संचार के बिना सक्षम कर सकता है।<ref>{{Citation |vauthors=Lind P, Alm M |title=A database-centric virtual chemistry system |journal=J Chem Inf Model |volume=46 |issue=3 |pages=1034–9 |year=2006 |pmid=16711722 |doi=10.1021/ci050360b |postscript=. }}</ref> डेटाबेस-केंद्रित वास्तुकला विशेष रूप से लाइव पर्यावरण रिले के लिए योजनाबद्ध वास्तुकला में रिलेशनल प्रोसेसिंग एनालिटिक्स प्रदान करता है। यह नेटवर्क किए गए डेटाबेस के पैरामीटर के अंदर और बाहर वितरित संगणना कार्यों को सक्षम बनाता है।<ref>{{cite journal |last1=Chiu |first1=G |title=A model for optimal database allocation in distributed computing systems |journal=Proceedings. IEEE INFOCOM'90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies |date=1990}}</ref>




Line 79: Line 81:
* नेटवर्क अनुप्रयोग:
* नेटवर्क अनुप्रयोग:
** [[वर्ल्ड वाइड वेब]] और [[पीयर-टू-पीयर नेटवर्क|समकक्ष-को-समकक्ष नेटवर्क]],
** [[वर्ल्ड वाइड वेब]] और [[पीयर-टू-पीयर नेटवर्क|समकक्ष-को-समकक्ष नेटवर्क]],
** बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल और [[आभासी वास्तविकता]] समुदाय,
** बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल और [[आभासी वास्तविकता]] समुदाय,
** [[वितरित डेटाबेस]] और [[वितरित डेटाबेस प्रबंधन प्रणाली]],
** [[वितरित डेटाबेस]] और [[वितरित डेटाबेस प्रबंधन प्रणाली]],
** वितरित फाइल प्रणाली,
** वितरित फाइल प्रणाली,
Line 93: Line 95:


== सैद्धांतिक नींव ==
== सैद्धांतिक नींव ==
<!-- Many citations are still missing, will add later -->
 
{{Main|वितरित एल्गोरिथ्म}}
{{Main|वितरित एल्गोरिथ्म}}


Line 108: Line 110:
; साझा-स्मृति मॉडल में समानांतर एल्गोरिदम
; साझा-स्मृति मॉडल में समानांतर एल्गोरिदम
* सभी प्रोसेसर की साझा मेमोरी तक पहुंच होती है। एल्गोरिथ्म डिजाइनर प्रत्येक प्रोसेसर द्वारा निष्पादित योजना को चुनता है।
* सभी प्रोसेसर की साझा मेमोरी तक पहुंच होती है। एल्गोरिथ्म डिजाइनर प्रत्येक प्रोसेसर द्वारा निष्पादित योजना को चुनता है।
* सैद्धांतिक मॉडल है समानांतर RAM | समानांतर रैंडम-्सेस मशीन (PRAM) जिनका उपयोग किया जाता है।<ref>{{harvtxt|Cormen|Leiserson|Rivest|1990}}, Section 30.</ref> चूँकि, मौलिक PRAM मॉडल साझा मेमोरी में सिंक्रोनस ्सेस को मानता है।
* सैद्धांतिक मॉडल है समानांतर रैम | समानांतर रैंडम-्सेस मशीन (पीरैम) जिनका उपयोग किया जाता है।<ref>{{harvtxt|Cormen|Leiserson|Rivest|1990}}, Section 30.</ref> चूँकि, मौलिक पीरैम मॉडल साझा मेमोरी में सिंक्रोनसेस को मानता है।
* साझा-मेमोरी योजना को वितरित प्रणाली तक बढ़ाया जा सकता है यदि अंतर्निहित ऑपरेटिंग प्रणाली नोड्स के बीच संचार को एनकैप्सुलेट करता है और वस्तुतः सभी अलग-अलग प्रणाली में मेमोरी को ीकृत करता है।
* साझा-मेमोरी योजना को वितरित प्रणाली तक बढ़ाया जा सकता है यदि अंतर्निहित ऑपरेटिंग प्रणाली नोड्स के बीच संचार को एनकैप्सुलेट करता है और वस्तुतः सभी अलग-अलग प्रणाली में मेमोरी को स्वीकृत करता है।
* मॉडल जो वास्तविक-विश्व मल्टीप्रोसेसर मशीनों के व्यवहार के करीब है और मशीन निर्देशों के उपयोग को ध्यान में रखता है, जैसे कि तुलना-और-स्वैप (CAS), अतुल्यकालिक साझा मेमोरी है। इस मॉडल पर काम का विस्तृत निकाय है, जिसका सारांश साहित्य में पाया जा सकता है।<ref>{{harvtxt|Herlihy|Shavit|2008}}, Chapters 2-6.</ref><ref>{{harvtxt|Lynch|1996}}</ref>
* मॉडल जो वास्तविक-विश्व मल्टीप्रोसेसर मशीनों के व्यवहार के करीब है और मशीन निर्देशों के उपयोग को ध्यान में रखता है, जैसे कि तुलना-और-स्वैप (CAS), अतुल्यकालिक साझा मेमोरी है। इस मॉडल पर काम का विस्तृत निकाय है, जिसका सारांश साहित्य में पाया जा सकता है।<ref>{{harvtxt|Herlihy|Shavit|2008}}, Chapters 2-6.</ref><ref>{{harvtxt|Lynch|1996}}</ref>
; संदेश-पासिंग मॉडल में समानांतर एल्गोरिदम
; संदेश-पासिंग मॉडल में समानांतर एल्गोरिदम
* एल्गोरिथ्म डिजाइनर नेटवर्क की संरचना, साथ ही प्रत्येक कंप्यूटर द्वारा निष्पादित योजना को चुनता है।
* एल्गोरिथ्म डिजाइनर नेटवर्क की संरचना , साथ ही प्रत्येक कंप्यूटर द्वारा निष्पादित योजना को चुनता है।
* [[बूलियन सर्किट|बूलियन परिपथ]] और [[छँटाई नेटवर्क]] जैसे मॉडल का उपयोग किया जाता है।<ref>{{harvtxt|Cormen|Leiserson|Rivest|1990}}, Sections 28 and 29.</ref> बूलियन परिपथ को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक गेट कंप्यूटर है जो अत्यंत सरल कंप्यूटर योजना चलाता है। इसी तरह, सॉर्टिंग नेटवर्क को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक तुलनित्र कंप्यूटर है।
* [[बूलियन सर्किट|बूलियन परिपथ]] और [[छँटाई नेटवर्क]] जैसे मॉडल का उपयोग किया जाता है।<ref>{{harvtxt|Cormen|Leiserson|Rivest|1990}}, Sections 28 and 29.</ref> बूलियन परिपथ को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक गेट कंप्यूटर है जो अत्यंत सरल कंप्यूटर योजना चलाता है। इसी तरह, सॉर्टिंग नेटवर्क को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक तुलनित्र कंप्यूटर है।
; संदेश-पासिंग मॉडल में वितरित एल्गोरिदम
; संदेश-पासिंग मॉडल में वितरित एल्गोरिदम
Line 127: Line 129:
* ग्राफ G को स्ट्रिंग के रूप में एन्कोड किया गया है, और स्ट्रिंग को कंप्यूटर में इनपुट के रूप में दिया गया है। कंप्यूटर योजना ग्राफ का रंग ढूंढता है, रंग को स्ट्रिंग के रूप में एन्कोड करता है, और परिणाम को आउटपुट करता है।
* ग्राफ G को स्ट्रिंग के रूप में एन्कोड किया गया है, और स्ट्रिंग को कंप्यूटर में इनपुट के रूप में दिया गया है। कंप्यूटर योजना ग्राफ का रंग ढूंढता है, रंग को स्ट्रिंग के रूप में एन्कोड करता है, और परिणाम को आउटपुट करता है।
; समानांतर एल्गोरिदम
; समानांतर एल्गोरिदम
* फिर से, ग्राफ G को स्ट्रिंग के रूप में एन्कोड किया गया है। चूँकि, कई कंप्यूटर ही स्ट्रिंग को समानांतर में ्सेस कर सकते हैं। प्रत्येक कंप्यूटर ग्राफ़ के भाग पर ध्यान केंद्रित कर सकता है और उस भाग के लिए रंग उत्पन्न कर सकता है।
* फिर से, ग्राफ g को स्ट्रिंग के रूप में एन्कोड किया गया है। चूँकि, कई कंप्यूटर ही स्ट्रिंग को समानांतर में पहुँच सकते हैं। प्रत्येक कंप्यूटर ग्राफ़ के भाग पर ध्यान केंद्रित कर सकता है और उस भाग के लिए रंग उत्पन्न कर सकता है।
* मुख्य ध्यान उच्च-प्रदर्शन संगणना पर है जो समानांतर में कई कंप्यूटरों की प्रसंस्करण शक्ति का शोषण करता है।
* मुख्य ध्यान उच्च-प्रदर्शन संगणना पर है जो समानांतर में कई कंप्यूटरों की प्रसंस्करण शक्ति का शोषण करता है।
; वितरित एल्गोरिदम
; वितरित एल्गोरिदम
* ग्राफ जी कंप्यूटर नेटवर्क की संरचना है। जी के प्रत्येक नोड के लिए कंप्यूटर है और जी के प्रत्येक किनारे के लिए संचार लिंक है। प्रारंभ में, प्रत्येक कंप्यूटर केवल ग्राफ जी में अपने निकटतम निकटतम के बारे में जानता है; जी की संरचना के बारे में अधिक जानने के लिए कंप्यूटरों को दूसरे के साथ संदेशों का आदान-प्रदान करना चाहिए। प्रत्येक कंप्यूटर को आउटपुट के रूप में अपना रंग बनाना चाहिए।
* ग्राफ जी कंप्यूटर नेटवर्क की संरचना है। जी के प्रत्येक नोड के लिए कंप्यूटर है और जी के प्रत्येक किनारे के लिए संचार लिंक है। प्रारंभ में, प्रत्येक कंप्यूटर केवल ग्राफ जी में अपने निकटतम निकटतम के बारे में जानता है; जी की संरचना के बारे में अधिक जानने के लिए कंप्यूटरों को दूसरे के साथ संदेशों का आदान-प्रदान करना चाहिए। प्रत्येक कंप्यूटर को आउटपुट के रूप में अपना रंग बनाना चाहिए।
* मुख्य ध्यान इच्छानुसारा वितरित प्रणाली के संचालन के समन्वय पर है।
* मुख्य ध्यान इच्छानुसारा वितरित प्रणाली के संचालन के समन्वय पर है।
जबकि समानांतर एल्गोरिदम के क्षेत्र में वितरित एल्गोरिदम के क्षेत्र की तुलना में अलग फोकस है, दोनों क्षेत्रों के बीच बहुत अधिक संपर्क है। उदाहरण के लिए, ग्राफ कलरिंग के लिए कोल-विश्किन एल्गोरिथम<ref>{{harvtxt|Cole|Vishkin|1986}}. {{harvtxt|Cormen|Leiserson|Rivest|1990}}, Section 30.5.</ref> मूल रूप से समानांतर एल्गोरिथम के रूप में प्रस्तुत किया गया था, किन्तुउसी विधि को सीधे वितरित एल्गोरिथम के रूप में भी उपयोग किया जा सकता है।
जबकि समानांतर एल्गोरिदम के क्षेत्र में वितरित एल्गोरिदम के क्षेत्र की तुलना में अलग केंद्र है, दोनों क्षेत्रों के बीच बहुत अधिक संपर्क है। उदाहरण के लिए, ग्राफ कलरिंग के लिए कोल-विश्किन एल्गोरिथम<ref>{{harvtxt|Cole|Vishkin|1986}}. {{harvtxt|Cormen|Leiserson|Rivest|1990}}, Section 30.5.</ref> मूल रूप से समानांतर एल्गोरिथम के रूप में प्रस्तुत किया गया था, किन्तुउसी विधि को सीधे वितरित एल्गोरिथम के रूप में भी उपयोग किया जा सकता है।


इसके अतिरिक्त, समानांतर एल्गोरिथ्म या तो समानांतर प्रणाली (साझा मेमोरी का उपयोग करके) या वितरित प्रणाली (संदेश पासिंग का उपयोग करके) में प्रयुक्त किया जा सकता है।<ref>{{harvtxt|Andrews|2000}}, p. ix.</ref> समानांतर और वितरित एल्गोरिदम के बीच पारंपरिक सीमा (किसी दिए गए नेटवर्क में चलने के लिए उपयुक्त नेटवर्क चुनें) समानांतर और वितरित प्रणाली (साझा मेमोरी बनाम संदेश पासिंग) के बीच की सीमा के समान स्थान पर नहीं है।
इसके अतिरिक्त, समानांतर एल्गोरिथ्म या तो समानांतर प्रणाली (साझा मेमोरी का उपयोग करके) या वितरित प्रणाली (संदेश पासिंग का उपयोग करके) में प्रयुक्त किया जा सकता है।<ref>{{harvtxt|Andrews|2000}}, p. ix.</ref> समानांतर और वितरित एल्गोरिदम के बीच पारंपरिक सीमा (किसी दिए गए नेटवर्क में चलने के लिए उपयुक्त नेटवर्क चुनें) समानांतर और वितरित प्रणाली (साझा मेमोरी बनाम संदेश पासिंग) के बीच की सीमा के समान स्थान पर नहीं है।


=== जटिलता उपाय ===
=== जटिलता उपाय ===
समानांतर एल्गोरिदम में, समय और स्थान के अतिरिक्त अन्य संसाधन कंप्यूटरों की संख्या है। दरअसल, चलने के समय और कंप्यूटर की संख्या के बीच अधिकांशतः समझौता होता है: समस्या को तेजी से हल किया जा सकता है यदि समानांतर में अधिक कंप्यूटर चल रहे हों ([[गति बढ़ाना]] देखें)। यदि प्रोसेसर की बहुपद संख्या का उपयोग करके बहुलगणकीय समय में निर्णय समस्या को हल किया जा सकता है, तो समस्या को एनसी (जटिलता) वर्ग में कहा जाता है।<ref>{{harvtxt|Arora|Barak|2009}}, Section 6.7. {{harvtxt|Papadimitriou|1994}}, Section 15.3.</ref> कक्षा एनसी को प्रैम औपचारिकता या बूलियन परिपथ का उपयोग करके समान रूप से अच्छी तरह से परिभाषित किया जा सकता है- PRAM मशीनें बूलियन परिपथ को कुशलता से अनुकरण कर सकती हैं और इसके विपरीत।<ref>{{harvtxt|Papadimitriou|1994}}, Section 15.2.</ref>
समानांतर एल्गोरिदम में, समय और स्थान के अतिरिक्त अन्य संसाधन कंप्यूटरों की संख्या है। दरअसल, चलने के समय और कंप्यूटर की संख्या के बीच अधिकांशतः समझौता होता है: समस्या को तेजी से हल किया जा सकता है यदि समानांतर में अधिक कंप्यूटर चल रहे हों ([[गति बढ़ाना]] देखें)। यदि प्रोसेसर की बहुपद संख्या का उपयोग करके बहुलगणकीय समय में निर्णय समस्या को हल किया जा सकता है, तो समस्या को एनसी (जटिलता) वर्ग में कहा जाता है।<ref>{{harvtxt|Arora|Barak|2009}}, Section 6.7. {{harvtxt|Papadimitriou|1994}}, Section 15.3.</ref> कक्षा एनसी को प्रैम औपचारिकता या बूलियन परिपथ का उपयोग करके समान रूप से अच्छी तरह से परिभाषित किया जा सकता है- पीआरएएम शीनें बूलियन परिपथ को कुशलता से अनुकरण कर सकती हैं और इसके विपरीत।<ref>{{harvtxt|Papadimitriou|1994}}, Section 15.2.</ref>
 
वितरित एल्गोरिदम के विश्लेषण में, सामान्यतः कम्प्यूटेशनल चरणों की तुलना में संचार संचालन पर अधिक ध्यान दिया जाता है। संभवतः वितरित संगणना का सबसे सरल मॉडल तुल्यकालिक प्रणाली है जहां सभी नोड लॉकस्टेप फैशन में काम करते हैं। यह मॉडल सामान्यतः स्थानीय मॉडल के रूप में जाना जाता है। प्रत्येक संचार दौर के समय, समानांतर में सभी नोड्स (1) अपने निकटतम से नवीनतम संदेश प्राप्त करते हैं, (2) इच्छानुसारा स्थानीय गणना करते हैं, और (3) अपने निकटतम को नए संदेश भेजते हैं। ऐसी प्रणालियों में, केंद्रीय जटिलता माप कार्य को पूरा करने के लिए आवश्यक समकालिक संचार दौरों की संख्या है।<ref>{{harvtxt|Lynch|1996}}, p. 17–23.</ref>
वितरित एल्गोरिदम के विश्लेषण में, सामान्यतः कम्प्यूटेशनल चरणों की तुलना में संचार संचालन पर अधिक ध्यान दिया जाता है। संभवतः वितरित संगणना का सबसे सरल मॉडल तुल्यकालिक प्रणाली है जहां सभी नोड लॉकस्टेप फैशन में काम करते हैं। यह मॉडल सामान्यतः स्थानीय मॉडल के रूप में जाना जाता है। प्रत्येक संचार दौर के समय, समानांतर में सभी नोड्स (1) अपने निकटतम से नवीनतम संदेश प्राप्त करते हैं, (2) इच्छानुसारा स्थानीय गणना करते हैं, और (3) अपने निकटतम को नए संदेश भेजते हैं। ऐसी प्रणालियों में, केंद्रीय जटिलता माप कार्य को पूरा करने के लिए आवश्यक समकालिक संचार दौरों की संख्या है।<ref>{{harvtxt|Lynch|1996}}, p. 17–23.</ref>
यह जटिलता माप नेटवर्क के [[व्यास (ग्राफ सिद्धांत)]] से निकटता से संबंधित है। बता दें कि D नेटवर्क का व्यास है। ओर, किसी भी संगणनीय समस्या को लगभग 2D संचार दौरों में तुल्यकालिक वितरित प्रणाली में तुच्छ रूप से हल किया जा सकता है: बस सभी सूचनाओं को स्थान (डी राउंड) में इकट्ठा करें, समस्या को हल करें, और प्रत्येक नोड को समाधान (डी राउंड) के बारे में सूचित करें। .
 
यह जटिलता माप नेटवर्क के [[व्यास (ग्राफ सिद्धांत)]] से निकटता से संबंधित है। बता दें कि डी नेटवर्क का व्यास है। ओर, किसी भी संगणनीय समस्या को लगभग 2डी संचार दौरों में तुल्यकालिक वितरित प्रणाली में तुच्छ रूप से हल किया जा सकता है: बस सभी सूचनाओं को स्थान (डी राउंड) में इकट्ठा करें, समस्या को हल करें, और प्रत्येक नोड को समाधान (डी राउंड) के बारे में सूचित करें। .


दूसरी ओर, यदि एल्गोरिथ्म का चलने का समय डी संचार दौरों की तुलना में बहुत छोटा है, तो नेटवर्क के नोड्स को नेटवर्क के दूर के हिस्सों के बारे में जानकारी प्राप्त करने की संभावना के बिना अपने आउटपुट का उत्पादन करना चाहिए। दूसरे शब्दों में, नोड्स को अपने स्थानीय डी-पड़ोस में उपलब्ध जानकारी के आधार पर विश्व स्तर पर सुसंगत निर्णय लेने चाहिए। कई वितरित एल्गोरिदम को डी राउंड की तुलना में बहुत कम चलने वाले समय के साथ जाना जाता है, और इस तरह के एल्गोरिदम द्वारा कौन सी समस्याओं को हल किया जा सकता है, यह समझना क्षेत्र के केंद्रीय शोध प्रश्नों में से है।<ref>{{harvtxt|Peleg|2000}}, Sections 2.3 and 7. {{harvtxt|Linial|1992}}. {{harvtxt|Naor|Stockmeyer|1995}}.</ref> सामान्यतः एल्गोरिदम जो नेटवर्क आकार में बहुलगणकीय समय में समस्या का समाधान करता है, इस मॉडल में कुशल माना जाता है।
दूसरी ओर, यदि एल्गोरिथ्म का चलने का समय डी संचार दौरों की तुलना में बहुत छोटा है, तो नेटवर्क के नोड्स को नेटवर्क के दूर के हिस्सों के बारे में जानकारी प्राप्त करने की संभावना के बिना अपने आउटपुट का उत्पादन करना चाहिए। दूसरे शब्दों में, नोड्स को अपने स्थानीय डी-पड़ोस में उपलब्ध जानकारी के आधार पर विश्व स्तर पर सुसंगत निर्णय लेने चाहिए। कई वितरित एल्गोरिदम को डी राउंड की तुलना में बहुत कम चलने वाले समय के साथ जाना जाता है, और इस तरह के एल्गोरिदम द्वारा कौन सी समस्याओं को हल किया जा सकता है, यह समझना क्षेत्र के केंद्रीय शोध प्रश्नों में से है।<ref>{{harvtxt|Peleg|2000}}, Sections 2.3 and 7. {{harvtxt|Linial|1992}}. {{harvtxt|Naor|Stockmeyer|1995}}.</ref> सामान्यतः एल्गोरिदम जो नेटवर्क आकार में बहुलगणकीय समय में समस्या का समाधान करता है, इस मॉडल में कुशल माना जाता है।


अन्य सामान्यतः उपयोग किया जाने वाला माप नेटवर्क में प्रसारित बिट्स की कुल संख्या है (cf. [[संचार जटिलता]])।<ref name="SchneiderTrading11">{{cite book |chapter-url=https://books.google.com/books?id=dT6nwpXvES4C&pg=PA51 |chapter=Trading Bit, Message, and Time Complexity of Distributed Algorithms |title=Distributed Computing |author=Schneider, J. |author2=Wattenhofer, R. |editor=Peleg, D. |publisher=Springer Science & Business Media |pages=51–65 |year=2011 |isbn=9783642240997 |access-date=2018-07-20 |archive-date=2020-08-01 |archive-url=https://web.archive.org/web/20200801023020/https://books.google.com/books?id=dT6nwpXvES4C&pg=PA51 |url-status=live }}</ref> इस अवधारणा की विशेषताओं को सामान्यतः CONGEST(B) मॉडल के साथ कैप्चर किया जाता है, जिसे समान रूप से LOCAL मॉडल के रूप में परिभाषित किया जाता है, किन्तुजहां ल संदेशों में केवल B बिट्स हो सकते हैं।
अन्य सामान्यतः उपयोग किया जाने वाला माप नेटवर्क में प्रसारित बिट्स की कुल संख्या है (cf. [[संचार जटिलता]])।<ref name="SchneiderTrading11">{{cite book |chapter-url=https://books.google.com/books?id=dT6nwpXvES4C&pg=PA51 |chapter=Trading Bit, Message, and Time Complexity of Distributed Algorithms |title=Distributed Computing |author=Schneider, J. |author2=Wattenhofer, R. |editor=Peleg, D. |publisher=Springer Science & Business Media |pages=51–65 |year=2011 |isbn=9783642240997 |access-date=2018-07-20 |archive-date=2020-08-01 |archive-url=https://web.archive.org/web/20200801023020/https://books.google.com/books?id=dT6nwpXvES4C&pg=PA51 |url-status=live }}</ref> इस अवधारणा की विशेषताओं को सामान्यतः कांगेस्ट( बी) मॉडल के साथ कैप्चर किया जाता है, जिसे समान रूप से स्थानीय मॉडल के रूप में परिभाषित किया जाता है, किन्तुजहां ल संदेशों में केवल बी बिट्स हो सकते हैं।


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


मूलभूत चुनौतियाँ भी हैं जो वितरित संगणना के लिए अद्वितीय हैं, उदाहरण के लिए दोष-सहिष्णुता से संबंधित। संबंधित समस्याओं के उदाहरणों में [[आम सहमति (कंप्यूटर विज्ञान)]],<ref>{{harvtxt|Lynch|1996}}, Sections 5–7. {{harvtxt|Ghosh|2007}}, Chapter 13.</ref> [[बीजान्टिन दोष सहिष्णुता]],<ref>{{harvtxt|Lynch|1996}}, p. 99–102. {{harvtxt|Ghosh|2007}}, p. 192–193.</ref> और [[आत्म-स्थिरीकरण]]।<ref>{{harvtxt|Dolev|2000}}. {{harvtxt|Ghosh|2007}}, Chapter 17.</ref>
मूलभूत चुनौतियाँ भी हैं जो वितरित संगणना के लिए अद्वितीय हैं, उदाहरण के लिए दोष-सहिष्णुता से संबंधित। संबंधित समस्याओं के उदाहरणों में [[आम सहमति (कंप्यूटर विज्ञान)]],<ref>{{harvtxt|Lynch|1996}}, Sections 5–7. {{harvtxt|Ghosh|2007}}, Chapter 13.</ref> [[बीजान्टिन दोष सहिष्णुता]],<ref>{{harvtxt|Lynch|1996}}, p. 99–102. {{harvtxt|Ghosh|2007}}, p. 192–193.</ref> और [[आत्म-स्थिरीकरण]]।<ref>{{harvtxt|Dolev|2000}}. {{harvtxt|Ghosh|2007}}, Chapter 17.</ref>
वितरित प्रणालियों की अतुल्यकालिक प्रकृति को समझने पर बहुत अधिक शोध भी केंद्रित है:
वितरित प्रणालियों की अतुल्यकालिक प्रकृति को समझने पर बहुत अधिक शोध भी केंद्रित है:
* सिंक्रोनाइज़र (एल्गोरिदम) का उपयोग एसिंक्रोनस प्रणाली में [[तुल्यकालन (एल्गोरिदम)]] को चलाने के लिए किया जा सकता है।<ref>{{harvtxt|Lynch|1996}}, Section 16. {{harvtxt|Peleg|2000}}, Section 6.</ref>
* समकालीन (एल्गोरिदम) का उपयोग अतुल्यकालिक प्रणाली में [[तुल्यकालन (एल्गोरिदम)]] को चलाने के लिए किया जा सकता है।<ref>{{harvtxt|Lynch|1996}}, Section 16. {{harvtxt|Peleg|2000}}, Section 6.</ref>
* तार्किक घड़ियाँ घटनाओं के क्रम से पहले घटित होने का कारण प्रदान करती हैं।<ref>{{harvtxt|Lynch|1996}}, Section 18. {{harvtxt|Ghosh|2007}}, Sections 6.2–6.3.</ref>
* तार्किक घड़ियाँ घटनाओं के क्रम से पहले घटित होने का कारण प्रदान करती हैं।<ref>{{harvtxt|Lynch|1996}}, Section 18. {{harvtxt|Ghosh|2007}}, Sections 6.2–6.3.</ref>
* घड़ी तुल्यकालन एल्गोरिदम विश्व स्तर पर लगातार भौतिक समय टिकट प्रदान करते हैं।<ref>{{harvtxt|Ghosh|2007}}, Section 6.4.</ref>
* घड़ी तुल्यकालन एल्गोरिदम विश्व स्तर पर लगातार भौतिक समय टिकट प्रदान करते हैं।<ref>{{harvtxt|Ghosh|2007}}, Section 6.4.</ref>
Line 157: Line 162:
=== [[नेता चुनाव]] ===
=== [[नेता चुनाव]] ===
समन्वयक चुनाव (या नेता चुनाव) ल प्रक्रिया ( संगणना) को कई कंप्यूटरों (नोड्स) के बीच वितरित कुछ कार्य के आयोजक के रूप में नामित करने की प्रक्रिया है। कार्य प्रारंभ होने से पहले, सभी नेटवर्क नोड्स या तो अनजान हैं कि कौन सा नोड कार्य के समन्वयक (या नेता) के रूप में कार्य करेगा, या वर्तमान समन्वयक के साथ संवाद करने में असमर्थ है। समन्वयक चुनाव एल्गोरिथ्म के चलने के बाद, चूंकि, पूरे नेटवर्क में प्रत्येक नोड विशेष, अद्वितीय नोड को कार्य समन्वयक के रूप में पहचानता है।<ref name="HaloiApache15">{{cite book |url=https://books.google.com/books?id=Ym9uBgAAQBAJ&pg=PA100 |title=Apache ZooKeeper Essentials |author=Haloi, S. |publisher=Packt Publishing Ltd |pages=100–101 |year=2015 |isbn=9781784398323 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182456/https://books.google.com/books?id=Ym9uBgAAQBAJ&pg=PA100 |url-status=live }}</ref>
समन्वयक चुनाव (या नेता चुनाव) ल प्रक्रिया ( संगणना) को कई कंप्यूटरों (नोड्स) के बीच वितरित कुछ कार्य के आयोजक के रूप में नामित करने की प्रक्रिया है। कार्य प्रारंभ होने से पहले, सभी नेटवर्क नोड्स या तो अनजान हैं कि कौन सा नोड कार्य के समन्वयक (या नेता) के रूप में कार्य करेगा, या वर्तमान समन्वयक के साथ संवाद करने में असमर्थ है। समन्वयक चुनाव एल्गोरिथ्म के चलने के बाद, चूंकि, पूरे नेटवर्क में प्रत्येक नोड विशेष, अद्वितीय नोड को कार्य समन्वयक के रूप में पहचानता है।<ref name="HaloiApache15">{{cite book |url=https://books.google.com/books?id=Ym9uBgAAQBAJ&pg=PA100 |title=Apache ZooKeeper Essentials |author=Haloi, S. |publisher=Packt Publishing Ltd |pages=100–101 |year=2015 |isbn=9781784398323 |access-date=2018-07-20 |archive-date=2023-01-20 |archive-url=https://web.archive.org/web/20230120182456/https://books.google.com/books?id=Ym9uBgAAQBAJ&pg=PA100 |url-status=live }}</ref>
नेटवर्क नोड आपस में संवाद करते हैं जिससे यह तय किया जा सके कि उनमें से कौन समन्वयक की स्थिति में आएगा। उसके लिए, उन्हें अपने बीच की समरूपता को तोड़ने के लिए किसी विधि की आवश्यकता होती है। उदाहरण के लिए, यदि प्रत्येक नोड में अद्वितीय और तुलनीय पहचान है, तो नोड उनकी पहचान की तुलना कर सकते हैं और तय कर सकते हैं कि उच्चतम पहचान वाला नोड समन्वयक है।<ref name="HaloiApache15" />
नेटवर्क नोड आपस में संवाद करते हैं जिससे यह तय किया जा सके कि उनमें से कौन समन्वयक की स्थिति में आएगा। उसके लिए, उन्हें अपने बीच की समरूपता को तोड़ने के लिए किसी विधि की आवश्यकता होती है। उदाहरण के लिए, यदि प्रत्येक नोड में अद्वितीय और तुलनीय पहचान है, तो नोड उनकी पहचान की तुलना कर सकते हैं और तय कर सकते हैं कि उच्चतम पहचान वाला नोड समन्वयक है।<ref name="HaloiApache15" />


इस समस्या की परिभाषा का श्रेय अधिकांशतः LeLann को दिया जाता है, जिन्होंने इसे टोकन [[रिंग नेटवर्क]] में नया टोकन बनाने के लिए विधि के रूप में औपचारिक रूप दिया, जिसमें टोकन खो गया है।<ref>{{Cite journal|last=LeLann|first=G.|year=1977|title=Distributed systems - toward a formal approach|journal=Information Processing|volume=77|pages=155·160|via=Elsevier}}</ref>
इस समस्या की परिभाषा का श्रेय अधिकांशतः लेल्न्न को दिया जाता है, जिन्होंने इसे टोकन [[रिंग नेटवर्क]] में नया टोकन बनाने के लिए विधि के रूप में औपचारिक रूप दिया, जिसमें टोकन खो गया है।<ref>{{Cite journal|last=LeLann|first=G.|year=1977|title=Distributed systems - toward a formal approach|journal=Information Processing|volume=77|pages=155·160|via=Elsevier}}</ref>
समन्वयक चुनाव एल्गोरिदम को प्रेषित कुल [[बाइट]]्स और समय के स्थितियोंमें प्रभावकारी होने के लिए डिज़ाइन किया गया है। Gallager, Humblet, और Spira द्वारा सुझाए गए एल्गोरिथम <ref>{{cite journal|date=January 1983|title=A Distributed Algorithm for Minimum-Weight Spanning Trees|url=http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf |archive-url=https://web.archive.org/web/20170926040957/http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf |archive-date=2017-09-26 |url-status=live|journal=ACM Transactions on Programming Languages and Systems|volume=5|issue=1|pages=66–77|doi=10.1145/357195.357200|author=[[Robert G. Gallager|R. G. Gallager]], P. A. Humblet, and P. M. Spira|s2cid=2758285}}</ref> सामान्य रूप से अप्रत्यक्ष रेखांकन के लिए वितरित एल्गोरिदम के डिजाइन पर शक्तिशाली प्रभाव पड़ा है, और वितरित संगणना में प्रभावशाली पेपर के लिए दिकस्ट्रा पुरस्कार जीता है।
 
समन्वयक चुनाव एल्गोरिदम को प्रेषित कुल [[बाइट]]और समय के स्थितियोंमें प्रभावकारी होने के लिए डिज़ाइन किया गया है। गल्लागेर, हम्बलट, और स्पाइरा द्वारा सुझाए गए एल्गोरिथम <ref>{{cite journal|date=January 1983|title=A Distributed Algorithm for Minimum-Weight Spanning Trees|url=http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf |archive-url=https://web.archive.org/web/20170926040957/http://www.apposite-tech.com/blog/wp-content/uploads/2017/09/p66-gallager.pdf |archive-date=2017-09-26 |url-status=live|journal=ACM Transactions on Programming Languages and Systems|volume=5|issue=1|pages=66–77|doi=10.1145/357195.357200|author=[[Robert G. Gallager|R. G. Gallager]], P. A. Humblet, and P. M. Spira|s2cid=2758285}}</ref> सामान्य रूप से अप्रत्यक्ष रेखांकन के लिए वितरित एल्गोरिदम के रचना पर शक्तिशाली प्रभाव पड़ा है, और वितरित संगणना में प्रभावशाली पेपर के लिए दिकस्ट्रा पुरस्कार जीता है।
 
विभिन्न प्रकार के नेटवर्क ग्राफ़ (असतत गणित) के लिए कई अन्य एल्गोरिदम सुझाए गए थे, जैसे अप्रत्यक्ष छल्ले, दिशाहीन रिंग, पूर्ण ग्राफ़, ग्रिड, निर्देशित यूलर ग्राफ़ और अन्य। समन्वयक चुनाव एल्गोरिथम के रचना से ग्राफ परिवार के उद्देश्य को अलग करने वाली सामान्य विधि कोराच, कुटेन और मोरन द्वारा सुझाई गई थी।<ref>{{cite journal|year=1990|title=A Modular Technique for the Design of Efficient Distributed Leader Finding Algorithms|journal=ACM Transactions on Programming Languages and Systems|volume=12|issue=1|pages=84–101|doi=10.1145/77606.77610|first1=Ephraim|last1=Korach|first2=Shay|last2=Kutten|first3=Shlomo|last3=Moran|author-link2=Shay Kutten|author-link3=Shlomo Moran|url=https://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf |archive-url=https://web.archive.org/web/20070418150944/http://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf |archive-date=2007-04-18 |url-status=live|citeseerx=10.1.1.139.7342|s2cid=9175968}}</ref>


विभिन्न प्रकार के नेटवर्क ग्राफ़ (असतत गणित) के लिए कई अन्य एल्गोरिदम सुझाए गए थे, जैसे अप्रत्यक्ष छल्ले, यूनिडायरेक्शनल रिंग, पूर्ण ग्राफ़, ग्रिड, निर्देशित यूलर ग्राफ़ और अन्य। समन्वयक चुनाव एल्गोरिथम के डिजाइन से ग्राफ परिवार के उद्देश्य े को अलग करने वाली सामान्य विधि कोराच, कुटेन और मोरन द्वारा सुझाई गई थी।<ref>{{cite journal|year=1990|title=A Modular Technique for the Design of Efficient Distributed Leader Finding Algorithms|journal=ACM Transactions on Programming Languages and Systems|volume=12|issue=1|pages=84–101|doi=10.1145/77606.77610|first1=Ephraim|last1=Korach|first2=Shay|last2=Kutten|first3=Shlomo|last3=Moran|author-link2=Shay Kutten|author-link3=Shlomo Moran|url=https://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf |archive-url=https://web.archive.org/web/20070418150944/http://www.cs.technion.ac.il/~moran/r/PS/kkm.pdf |archive-date=2007-04-18 |url-status=live|citeseerx=10.1.1.139.7342|s2cid=9175968}}</ref>
समन्वय करने के लिए, वितरित प्रणालियाँ समन्वयकों की अवधारणा को नियोजित करती हैं। समन्वयक चुनाव समस्या केंद्रीय समन्वयक के रूप में कार्य करने के लिए वितरित प्रणाली में विभिन्न प्रोसेसरों पर प्रक्रियाओं के समूह के बीच से प्रक्रिया का चयन करना है। कई केंद्रीय समन्वयक चुनाव एल्गोरिदम उपस्थित हैं।<ref>{{cite web|url=http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html|title=Distributed Algorithms|last=Hamilton|first=Howard|access-date=2013-03-03|archive-date=2012-11-24|archive-url=https://web.archive.org/web/20121124002402/http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html|url-status=live}}</ref>
समन्वय करने के लिए, वितरित प्रणालियाँ समन्वयकों की अवधारणा को नियोजित करती हैं। समन्वयक चुनाव समस्या केंद्रीय समन्वयक के रूप में कार्य करने के लिए वितरित प्रणाली में विभिन्न प्रोसेसरों पर प्रक्रियाओं के समूह के बीच से प्रक्रिया का चयन करना है। कई केंद्रीय समन्वयक चुनाव एल्गोरिदम उपस्थित हैं।<ref>{{cite web|url=http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html|title=Distributed Algorithms|last=Hamilton|first=Howard|access-date=2013-03-03|archive-date=2012-11-24|archive-url=https://web.archive.org/web/20121124002402/http://www2.cs.uregina.ca/~hamilton/courses/330/notes/distributed/distributed.html|url-status=live}}</ref>




=== वितरित प्रणाली के गुण ===
=== वितरित प्रणाली के गुण ===
अब तक वितरित प्रणाली को डिजाइन करने पर ध्यान केंद्रित किया गया है जो किसी समस्या को हल करता है। पूरक शोध समस्या वितरित प्रणाली के गुणों का अध्ययन कर रही है।<ref>{{cite web|url=https://cstheory.stackexchange.com/q/10045|title=Major unsolved problems in distributed systems?|website=cstheory.stackexchange.com|access-date=16 March 2018|archive-date=20 January 2023|archive-url=https://web.archive.org/web/20230120182442/https://cstheory.stackexchange.com/questions/10045/major-unsolved-problems-in-distributed-systems|url-status=live}}</ref><ref>{{cite web|url=http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems|title=How big data and distributed systems solve traditional scalability problems|website=theserverside.com|access-date=16 March 2018|archive-date=17 March 2018|archive-url=https://web.archive.org/web/20180317232027/http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems|url-status=live}}</ref>
अब तक वितरित प्रणाली को रचना करने पर ध्यान केंद्रित किया गया है जो किसी समस्या को हल करता है। पूरक शोध समस्या वितरित प्रणाली के गुणों का अध्ययन कर रही है।<ref>{{cite web|url=https://cstheory.stackexchange.com/q/10045|title=Major unsolved problems in distributed systems?|website=cstheory.stackexchange.com|access-date=16 March 2018|archive-date=20 January 2023|archive-url=https://web.archive.org/web/20230120182442/https://cstheory.stackexchange.com/questions/10045/major-unsolved-problems-in-distributed-systems|url-status=live}}</ref><ref>{{cite web|url=http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems|title=How big data and distributed systems solve traditional scalability problems|website=theserverside.com|access-date=16 March 2018|archive-date=17 March 2018|archive-url=https://web.archive.org/web/20180317232027/http://www.theserverside.com/feature/How-big-data-and-distributed-systems-solve-traditional-scalability-problems|url-status=live}}</ref>
 
हॉल्टिंग प्रॉब्लम सेंट्रलाइज्ड कम्प्यूटेशन के क्षेत्र से समान उदाहरण है: हमें कंप्यूटर योजना दिया जाता है और कार्य यह तय करना है कि यह रुकता है या सदैव के लिए चलता है। सामान्य स्थिति में [[रुकने की समस्या]] [[अनिर्णीत समस्या]] है, और स्वाभाविक रूप से कंप्यूटर नेटवर्क के व्यवहार को समझना कम से कम उतना ही कठिन है जितना कि कंप्यूटर के व्यवहार को समझना।<ref name="SvozilIndet11">{{cite book |chapter-url=https://books.google.com/books?id=ep_FCgAAQBAJ&pg=PA112 |chapter=Indeterminism and Randomness Through Physics |title=Randomness Through Computation: Some Answers, More Questions |author=Svozil, K. |editor=Hector, Z. |publisher=World Scientific |pages=112–3 |year=2011 |isbn=9789814462631 |access-date=2018-07-20 |archive-date=2020-08-01 |archive-url=https://web.archive.org/web/20200801024745/https://books.google.com/books?id=ep_FCgAAQBAJ&pg=PA112 |url-status=live }}</ref>
हॉल्टिंग प्रॉब्लम सेंट्रलाइज्ड कम्प्यूटेशन के क्षेत्र से समान उदाहरण है: हमें कंप्यूटर योजना दिया जाता है और कार्य यह तय करना है कि यह रुकता है या सदैव के लिए चलता है। सामान्य स्थिति में [[रुकने की समस्या]] [[अनिर्णीत समस्या]] है, और स्वाभाविक रूप से कंप्यूटर नेटवर्क के व्यवहार को समझना कम से कम उतना ही कठिन है जितना कि कंप्यूटर के व्यवहार को समझना।<ref name="SvozilIndet11">{{cite book |chapter-url=https://books.google.com/books?id=ep_FCgAAQBAJ&pg=PA112 |chapter=Indeterminism and Randomness Through Physics |title=Randomness Through Computation: Some Answers, More Questions |author=Svozil, K. |editor=Hector, Z. |publisher=World Scientific |pages=112–3 |year=2011 |isbn=9789814462631 |access-date=2018-07-20 |archive-date=2020-08-01 |archive-url=https://web.archive.org/web/20200801024745/https://books.google.com/books?id=ep_FCgAAQBAJ&pg=PA112 |url-status=live }}</ref>
चूंकि, कई रोचक विशेष स्थितियोंहैं जो निर्णायक हैं। विशेष रूप से, परिमित-राज्य मशीनों के नेटवर्क के व्यवहार के बारे में तर्क देना संभव है। उदाहरण बता रहा है कि क्या परस्पर क्रिया (अतुल्यकालिक और गैर-नियतात्मक) परिमित-राज्य मशीनों का दिया गया नेटवर्क गतिरोध तक पहुँच सकता है। यह समस्या पीएसपीएसीई-पूर्ण है,<ref>{{harvtxt|Papadimitriou|1994}}, Section 19.3.</ref> अर्थात, यह निर्णायक है, किन्तुइसकी संभावना नहीं है कि कुशल (केंद्रीकृत, समानांतर या वितरित) एल्गोरिथम है जो बड़े नेटवर्क के स्थितियोंमें समस्या को हल करता है।
चूंकि, कई रोचक विशेष स्थितियोंहैं जो निर्णायक हैं। विशेष रूप से, परिमित-राज्य मशीनों के नेटवर्क के व्यवहार के बारे में तर्क देना संभव है। उदाहरण बता रहा है कि क्या परस्पर क्रिया (अतुल्यकालिक और गैर-नियतात्मक) परिमित-राज्य मशीनों का दिया गया नेटवर्क गतिरोध तक पहुँच सकता है। यह समस्या पीएसपीएसीई-पूर्ण है,<ref>{{harvtxt|Papadimitriou|1994}}, Section 19.3.</ref> अर्थात, यह निर्णायक है, किन्तुइसकी संभावना नहीं है कि कुशल (केंद्रीकृत, समानांतर या वितरित) एल्गोरिथम है जो बड़े नेटवर्क के स्थितियोंमें समस्या को हल करता है।



Revision as of 14:29, 22 February 2023

वितरित प्रणाली ऐसी प्रणाली है जिसके घटक विभिन्न संगणक तंत्र पर स्थित होते हैं, जो दूसरे को संदेश भेजकर अपने कार्यों का संचार और समन्वय करते हैं।[1]Cite error: Invalid <ref> tag; invalid names, e.g. too many वितरित संगणना कंप्यूटर विज्ञान का क्षेत्र है जो वितरित प्रणालियों का अध्ययन करता है।

सामान्य लक्ष्य को प्राप्त करने के लिए वितरित प्रणाली के घटक दूसरे के साथ बातचीत करते हैं। वितरित प्रणालियों की तीन महत्वपूर्ण चुनौतियाँ हैं: घटकों की संगति बनाए रखना, घड़ी के समकालीन पर काबू पाना और घटकों की स्वतंत्र विफलता का प्रबंधन करना।[1] जब प्रणाली का कंपोनेंट फेल हो जाता है, तो संपूर्ण प्रणाली विफल नहीं होती है।[2] वितरित प्रणाली के उदाहरण सेवा उन्मुख संरचना | एसओए- आधारित प्रणाली से लेकर बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल से लेकर समकक्ष को समकक्ष | समकक्ष-को-समकक्ष एप्लिकेशन तक भिन्न होते हैं।

कंप्यूटर योजना जो वितरित प्रणाली के अंदर चलता है, वितरित योजना कहलाती है, Cite error: Invalid <ref> tag; invalid names, e.g. too many और वितरित कार्यक्रम निर्माण ऐसे योजना लिखने की प्रक्रिया है।

वितरित संगणना कम्प्यूटेशनल समस्याओं को हल करने के लिए वितरित प्रणाली के उपयोग को भी संदर्भित करता है। वितरित संगणना में, समस्या को कई कार्यों में विभाजित किया जाता है, जिनमें से प्रत्येक को या से अधिक कंप्यूटरों द्वारा हल किया जाता है,

परिचय

वितरित प्रणाली, वितरित प्रोग्रामिंग और वितरित एल्गोरिदम जैसे शब्दों में वितरित शब्द मूल रूप से कंप्यूटर नेटवर्क को संदर्भित करता है जहां कुछ भौगोलिक क्षेत्र में अलग-अलग कंप्यूटर भौतिक रूप से वितरित किए गए थे।[3] शब्द आजकल बहुत व्यापक अर्थों में उपयोग किए जाते हैं, यहां तक ​​कि स्वायत्त प्रक्रिया ( संगणना) का भी जिक्र करते हैं जो ही भौतिक कंप्यूटर पर चलते हैं और संदेश पास करके दूसरे के साथ बातचीत करते हैं।[4]

जबकि वितरित प्रणाली की कोई परिभाषा नहीं है,[5] निम्नलिखित पारिभाषिक गुण सामान्यतः इस रूप में उपयोग किए जाते हैं:

  • कई स्वायत्त कम्प्यूटेशनल संस्थाएँ (कंप्यूटर या नोड (नेटवर्किंग)) हैं, जिनमें से प्रत्येक की अपनी स्थानीय मेमोरी (कंप्यूटर) है।
  • संदेश पास करके संस्थाएँ दूसरे से संवाद करती हैं।



वितरित प्रणाली का सामान्य लक्ष्य हो सकता है, जैसे कि बड़ी कम्प्यूटेशनल समस्या को हल करना;

वितरित प्रणालियों के अन्य विशिष्ट गुणों में निम्नलिखित सम्मिलित हैं:

  • प्रणाली की संरचना (नेटवर्क टोपोलॉजी, नेटवर्क लेटेंसी, कंप्यूटर की संख्या) पहले से ज्ञात नहीं है, प्रणाली में विभिन्न प्रकार के कंप्यूटर और नेटवर्क लिंक सम्मिलित हो सकते हैं, और वितरित योजना के निष्पादन के समय प्रणाली बदल सकता है।
  • प्रत्येक कंप्यूटर में प्रणाली का केवल सीमित, अधूरा दृश्य होता है। प्रत्येक कंप्यूटर इनपुट के केवल भाग को जान सकता है।

समानांतर और वितरित संगणना

(ए), (बी): वितरित प्रणाली।
(सी): समानांतर प्रणाली।

वितरित प्रणाली नेटवर्क वाले कंप्यूटरों के समूह हैं जो अपने काम के लिए सामान्य लक्ष्य साझा करते हैं।

समवर्ती संगणना, समानांतर संगणना और वितरित संगणना में बहुत अधिक ओवरलैप है, और उनके बीच कोई स्पष्ट अंतर उपस्थित नहीं है।[6] ही प्रणाली को समानांतर और वितरित दोनों के रूप में वर्णित किया जा सकता है; विशिष्ट वितरित प्रणाली में प्रोसेसर समवर्ती समानांतर में चलते हैं।[7] समानांतर संगणना को वितरित संगणना के विशेष कसकर युग्मित रूप के रूप में देखा जा सकता है,[8] और वितरित संगणना को समानांतर संगणना के ढीले युग्मित रूप के रूप में देखा जा सकता है।

  • समानांतर संगणना में, प्रोसेसर के बीच सूचनाओं के आदान-प्रदान के लिए सभी प्रोसेसर के पास साझा स्मृति वास्तुकला तक पहुंच हो सकती है।[9]
  • वितरित संगणना में, प्रत्येक प्रोसेसर की अपनी निजी मेमोरी (वितरित मेमोरी) होती है। सूचना का आदान-प्रदान प्रोसेसर के बीच संदेश भेजकर किया जाता है।[10]

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

समानांतर और वितरित एल्गोरिथम शब्दों के पारंपरिक उपयोगों से स्थिति और जटिल हो जाती है जो समानांतर और वितरित प्रणालियों की उपरोक्त परिभाषाओं से अधिक मेल नहीं खाती है (अधिक विस्तृत चर्चा के लिए या सैद्धांतिक नींव देखें)। फिर भी, अंगूठे के नियम के रूप में, साझा-मेमोरी मल्टीप्रोसेसर में उच्च-प्रदर्शन समानांतर संगणना समानांतर एल्गोरिदम का उपयोग करती है जबकि बड़े मापदंड पर वितरित प्रणाली का समन्वय वितरित एल्गोरिदम का उपयोग करता है।[11]


इतिहास

समवर्ती प्रक्रियाओं का उपयोग जो संदेश-प्रेषण के माध्यम से संचार करता है, इसकी जड़ें 1960 के दशक में अध्ययन किए गए ऑपरेटिंग प्रणाली वास्तुकला में हैं।[12] पहली व्यापक वितरित प्रणालियाँ ईथरनेट जैसे स्थानीय क्षेत्र नेटवर्क थीं, जिसका आविष्कार 1970 के दशक में किया गया था।[13]

अरपानेट, इंटरनेट के पूर्ववर्तियों में से , 1960 के दशक के अंत में प्रस्तुत किया गया था, और अरपानेट ईमेल का आविष्कार 1970 के दशक की प्रारंभिकमें किया गया था। ई-मेल अरपानेटका सबसे सफल अनुप्रयोग बना,[14] और संभवतः यह बड़े मापदंड पर वितरित अनुप्रयोग का सबसे पहला उदाहरण है। अरपानेट (और इसके उत्तराधिकारी, वैश्विक इंटरनेट) के अतिरिक्त, अन्य प्रारंभिकी विश्वव्यापी कंप्यूटर नेटवर्क में 1980 के दशक से यूज़नेट और फिडोनेट सम्मिलित थे, दोनों का उपयोग वितरित चर्चा प्रणालियों का समर्थन करने के लिए किया गया था।[15]

वितरित संगणना का अध्ययन 1970 के दशक के अंत और 1980 के दशक की प्रारंभिकमें कंप्यूटर विज्ञान की अपनी शाखा बन गया। क्षेत्र में पहला सम्मेलन, वितरित कम्प्यूटिंग (पीओडीसी) के सिद्धांतों पर संगोष्ठी, 1982 की तारीखें, और वितरित संगणना (डीआईएससी) पर इसके समकक्ष अंतर्राष्ट्रीय संगोष्ठी को पहली बार 1985 में ओटावा में ग्राफ पर वितरित एल्गोरिदम पर अंतर्राष्ट्रीय कार्यशाला के रूप में आयोजित किया गया था।[16]



वास्तुकला

वितरित संगणना के लिए विभिन्न हार्डवेयर और सॉफ्टवेयर वास्तुकला का उपयोग किया जाता है। निचले स्तर पर, किसी प्रकार के नेटवर्क के साथ कई सीपीयू को आपस में जोड़ना आवश्यक है, तथापि वह नेटवर्क परिपथ बोर्ड पर मुद्रित हो या ढीले युग्मित उपकरणों और केबलों से बना हो। उच्च स्तर पर, उन सीपीयू पर चलने वाली प्रक्रिया ( संगणना) को किसी प्रकार की संचार प्रणाली से जोड़ना आवश्यक है।Cite error: Closing </ref> missing for <ref> tag इस वास्तुकला के उदाहरणों में बिटटोरेंट और बिटकॉइन नेटवर्क सम्मिलित हैं।

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


अनुप्रयोग

वितरित प्रणाली और वितरित संगणना का उपयोग करने के कारणों में सम्मिलित हो सकते हैं:

  • किसी एप्लिकेशन की प्रकृति के लिए संचार नेटवर्क के उपयोग की आवश्यकता हो सकती है जो कई कंप्यूटरों को जोड़ता है: उदाहरण के लिए, भौतिक स्थान में उत्पादित डेटा और दूसरे स्थान पर आवश्यक।
  • ऐसे कई स्थितियोंहैं जिनमें ही कंप्यूटर का उपयोग सिद्धांत रूप में संभव होगा, किन्तुवितरित प्रणाली का उपयोग व्यावहारिक कारणों से फायदेमंद होता है। उदाहरण के लिए:
    • यह मशीन की तुलना में अधिक बड़े भंडारण और मेमोरी, तेज गणना और उच्च बैंडविड्थ की अनुमति दे सकता है।
    • यह गैर-वितरित प्रणाली की तुलना में अधिक विश्वसनीयता प्रदान कर सकता है, क्योंकि विफलता का भी बिंदु नहीं है। इसके अतिरिक्त, अखंड यूनिप्रोसेसर प्रणाली की तुलना में वितरित प्रणाली का विस्तार और प्रबंधन करना आसान हो सकता है।[19]
    • ल हाई-एंड कंप्यूटर की तुलना में कई लो-एंड कंप्यूटरों के क्लस्टर ( संगणना) का उपयोग करके प्रदर्शन का वांछित स्तर प्राप्त करना अधिक निवेश प्रभावी हो सकता है।

उदाहरण

वितरित प्रणालियों और वितरित संगणना के अनुप्रयोगों के उदाहरणों में निम्नलिखित सम्मिलित हैं:[20]

सैद्धांतिक नींव


मॉडल

कई कार्य जिन्हें हम कंप्यूटर का उपयोग करके स्वचालित करना चाहते हैं, वे प्रश्न-उत्तर प्रकार के होते हैं: हम प्रश्न पूछना चाहते हैं और कंप्यूटर को उत्तर देना चाहिए। सैद्धांतिक कंप्यूटर विज्ञान में, ऐसे कार्यों को कम्प्यूटेशनल समस्याएँ कहा जाता है। औपचारिक रूप से, कम्प्यूटेशनल समस्या में प्रत्येक उदाहरण के समाधान के साथ-साथ उदाहरण होते हैं। उदाहरण वे प्रश्न हैं जो हम पूछ सकते हैं, और समाधान इन प्रश्नों के वांछित उत्तर हैं।

सैद्धांतिक कंप्यूटर विज्ञान यह समझने की कोशिश करता है कि कंप्यूटर (कम्प्यूटेबिलिटी थ्योरी (कंप्यूटर साइंस)) और कितनी कुशलता से (कम्प्यूटेशनल जटिलता सिद्धांत) का उपयोग करके कौन सी कम्प्यूटेशनल समस्याओं को हल किया जा सकता है। परंपरागत रूप से, यह कहा जाता है कि कंप्यूटर का उपयोग करके समस्या को हल किया जा सकता है यदि हम एल्गोरिदम डिज़ाइन कर सकते हैं जो किसी दिए गए उदाहरण के लिए सही समाधान उत्पन्न करता है। इस तरह के एल्गोरिदम को कंप्यूटर योजना के रूप में प्रयुक्त किया जा सकता है जो सामान्य-उद्देश्य वाले कंप्यूटर पर चलता है: योजना सूचना से समस्या का उदाहरण पढ़ता है, कुछ संगणना करता है, और आउटपुट ( संगणना) के रूप में समाधान का उत्पादन करता है। रैंडम-्सेस मशीन या यूनिवर्सल ट्यूरिंग मशीन जैसी औपचारिकताएं इस तरह के एल्गोरिदम को क्रियान्वित करने वाले अनुक्रमिक सामान्य-उद्देश्य वाले कंप्यूटर के अमूर्त मॉडल के रूप में उपयोग की जा सकती हैं।[22][23] समवर्ती और वितरित संगणना का क्षेत्र या तो कई कंप्यूटरों के स्थितियोंमें समान प्रश्नों का अध्ययन करता है, या कंप्यूटर जो इंटरेक्टिंग प्रक्रियाओं के नेटवर्क को निष्पादित करता है: ऐसे नेटवर्क में कौन सी कम्प्यूटेशनल समस्याओं को हल किया जा सकता है और कितनी कुशलता से? चूँकि, यह बिल्कुल स्पष्ट नहीं है कि समवर्ती या वितरित प्रणाली के स्थितियोंमें किसी समस्या को हल करने का क्या कारणहै: उदाहरण के लिए, एल्गोरिथम डिज़ाइनर का कार्य क्या है, और अनुक्रमिक सामान्य के समवर्ती या वितरित समतुल्य क्या है- उद्देश्य कंप्यूटर?

नीचे दी गई चर्चा कई कंप्यूटरों के स्थितियोंपर केंद्रित है, चूंकि कंप्यूटर पर चलने वाली समवर्ती प्रक्रियाओं के लिए कई उद्देश्य समान हैं।

सामान्यतः तीन दृष्टिकोणों का उपयोग किया जाता है:

साझा-स्मृति मॉडल में समानांतर एल्गोरिदम
  • सभी प्रोसेसर की साझा मेमोरी तक पहुंच होती है। एल्गोरिथ्म डिजाइनर प्रत्येक प्रोसेसर द्वारा निष्पादित योजना को चुनता है।
  • सैद्धांतिक मॉडल है समानांतर रैम | समानांतर रैंडम-्सेस मशीन (पीरैम) जिनका उपयोग किया जाता है।[24] चूँकि, मौलिक पीरैम मॉडल साझा मेमोरी में सिंक्रोनसेस को मानता है।
  • साझा-मेमोरी योजना को वितरित प्रणाली तक बढ़ाया जा सकता है यदि अंतर्निहित ऑपरेटिंग प्रणाली नोड्स के बीच संचार को एनकैप्सुलेट करता है और वस्तुतः सभी अलग-अलग प्रणाली में मेमोरी को स्वीकृत करता है।
  • मॉडल जो वास्तविक-विश्व मल्टीप्रोसेसर मशीनों के व्यवहार के करीब है और मशीन निर्देशों के उपयोग को ध्यान में रखता है, जैसे कि तुलना-और-स्वैप (CAS), अतुल्यकालिक साझा मेमोरी है। इस मॉडल पर काम का विस्तृत निकाय है, जिसका सारांश साहित्य में पाया जा सकता है।[25][26]
संदेश-पासिंग मॉडल में समानांतर एल्गोरिदम
  • एल्गोरिथ्म डिजाइनर नेटवर्क की संरचना , साथ ही प्रत्येक कंप्यूटर द्वारा निष्पादित योजना को चुनता है।
  • बूलियन परिपथ और छँटाई नेटवर्क जैसे मॉडल का उपयोग किया जाता है।[27] बूलियन परिपथ को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक गेट कंप्यूटर है जो अत्यंत सरल कंप्यूटर योजना चलाता है। इसी तरह, सॉर्टिंग नेटवर्क को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक तुलनित्र कंप्यूटर है।
संदेश-पासिंग मॉडल में वितरित एल्गोरिदम
  • एल्गोरिदम डिजाइनर केवल कंप्यूटर योजना चुनता है। सभी कंप्यूटर ही योजना चलाते हैं। नेटवर्क की संरचना की परवाह किए बिना प्रणाली को सही ढंग से काम करना चाहिए।
  • सामान्यतः उपयोग किया जाने वाला मॉडल ग्राफ़ (असतत गणित) है जिसमें प्रति नोड परिमित-राज्य मशीन होती है।

वितरित एल्गोरिदम के स्थितियोंमें, कम्प्यूटेशनल समस्याएं सामान्यतः ग्राफ़ से संबंधित होती हैं। अधिकांशतः कंप्यूटर नेटवर्क की संरचना का वर्णन करने वाला ग्राफ समस्या का उदाहरण है। यह निम्नलिखित उदाहरण में सचित्र है।


उदाहरण

किसी दिए गए ग्राफ G का रंग खोजने की कम्प्यूटेशनल समस्या पर विचार करें। विभिन्न क्षेत्रों में निम्नलिखित विधि अपनाए जा सकते हैं:

केंद्रीकृत एल्गोरिदम
  • ग्राफ G को स्ट्रिंग के रूप में एन्कोड किया गया है, और स्ट्रिंग को कंप्यूटर में इनपुट के रूप में दिया गया है। कंप्यूटर योजना ग्राफ का रंग ढूंढता है, रंग को स्ट्रिंग के रूप में एन्कोड करता है, और परिणाम को आउटपुट करता है।
समानांतर एल्गोरिदम
  • फिर से, ग्राफ g को स्ट्रिंग के रूप में एन्कोड किया गया है। चूँकि, कई कंप्यूटर ही स्ट्रिंग को समानांतर में पहुँच सकते हैं। प्रत्येक कंप्यूटर ग्राफ़ के भाग पर ध्यान केंद्रित कर सकता है और उस भाग के लिए रंग उत्पन्न कर सकता है।
  • मुख्य ध्यान उच्च-प्रदर्शन संगणना पर है जो समानांतर में कई कंप्यूटरों की प्रसंस्करण शक्ति का शोषण करता है।
वितरित एल्गोरिदम
  • ग्राफ जी कंप्यूटर नेटवर्क की संरचना है। जी के प्रत्येक नोड के लिए कंप्यूटर है और जी के प्रत्येक किनारे के लिए संचार लिंक है। प्रारंभ में, प्रत्येक कंप्यूटर केवल ग्राफ जी में अपने निकटतम निकटतम के बारे में जानता है; जी की संरचना के बारे में अधिक जानने के लिए कंप्यूटरों को दूसरे के साथ संदेशों का आदान-प्रदान करना चाहिए। प्रत्येक कंप्यूटर को आउटपुट के रूप में अपना रंग बनाना चाहिए।
  • मुख्य ध्यान इच्छानुसारा वितरित प्रणाली के संचालन के समन्वय पर है।

जबकि समानांतर एल्गोरिदम के क्षेत्र में वितरित एल्गोरिदम के क्षेत्र की तुलना में अलग केंद्र है, दोनों क्षेत्रों के बीच बहुत अधिक संपर्क है। उदाहरण के लिए, ग्राफ कलरिंग के लिए कोल-विश्किन एल्गोरिथम[28] मूल रूप से समानांतर एल्गोरिथम के रूप में प्रस्तुत किया गया था, किन्तुउसी विधि को सीधे वितरित एल्गोरिथम के रूप में भी उपयोग किया जा सकता है।

इसके अतिरिक्त, समानांतर एल्गोरिथ्म या तो समानांतर प्रणाली (साझा मेमोरी का उपयोग करके) या वितरित प्रणाली (संदेश पासिंग का उपयोग करके) में प्रयुक्त किया जा सकता है।[29] समानांतर और वितरित एल्गोरिदम के बीच पारंपरिक सीमा (किसी दिए गए नेटवर्क में चलने के लिए उपयुक्त नेटवर्क चुनें) समानांतर और वितरित प्रणाली (साझा मेमोरी बनाम संदेश पासिंग) के बीच की सीमा के समान स्थान पर नहीं है।

जटिलता उपाय

समानांतर एल्गोरिदम में, समय और स्थान के अतिरिक्त अन्य संसाधन कंप्यूटरों की संख्या है। दरअसल, चलने के समय और कंप्यूटर की संख्या के बीच अधिकांशतः समझौता होता है: समस्या को तेजी से हल किया जा सकता है यदि समानांतर में अधिक कंप्यूटर चल रहे हों (गति बढ़ाना देखें)। यदि प्रोसेसर की बहुपद संख्या का उपयोग करके बहुलगणकीय समय में निर्णय समस्या को हल किया जा सकता है, तो समस्या को एनसी (जटिलता) वर्ग में कहा जाता है।[30] कक्षा एनसी को प्रैम औपचारिकता या बूलियन परिपथ का उपयोग करके समान रूप से अच्छी तरह से परिभाषित किया जा सकता है- पीआरएएम शीनें बूलियन परिपथ को कुशलता से अनुकरण कर सकती हैं और इसके विपरीत।[31]

वितरित एल्गोरिदम के विश्लेषण में, सामान्यतः कम्प्यूटेशनल चरणों की तुलना में संचार संचालन पर अधिक ध्यान दिया जाता है। संभवतः वितरित संगणना का सबसे सरल मॉडल तुल्यकालिक प्रणाली है जहां सभी नोड लॉकस्टेप फैशन में काम करते हैं। यह मॉडल सामान्यतः स्थानीय मॉडल के रूप में जाना जाता है। प्रत्येक संचार दौर के समय, समानांतर में सभी नोड्स (1) अपने निकटतम से नवीनतम संदेश प्राप्त करते हैं, (2) इच्छानुसारा स्थानीय गणना करते हैं, और (3) अपने निकटतम को नए संदेश भेजते हैं। ऐसी प्रणालियों में, केंद्रीय जटिलता माप कार्य को पूरा करने के लिए आवश्यक समकालिक संचार दौरों की संख्या है।[32]

यह जटिलता माप नेटवर्क के व्यास (ग्राफ सिद्धांत) से निकटता से संबंधित है। बता दें कि डी नेटवर्क का व्यास है। ओर, किसी भी संगणनीय समस्या को लगभग 2डी संचार दौरों में तुल्यकालिक वितरित प्रणाली में तुच्छ रूप से हल किया जा सकता है: बस सभी सूचनाओं को स्थान (डी राउंड) में इकट्ठा करें, समस्या को हल करें, और प्रत्येक नोड को समाधान (डी राउंड) के बारे में सूचित करें। .

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

अन्य सामान्यतः उपयोग किया जाने वाला माप नेटवर्क में प्रसारित बिट्स की कुल संख्या है (cf. संचार जटिलता)।[34] इस अवधारणा की विशेषताओं को सामान्यतः कांगेस्ट( बी) मॉडल के साथ कैप्चर किया जाता है, जिसे समान रूप से स्थानीय मॉडल के रूप में परिभाषित किया जाता है, किन्तुजहां ल संदेशों में केवल बी बिट्स हो सकते हैं।

अन्य समस्याएं

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

मूलभूत चुनौतियाँ भी हैं जो वितरित संगणना के लिए अद्वितीय हैं, उदाहरण के लिए दोष-सहिष्णुता से संबंधित। संबंधित समस्याओं के उदाहरणों में आम सहमति (कंप्यूटर विज्ञान),[35] बीजान्टिन दोष सहिष्णुता,[36] और आत्म-स्थिरीकरण[37]

वितरित प्रणालियों की अतुल्यकालिक प्रकृति को समझने पर बहुत अधिक शोध भी केंद्रित है:

  • समकालीन (एल्गोरिदम) का उपयोग अतुल्यकालिक प्रणाली में तुल्यकालन (एल्गोरिदम) को चलाने के लिए किया जा सकता है।[38]
  • तार्किक घड़ियाँ घटनाओं के क्रम से पहले घटित होने का कारण प्रदान करती हैं।[39]
  • घड़ी तुल्यकालन एल्गोरिदम विश्व स्तर पर लगातार भौतिक समय टिकट प्रदान करते हैं।[40]


नेता चुनाव

समन्वयक चुनाव (या नेता चुनाव) ल प्रक्रिया ( संगणना) को कई कंप्यूटरों (नोड्स) के बीच वितरित कुछ कार्य के आयोजक के रूप में नामित करने की प्रक्रिया है। कार्य प्रारंभ होने से पहले, सभी नेटवर्क नोड्स या तो अनजान हैं कि कौन सा नोड कार्य के समन्वयक (या नेता) के रूप में कार्य करेगा, या वर्तमान समन्वयक के साथ संवाद करने में असमर्थ है। समन्वयक चुनाव एल्गोरिथ्म के चलने के बाद, चूंकि, पूरे नेटवर्क में प्रत्येक नोड विशेष, अद्वितीय नोड को कार्य समन्वयक के रूप में पहचानता है।[41]

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

इस समस्या की परिभाषा का श्रेय अधिकांशतः लेल्न्न को दिया जाता है, जिन्होंने इसे टोकन रिंग नेटवर्क में नया टोकन बनाने के लिए विधि के रूप में औपचारिक रूप दिया, जिसमें टोकन खो गया है।[42]

समन्वयक चुनाव एल्गोरिदम को प्रेषित कुल बाइटस और समय के स्थितियोंमें प्रभावकारी होने के लिए डिज़ाइन किया गया है। गल्लागेर, हम्बलट, और स्पाइरा द्वारा सुझाए गए एल्गोरिथम [43] सामान्य रूप से अप्रत्यक्ष रेखांकन के लिए वितरित एल्गोरिदम के रचना पर शक्तिशाली प्रभाव पड़ा है, और वितरित संगणना में प्रभावशाली पेपर के लिए दिकस्ट्रा पुरस्कार जीता है।

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

समन्वय करने के लिए, वितरित प्रणालियाँ समन्वयकों की अवधारणा को नियोजित करती हैं। समन्वयक चुनाव समस्या केंद्रीय समन्वयक के रूप में कार्य करने के लिए वितरित प्रणाली में विभिन्न प्रोसेसरों पर प्रक्रियाओं के समूह के बीच से प्रक्रिया का चयन करना है। कई केंद्रीय समन्वयक चुनाव एल्गोरिदम उपस्थित हैं।[45]


वितरित प्रणाली के गुण

अब तक वितरित प्रणाली को रचना करने पर ध्यान केंद्रित किया गया है जो किसी समस्या को हल करता है। पूरक शोध समस्या वितरित प्रणाली के गुणों का अध्ययन कर रही है।[46][47]

हॉल्टिंग प्रॉब्लम सेंट्रलाइज्ड कम्प्यूटेशन के क्षेत्र से समान उदाहरण है: हमें कंप्यूटर योजना दिया जाता है और कार्य यह तय करना है कि यह रुकता है या सदैव के लिए चलता है। सामान्य स्थिति में रुकने की समस्या अनिर्णीत समस्या है, और स्वाभाविक रूप से कंप्यूटर नेटवर्क के व्यवहार को समझना कम से कम उतना ही कठिन है जितना कि कंप्यूटर के व्यवहार को समझना।[48]

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

यह भी देखें


टिप्पणियाँ

  1. 1.0 1.1 Tanenbaum, Andrew S.; Steen, Maarten van (2002). Distributed systems: principles and paradigms. Upper Saddle River, NJ: Pearson Prentice Hall. ISBN 0-13-088893-1. Archived from the original on 2020-08-12. Retrieved 2020-08-28.
  2. Dusseau & Dusseau 2016, p. 1-2.
  3. Lynch (1996), p. 1.
  4. Cite error: Invalid <ref> tag; no text was provided for refs named Andrews 2000
  5. Ghosh (2007), पी। 10.
  6. Ghosh (2007), p. 10. Keidar (2008).
  7. Lynch (1996), p. xix, 1–2. Peleg (2000), p. 1.
  8. Peleg (2000), p. 1.
  9. Papadimitriou (1994), Chapter 15. Keidar (2008).
  10. See references in Introduction.
  11. Bentaleb, A.; Yifan, L.; Xin, J.; et al. (2016). "Parallel and Distributed Algorithms" (PDF). National University of Singapore. Archived (PDF) from the original on 2017-03-26. Retrieved 20 July 2018.
  12. Andrews (2000), p. 348.
  13. Andrews (2000), p. 32.
  14. Peter (2004), The history of email Archived 2009-04-15 at the Wayback Machine.
  15. Banks, M. (2012). On the Way to the Web: The Secret History of the Internet and its Founders. Apress. pp. 44–5. ISBN 9781430250746. Archived from the original on 2023-01-20. Retrieved 2018-07-20.
  16. Tel, G. (2000). Introduction to Distributed Algorithms. Cambridge University Press. pp. 35–36. ISBN 9780521794831. Archived from the original on 2023-01-20. Retrieved 2018-07-20.
  17. Lind P, Alm M (2006), "A database-centric virtual chemistry system", J Chem Inf Model, 46 (3): 1034–9, doi:10.1021/ci050360b, PMID 16711722.
  18. Chiu, G (1990). "A model for optimal database allocation in distributed computing systems". Proceedings. IEEE INFOCOM'90: Ninth Annual Joint Conference of the IEEE Computer and Communications Societies.
  19. Elmasri & Navathe (2000), Section 24.1.2.
  20. Andrews (2000), p. 10–11. Ghosh (2007), p. 4–6. Lynch (1996), p. xix, 1. Peleg (2000), p. xv. Elmasri & Navathe (2000), Section 24.
  21. Haussmann, J. (2019). "Cost-efficient parallel processing of irregularly structured problems in cloud computing environments". Journal of Cluster Computing. 22 (3): 887–909. doi:10.1007/s10586-018-2879-3. S2CID 54447518.
  22. Toomarian, N.B.; Barhen, J.; Gulati, S. (1992). "Neural Networks for Real-Time Robotic Applications". In Fijany, A.; Bejczy, A. (eds.). Parallel Computation Systems For Robotics: Algorithms And Architectures. World Scientific. p. 214. ISBN 9789814506175. Archived from the original on 2020-08-01. Retrieved 2018-07-20.
  23. Savage, J.E. (1998). Models of Computation: Exploring the Power of Computing. Addison Wesley. p. 209. ISBN 9780201895391.
  24. Cormen, Leiserson & Rivest (1990), Section 30.
  25. Herlihy & Shavit (2008), Chapters 2-6.
  26. Lynch (1996)
  27. Cormen, Leiserson & Rivest (1990), Sections 28 and 29.
  28. Cole & Vishkin (1986). Cormen, Leiserson & Rivest (1990), Section 30.5.
  29. Andrews (2000), p. ix.
  30. Arora & Barak (2009), Section 6.7. Papadimitriou (1994), Section 15.3.
  31. Papadimitriou (1994), Section 15.2.
  32. Lynch (1996), p. 17–23.
  33. Peleg (2000), Sections 2.3 and 7. Linial (1992). Naor & Stockmeyer (1995).
  34. Schneider, J.; Wattenhofer, R. (2011). "Trading Bit, Message, and Time Complexity of Distributed Algorithms". In Peleg, D. (ed.). Distributed Computing. Springer Science & Business Media. pp. 51–65. ISBN 9783642240997. Archived from the original on 2020-08-01. Retrieved 2018-07-20.
  35. Lynch (1996), Sections 5–7. Ghosh (2007), Chapter 13.
  36. Lynch (1996), p. 99–102. Ghosh (2007), p. 192–193.
  37. Dolev (2000). Ghosh (2007), Chapter 17.
  38. Lynch (1996), Section 16. Peleg (2000), Section 6.
  39. Lynch (1996), Section 18. Ghosh (2007), Sections 6.2–6.3.
  40. Ghosh (2007), Section 6.4.
  41. 41.0 41.1 Haloi, S. (2015). Apache ZooKeeper Essentials. Packt Publishing Ltd. pp. 100–101. ISBN 9781784398323. Archived from the original on 2023-01-20. Retrieved 2018-07-20.
  42. LeLann, G. (1977). "Distributed systems - toward a formal approach". Information Processing. 77: 155·160 – via Elsevier.
  43. R. G. Gallager, P. A. Humblet, and P. M. Spira (January 1983). "A Distributed Algorithm for Minimum-Weight Spanning Trees" (PDF). ACM Transactions on Programming Languages and Systems. 5 (1): 66–77. doi:10.1145/357195.357200. S2CID 2758285. Archived (PDF) from the original on 2017-09-26.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  44. Korach, Ephraim; Kutten, Shay; Moran, Shlomo (1990). "A Modular Technique for the Design of Efficient Distributed Leader Finding Algorithms" (PDF). ACM Transactions on Programming Languages and Systems. 12 (1): 84–101. CiteSeerX 10.1.1.139.7342. doi:10.1145/77606.77610. S2CID 9175968. Archived (PDF) from the original on 2007-04-18.
  45. Hamilton, Howard. "Distributed Algorithms". Archived from the original on 2012-11-24. Retrieved 2013-03-03.
  46. "Major unsolved problems in distributed systems?". cstheory.stackexchange.com. Archived from the original on 20 January 2023. Retrieved 16 March 2018.
  47. "How big data and distributed systems solve traditional scalability problems". theserverside.com. Archived from the original on 17 March 2018. Retrieved 16 March 2018.
  48. Svozil, K. (2011). "Indeterminism and Randomness Through Physics". In Hector, Z. (ed.). Randomness Through Computation: Some Answers, More Questions. World Scientific. pp. 112–3. ISBN 9789814462631. Archived from the original on 2020-08-01. Retrieved 2018-07-20.
  49. Papadimitriou (1994), Section 19.3.


संदर्भ

Books
Articles
Web sites


अग्रिम पठन

Books
Articles
Conference Papers
  • Rodriguez, Carlos; Villagra, Marcos; Baran, Benjamin (2007). "Asynchronous team algorithms for Boolean Satisfiability". 2007 2nd Bio-Inspired Models of Network, Information and Computing Systems. pp. 66–69. doi:10.1109/BIMNICS.2007.4610083. S2CID 15185219.


बाहरी संबंध