वितरित अभिकलन
वितरित प्रणाली ऐसी प्रणाली है जिसके घटक विभिन्न संगणक तंत्र पर स्थित होते हैं, जो दूसरे को संदेश भेजकर अपने कार्यों का संचार और समन्वय करते हैं।[1][2] वितरित संगणना कंप्यूटर विज्ञान का क्षेत्र है जो वितरित प्रणालियों का अध्ययन करता है।
सामान्य लक्ष्य को प्राप्त करने के लिए वितरित प्रणाली के घटक दूसरे के साथ बातचीत करते हैं। वितरित प्रणालियों की तीन महत्वपूर्ण चुनौतियाँ हैं: घटकों की संगति बनाए रखना, घड़ी के समकालीन पर काबू पाना और घटकों की स्वतंत्र विफलता का प्रबंधन करना।[1] जब प्रणाली का कंपोनेंट फेल हो जाता है, तो संपूर्ण प्रणाली विफल नहीं होती है।[3] वितरित प्रणाली के उदाहरण सेवा उन्मुख संरचना | एसओए- आधारित प्रणाली से लेकर बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल से लेकर समकक्ष को समकक्ष | समकक्ष-को-समकक्ष एप्लिकेशन तक भिन्न होते हैं।
कंप्यूटर योजना जो वितरित प्रणाली के अंदर चलता है, वितरित योजना कहलाती है, [4] और वितरित कार्यक्रम निर्माण ऐसे योजना लिखने की प्रक्रिया है।
वितरित संगणना कम्प्यूटेशनल समस्याओं को हल करने के लिए वितरित प्रणाली के उपयोग को भी संदर्भित करता है। वितरित संगणना में, समस्या को कई कार्यों में विभाजित किया जाता है, जिनमें से प्रत्येक को या से अधिक कंप्यूटरों द्वारा हल किया जाता है, [5]
परिचय
वितरित प्रणाली, वितरित प्रोग्रामिंग और वितरित एल्गोरिदम जैसे शब्दों में वितरित शब्द मूल रूप से कंप्यूटर नेटवर्क को संदर्भित करता है जहां कुछ भौगोलिक क्षेत्र में अलग-अलग कंप्यूटर भौतिक रूप से वितरित किए गए थे।[6] शब्द आजकल बहुत व्यापक अर्थों में उपयोग किए जाते हैं, यहां तक कि स्वायत्त प्रक्रिया ( संगणना) का भी जिक्र करते हैं जो ही भौतिक कंप्यूटर पर चलते हैं और संदेश पास करके दूसरे के साथ बातचीत करते हैं।[5]
जबकि वितरित प्रणाली की कोई परिभाषा नहीं है,[7] निम्नलिखित पारिभाषिक गुण सामान्यतः इस रूप में उपयोग किए जाते हैं:
- कई स्वायत्त कम्प्यूटेशनल संस्थाएँ (कंप्यूटर या नोड (नेटवर्किंग)) हैं, जिनमें से प्रत्येक की अपनी स्थानीय मेमोरी (कंप्यूटर) है।
- संदेश पास करके संस्थाएँ दूसरे से संवाद करती हैं।
वितरित प्रणाली का सामान्य लक्ष्य हो सकता है, जैसे कि बड़ी कम्प्यूटेशनल समस्या को हल करना;
वितरित प्रणालियों के अन्य विशिष्ट गुणों में निम्नलिखित सम्मिलित हैं:
- प्रणाली को अलग-अलग कंप्यूटरों में दोष सहिष्णुता है।
- प्रणाली की संरचना (नेटवर्क टोपोलॉजी, नेटवर्क लेटेंसी, कंप्यूटर की संख्या) पहले से ज्ञात नहीं है, प्रणाली में विभिन्न प्रकार के कंप्यूटर और नेटवर्क लिंक सम्मिलित हो सकते हैं, और वितरित योजना के निष्पादन के समय प्रणाली बदल सकता है।
- प्रत्येक कंप्यूटर में प्रणाली का केवल सीमित, अधूरा दृश्य होता है। प्रत्येक कंप्यूटर इनपुट के केवल भाग को जान सकता है।
समानांतर और वितरित संगणना
(सी): समानांतर प्रणाली।
वितरित प्रणाली नेटवर्क वाले कंप्यूटरों के समूह हैं जो अपने काम के लिए सामान्य लक्ष्य साझा करते हैं।
समवर्ती संगणना, समानांतर संगणना और वितरित संगणना में बहुत अधिक ओवरलैप है, और उनके बीच कोई स्पष्ट अंतर उपस्थित नहीं है।[8] ही प्रणाली को समानांतर और वितरित दोनों के रूप में वर्णित किया जा सकता है; विशिष्ट वितरित प्रणाली में प्रोसेसर समवर्ती समानांतर में चलते हैं।[9] समानांतर संगणना को वितरित संगणना के विशेष कसकर युग्मित रूप के रूप में देखा जा सकता है,[10] और वितरित संगणना को समानांतर संगणना के ढीले युग्मित रूप के रूप में देखा जा सकता है।
- समानांतर संगणना में, प्रोसेसर के बीच सूचनाओं के आदान-प्रदान के लिए सभी प्रोसेसर के पास साझा स्मृति वास्तुकला तक पहुंच हो सकती है।[11]
- वितरित संगणना में, प्रत्येक प्रोसेसर की अपनी निजी मेमोरी (वितरित मेमोरी) होती है। सूचना का आदान-प्रदान प्रोसेसर के बीच संदेश भेजकर किया जाता है।[12]
दाईं ओर का आंकड़ा वितरित और समांतर प्रणालियों के बीच अंतर को दर्शाता है। चित्रा (ए) विशिष्ट वितरित प्रणाली का योजनाबद्ध दृश्य है; प्रणाली को नेटवर्क टोपोलॉजी के रूप में दर्शाया गया है जिसमें प्रत्येक नोड कंप्यूटर है और नोड्स को जोड़ने वाली प्रत्येक पंक्ति संचार लिंक है। चित्र (बी) ही वितरित प्रणाली को और अधिक विस्तार से दिखाता है: प्रत्येक कंप्यूटर की अपनी स्थानीय मेमोरी होती है, और उपलब्ध संचार लिंक का उपयोग करके केवल नोड से दूसरे में संदेश भेजकर सूचना का आदान-प्रदान किया जा सकता है। चित्रा (सी) समांतर प्रणाली दिखाता है जिसमें प्रत्येक प्रोसेसर के पास साझा स्मृति तक सीधी पहुंच होती है।
समानांतर और वितरित एल्गोरिथम शब्दों के पारंपरिक उपयोगों से स्थिति और जटिल हो जाती है जो समानांतर और वितरित प्रणालियों की उपरोक्त परिभाषाओं से अधिक मेल नहीं खाती है (अधिक विस्तृत चर्चा के लिए या सैद्धांतिक नींव देखें)। फिर भी, अंगूठे के नियम के रूप में, साझा-मेमोरी मल्टीप्रोसेसर में उच्च-प्रदर्शन समानांतर संगणना समानांतर एल्गोरिदम का उपयोग करती है जबकि बड़े मापदंड पर वितरित प्रणाली का समन्वय वितरित एल्गोरिदम का उपयोग करता है।[13]
इतिहास
समवर्ती प्रक्रियाओं का उपयोग जो संदेश-प्रेषण के माध्यम से संचार करता है, इसकी जड़ें 1960 के दशक में अध्ययन किए गए ऑपरेटिंग प्रणाली वास्तुकला में हैं।[14] पहली व्यापक वितरित प्रणालियाँ ईथरनेट जैसे स्थानीय क्षेत्र नेटवर्क थीं, जिसका आविष्कार 1970 के दशक में किया गया था।[15]
अरपानेट, इंटरनेट के पूर्ववर्तियों में से , 1960 के दशक के अंत में प्रस्तुत किया गया था, और अरपानेट ईमेल का आविष्कार 1970 के दशक की प्रारंभिकमें किया गया था। ई-मेल अरपानेटका सबसे सफल अनुप्रयोग बना,[16] और संभवतः यह बड़े मापदंड पर वितरित अनुप्रयोग का सबसे पहला उदाहरण है। अरपानेट (और इसके उत्तराधिकारी, वैश्विक इंटरनेट) के अतिरिक्त, अन्य प्रारंभिकी विश्वव्यापी कंप्यूटर नेटवर्क में 1980 के दशक से यूज़नेट और फिडोनेट सम्मिलित थे, दोनों का उपयोग वितरित चर्चा प्रणालियों का समर्थन करने के लिए किया गया था।[17]
वितरित संगणना का अध्ययन 1970 के दशक के अंत और 1980 के दशक की प्रारंभिकमें कंप्यूटर विज्ञान की अपनी शाखा बन गया। क्षेत्र में पहला सम्मेलन, वितरित कम्प्यूटिंग (पीओडीसी) के सिद्धांतों पर संगोष्ठी, 1982 की तारीखें, और वितरित संगणना (डीआईएससी) पर इसके समकक्ष अंतर्राष्ट्रीय संगोष्ठी को पहली बार 1985 में ओटावा में ग्राफ पर वितरित एल्गोरिदम पर अंतर्राष्ट्रीय कार्यशाला के रूप में आयोजित किया गया था।[18]
वास्तुकला
वितरित संगणना के लिए विभिन्न हार्डवेयर और सॉफ्टवेयर वास्तुकला का उपयोग किया जाता है। निचले स्तर पर, किसी प्रकार के नेटवर्क के साथ कई सीपीयू को आपस में जोड़ना आवश्यक है, तथापि वह नेटवर्क परिपथ बोर्ड पर मुद्रित हो या ढीले युग्मित उपकरणों और केबलों से बना हो। उच्च स्तर पर, उन सीपीयू पर चलने वाली प्रक्रिया ( संगणना) को किसी प्रकार की संचार प्रणाली से जोड़ना आवश्यक है।[19]
वितरित प्रोग्रामिंग आमतौर पर कई बुनियादी आर्किटेक्चर में से एक में आती है: क्लाइंट-सर्वर मॉडल | क्लाइंट-सर्वर, त्रि-स्तरीय (कंप्यूटिंग) | थ्री-टियर, मल्टीटियर आर्किटेक्चर | एन-टियर, या पीयर-टू-पीयर; या श्रेणियाँ: ढीला युग्मन, या कंप्यूटर क्लस्टर। [20]
- क्लाइंट-सर्वर मॉडल | क्लाइंट-सर्वर: आर्किटेक्चर जहां स्मार्ट क्लाइंट डेटा के लिए सर्वर से संपर्क करते हैं, फिर इसे स्वरूपित करते हैं और उपयोगकर्ताओं को प्रदर्शित करते हैं। जब यह स्थायी परिवर्तन का प्रतिनिधित्व करता है तो क्लाइंट पर इनपुट सर्वर पर वापस आ जाता है।
- थ्री-टियर (कंप्यूटिंग) | थ्री-टियर: आर्किटेक्चर जो क्लाइंट इंटेलिजेंस को एक मध्य स्तर पर ले जाते हैं ताकि स्टेटलेस प्रोटोकॉल क्लाइंट का उपयोग किया जा सके। यह एप्लिकेशन परिनियोजन को सरल करता है। अधिकांश वेब एप्लिकेशन त्रि-स्तरीय हैं।
- मल्टीटियर आर्किटेक्चर | एन-टियर: आर्किटेक्चर जो आमतौर पर वेब एप्लिकेशन को संदर्भित करते हैं जो अन्य एंटरप्राइज़ सेवाओं के लिए उनके अनुरोधों को आगे बढ़ाते हैं। इस प्रकार का एप्लिकेशन अनुप्रयोग सर्वर की सफलता के लिए सबसे अधिक जिम्मेदार है।
- पीयर-टू-पीयर: आर्किटेक्चर जहां कोई विशेष मशीन नहीं है जो सेवा प्रदान करती है या नेटवर्क संसाधनों का प्रबंधन करती है।
[21]: 227 इसके बजाय सभी जिम्मेदारियों को सभी मशीनों के बीच समान रूप से विभाजित किया जाता है, जिन्हें पीयर के रूप में जाना जाता है। सहकर्मी क्लाइंट और सर्वर दोनों के रूप में सेवा कर सकते हैं।[22] इस वास्तुकला के उदाहरणों में बिटटोरेंट और बिटकॉइन नेटवर्क सम्मिलित हैं।
वितरित संगणना वास्तुकला का अन्य मूलभूत पहलू समवर्ती प्रक्रियाओं के बीच संचार और समन्वय कार्य की विधि है। विभिन्न संदेश पासिंग प्रोटोकॉल के माध्यम से, प्रक्रियाएं दूसरे के साथ सीधे संवाद कर सकती हैं, सामान्यतः मास्टर/स्लेव (प्रौद्योगिकी) | मास्टर/स्लेव संबंध में। वैकल्पिक रूप से, डेटाबेस-केंद्रित वास्तुकला | डेटाबेस-केंद्रित वास्तुकला साझा डेटाबेस का उपयोग करके वितरित संगणना को किसी भी प्रकार के प्रत्यक्ष अंतर-प्रक्रिया संचार के बिना सक्षम कर सकता है।[23] डेटाबेस-केंद्रित वास्तुकला विशेष रूप से लाइव पर्यावरण रिले के लिए योजनाबद्ध वास्तुकला में रिलेशनल प्रोसेसिंग एनालिटिक्स प्रदान करता है। यह नेटवर्क किए गए डेटाबेस के पैरामीटर के अंदर और बाहर वितरित संगणना कार्यों को सक्षम बनाता है।[24]
अनुप्रयोग
वितरित प्रणाली और वितरित संगणना का उपयोग करने के कारणों में सम्मिलित हो सकते हैं:
- किसी एप्लिकेशन की प्रकृति के लिए संचार नेटवर्क के उपयोग की आवश्यकता हो सकती है जो कई कंप्यूटरों को जोड़ता है: उदाहरण के लिए, भौतिक स्थान में उत्पादित डेटा और दूसरे स्थान पर आवश्यक।
- ऐसे कई स्थितियोंहैं जिनमें ही कंप्यूटर का उपयोग सिद्धांत रूप में संभव होगा, किन्तुवितरित प्रणाली का उपयोग व्यावहारिक कारणों से फायदेमंद होता है। उदाहरण के लिए:
- यह मशीन की तुलना में अधिक बड़े भंडारण और मेमोरी, तेज गणना और उच्च बैंडविड्थ की अनुमति दे सकता है।
- यह गैर-वितरित प्रणाली की तुलना में अधिक विश्वसनीयता प्रदान कर सकता है, क्योंकि विफलता का भी बिंदु नहीं है। इसके अतिरिक्त, अखंड यूनिप्रोसेसर प्रणाली की तुलना में वितरित प्रणाली का विस्तार और प्रबंधन करना आसान हो सकता है।[25]
- ल हाई-एंड कंप्यूटर की तुलना में कई लो-एंड कंप्यूटरों के क्लस्टर ( संगणना) का उपयोग करके प्रदर्शन का वांछित स्तर प्राप्त करना अधिक निवेश प्रभावी हो सकता है।
उदाहरण
वितरित प्रणालियों और वितरित संगणना के अनुप्रयोगों के उदाहरणों में निम्नलिखित सम्मिलित हैं:[26]
- दूरसंचार नेटवर्क:
- टेलीफोन नेटवर्क और सेल्युलर नेटवर्क,
- कंप्यूटर नेटवर्क जैसे कि इंटरनेट,
- वायरलेस सेंसर नेटवर्क,
- रूटिंग एल्गोरिदम;
- नेटवर्क अनुप्रयोग:
- वर्ल्ड वाइड वेब और समकक्ष-को-समकक्ष नेटवर्क,
- बड़े मापदंड पर मल्टीप्लेयर ऑनलाइन खेल और आभासी वास्तविकता समुदाय,
- वितरित डेटाबेस और वितरित डेटाबेस प्रबंधन प्रणाली,
- वितरित फाइल प्रणाली,
- वितरित कैश जैसे फट बफ़र्स,
- वितरित सूचना प्रसंस्करण प्रणाली जैसे बैंकिंग प्रणाली और एयरलाइन आरक्षण प्रणाली;
- वास्तविक समय प्रक्रिया नियंत्रण:
- विमान नियंत्रण प्रणाली,
- औद्योगिक नियंत्रण प्रणाली;
- समानांतर संगणना:
- क्लस्टर संगणना, ग्रिड संगणना, क्लाउड कम्प्यूटिंग सहित वैज्ञानिक संगणना,[27] और विभिन्न स्वयंसेवी_कंप्यूटिंग_परियोजनाओं_की_सूची
- कंप्यूटर ग्राफिक्स में वितरित प्रतिपादन।
- समकक्ष को समकक्ष
सैद्धांतिक नींव
मॉडल
कई कार्य जिन्हें हम कंप्यूटर का उपयोग करके स्वचालित करना चाहते हैं, वे प्रश्न-उत्तर प्रकार के होते हैं: हम प्रश्न पूछना चाहते हैं और कंप्यूटर को उत्तर देना चाहिए। सैद्धांतिक कंप्यूटर विज्ञान में, ऐसे कार्यों को कम्प्यूटेशनल समस्याएँ कहा जाता है। औपचारिक रूप से, कम्प्यूटेशनल समस्या में प्रत्येक उदाहरण के समाधान के साथ-साथ उदाहरण होते हैं। उदाहरण वे प्रश्न हैं जो हम पूछ सकते हैं, और समाधान इन प्रश्नों के वांछित उत्तर हैं।
सैद्धांतिक कंप्यूटर विज्ञान यह समझने की कोशिश करता है कि कंप्यूटर (कम्प्यूटेबिलिटी थ्योरी (कंप्यूटर साइंस)) और कितनी कुशलता से (कम्प्यूटेशनल जटिलता सिद्धांत) का उपयोग करके कौन सी कम्प्यूटेशनल समस्याओं को हल किया जा सकता है। परंपरागत रूप से, यह कहा जाता है कि कंप्यूटर का उपयोग करके समस्या को हल किया जा सकता है यदि हम एल्गोरिदम डिज़ाइन कर सकते हैं जो किसी दिए गए उदाहरण के लिए सही समाधान उत्पन्न करता है। इस तरह के एल्गोरिदम को कंप्यूटर योजना के रूप में प्रयुक्त किया जा सकता है जो सामान्य-उद्देश्य वाले कंप्यूटर पर चलता है: योजना सूचना से समस्या का उदाहरण पढ़ता है, कुछ संगणना करता है, और आउटपुट ( संगणना) के रूप में समाधान का उत्पादन करता है। रैंडम-्सेस मशीन या यूनिवर्सल ट्यूरिंग मशीन जैसी औपचारिकताएं इस तरह के एल्गोरिदम को क्रियान्वित करने वाले अनुक्रमिक सामान्य-उद्देश्य वाले कंप्यूटर के अमूर्त मॉडल के रूप में उपयोग की जा सकती हैं।[28][29] समवर्ती और वितरित संगणना का क्षेत्र या तो कई कंप्यूटरों के स्थितियोंमें समान प्रश्नों का अध्ययन करता है, या कंप्यूटर जो इंटरेक्टिंग प्रक्रियाओं के नेटवर्क को निष्पादित करता है: ऐसे नेटवर्क में कौन सी कम्प्यूटेशनल समस्याओं को हल किया जा सकता है और कितनी कुशलता से? चूँकि, यह बिल्कुल स्पष्ट नहीं है कि समवर्ती या वितरित प्रणाली के स्थितियोंमें किसी समस्या को हल करने का क्या कारणहै: उदाहरण के लिए, एल्गोरिथम डिज़ाइनर का कार्य क्या है, और अनुक्रमिक सामान्य के समवर्ती या वितरित समतुल्य क्या है- उद्देश्य कंप्यूटर?
नीचे दी गई चर्चा कई कंप्यूटरों के स्थितियोंपर केंद्रित है, चूंकि कंप्यूटर पर चलने वाली समवर्ती प्रक्रियाओं के लिए कई उद्देश्य समान हैं।
सामान्यतः तीन दृष्टिकोणों का उपयोग किया जाता है:
- साझा-स्मृति मॉडल में समानांतर एल्गोरिदम
- सभी प्रोसेसर की साझा मेमोरी तक पहुंच होती है। एल्गोरिथ्म डिजाइनर प्रत्येक प्रोसेसर द्वारा निष्पादित योजना को चुनता है।
- सैद्धांतिक मॉडल है समानांतर रैम | समानांतर रैंडम-्सेस मशीन (पीरैम) जिनका उपयोग किया जाता है।[30] चूँकि, मौलिक पीरैम मॉडल साझा मेमोरी में सिंक्रोनसेस को मानता है।
- साझा-मेमोरी योजना को वितरित प्रणाली तक बढ़ाया जा सकता है यदि अंतर्निहित ऑपरेटिंग प्रणाली नोड्स के बीच संचार को एनकैप्सुलेट करता है और वस्तुतः सभी अलग-अलग प्रणाली में मेमोरी को स्वीकृत करता है।
- मॉडल जो वास्तविक-विश्व मल्टीप्रोसेसर मशीनों के व्यवहार के करीब है और मशीन निर्देशों के उपयोग को ध्यान में रखता है, जैसे कि तुलना-और-स्वैप (CAS), अतुल्यकालिक साझा मेमोरी है। इस मॉडल पर काम का विस्तृत निकाय है, जिसका सारांश साहित्य में पाया जा सकता है।[31][32]
- संदेश-पासिंग मॉडल में समानांतर एल्गोरिदम
- एल्गोरिथ्म डिजाइनर नेटवर्क की संरचना , साथ ही प्रत्येक कंप्यूटर द्वारा निष्पादित योजना को चुनता है।
- बूलियन परिपथ और छँटाई नेटवर्क जैसे मॉडल का उपयोग किया जाता है।[33] बूलियन परिपथ को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक गेट कंप्यूटर है जो अत्यंत सरल कंप्यूटर योजना चलाता है। इसी तरह, सॉर्टिंग नेटवर्क को कंप्यूटर नेटवर्क के रूप में देखा जा सकता है: प्रत्येक तुलनित्र कंप्यूटर है।
- संदेश-पासिंग मॉडल में वितरित एल्गोरिदम
- एल्गोरिदम डिजाइनर केवल कंप्यूटर योजना चुनता है। सभी कंप्यूटर ही योजना चलाते हैं। नेटवर्क की संरचना की परवाह किए बिना प्रणाली को सही ढंग से काम करना चाहिए।
- सामान्यतः उपयोग किया जाने वाला मॉडल ग्राफ़ (असतत गणित) है जिसमें प्रति नोड परिमित-राज्य मशीन होती है।
वितरित एल्गोरिदम के स्थितियोंमें, कम्प्यूटेशनल समस्याएं सामान्यतः ग्राफ़ से संबंधित होती हैं। अधिकांशतः कंप्यूटर नेटवर्क की संरचना का वर्णन करने वाला ग्राफ समस्या का उदाहरण है। यह निम्नलिखित उदाहरण में सचित्र है।
उदाहरण
किसी दिए गए ग्राफ G का रंग खोजने की कम्प्यूटेशनल समस्या पर विचार करें। विभिन्न क्षेत्रों में निम्नलिखित विधि अपनाए जा सकते हैं:
- केंद्रीकृत एल्गोरिदम
- ग्राफ G को स्ट्रिंग के रूप में एन्कोड किया गया है, और स्ट्रिंग को कंप्यूटर में इनपुट के रूप में दिया गया है। कंप्यूटर योजना ग्राफ का रंग ढूंढता है, रंग को स्ट्रिंग के रूप में एन्कोड करता है, और परिणाम को आउटपुट करता है।
- समानांतर एल्गोरिदम
- फिर से, ग्राफ g को स्ट्रिंग के रूप में एन्कोड किया गया है। चूँकि, कई कंप्यूटर ही स्ट्रिंग को समानांतर में पहुँच सकते हैं। प्रत्येक कंप्यूटर ग्राफ़ के भाग पर ध्यान केंद्रित कर सकता है और उस भाग के लिए रंग उत्पन्न कर सकता है।
- मुख्य ध्यान उच्च-प्रदर्शन संगणना पर है जो समानांतर में कई कंप्यूटरों की प्रसंस्करण शक्ति का शोषण करता है।
- वितरित एल्गोरिदम
- ग्राफ जी कंप्यूटर नेटवर्क की संरचना है। जी के प्रत्येक नोड के लिए कंप्यूटर है और जी के प्रत्येक किनारे के लिए संचार लिंक है। प्रारंभ में, प्रत्येक कंप्यूटर केवल ग्राफ जी में अपने निकटतम निकटतम के बारे में जानता है; जी की संरचना के बारे में अधिक जानने के लिए कंप्यूटरों को दूसरे के साथ संदेशों का आदान-प्रदान करना चाहिए। प्रत्येक कंप्यूटर को आउटपुट के रूप में अपना रंग बनाना चाहिए।
- मुख्य ध्यान इच्छानुसारा वितरित प्रणाली के संचालन के समन्वय पर है।
जबकि समानांतर एल्गोरिदम के क्षेत्र में वितरित एल्गोरिदम के क्षेत्र की तुलना में अलग केंद्र है, दोनों क्षेत्रों के बीच बहुत अधिक संपर्क है। उदाहरण के लिए, ग्राफ कलरिंग के लिए कोल-विश्किन एल्गोरिथम[34] मूल रूप से समानांतर एल्गोरिथम के रूप में प्रस्तुत किया गया था, किन्तुउसी विधि को सीधे वितरित एल्गोरिथम के रूप में भी उपयोग किया जा सकता है।
इसके अतिरिक्त, समानांतर एल्गोरिथ्म या तो समानांतर प्रणाली (साझा मेमोरी का उपयोग करके) या वितरित प्रणाली (संदेश पासिंग का उपयोग करके) में प्रयुक्त किया जा सकता है।[35] समानांतर और वितरित एल्गोरिदम के बीच पारंपरिक सीमा (किसी दिए गए नेटवर्क में चलने के लिए उपयुक्त नेटवर्क चुनें) समानांतर और वितरित प्रणाली (साझा मेमोरी बनाम संदेश पासिंग) के बीच की सीमा के समान स्थान पर नहीं है।
जटिलता उपाय
समानांतर एल्गोरिदम में, समय और स्थान के अतिरिक्त अन्य संसाधन कंप्यूटरों की संख्या है। दरअसल, चलने के समय और कंप्यूटर की संख्या के बीच अधिकांशतः समझौता होता है: समस्या को तेजी से हल किया जा सकता है यदि समानांतर में अधिक कंप्यूटर चल रहे हों (