जैसा कि @ राफेल ने कहा, वितरित कम्प्यूटिंग समानांतर कम्प्यूटिंग का सबसेट है; बदले में, समानांतर कम्प्यूटिंग समवर्ती कम्प्यूटिंग का एक सबसेट है।
कॉनएरेबिलिटी शेयरिंग को संदर्भित करता हैएक ही समय सीमा में संसाधनों का। उदाहरण के लिए, कई प्रक्रियाएं एक ही सीपीयू (या सीपीयू कोर) या साझा मेमोरी या एक आई / ओ डिवाइस साझा करती हैं। ऑपरेटिंग सिस्टम साझा संसाधनों का प्रबंधन करते हैं। मल्टीप्रोसेसर मशीनें और वितरित सिस्टम आर्किटेक्चर हैं जिसमें कंसीलर कंट्रोल महत्वपूर्ण भूमिका निभाता है। Concurrency हार्डवेयर और सॉफ्टवेयर दोनों स्तरों पर होती है। एक ही समय में कई डिवाइस संचालित होते हैं, प्रोसेसर में आंतरिक समानता होती है और एक साथ कई निर्देशों पर काम होता है, सिस्टम में कई प्रोसेसर होते हैं, और सिस्टम नेटवर्क संचार के माध्यम से बातचीत करते हैं। कॉनएरेबिलिटी सिग्नल हैंडलिंग, आई / ओ के ओवरलैप और संचार में, और प्रक्रियाओं के बीच संसाधनों के बंटवारे में या एक ही प्रक्रिया में थ्रेड्स के बीच अनुप्रयोगों के स्तर पर होती है।
एक ही सिस्टम पर निष्पादित होने वाली दो प्रक्रियाएं (या थ्रेड्स) ताकि उनके निष्पादन को समय में समाहित किया जाए वे समवर्ती हैं: प्रक्रियाएं (थ्रेड्स) सीपीयू संसाधन साझा कर रही हैं। मुझे निम्नलिखित परिभाषा पसंद है: एक ही सिस्टम पर निष्पादित होने वाली दो प्रक्रियाएं (थ्रेड्स) समवर्ती होती हैं यदि और केवल तभी दूसरी प्रक्रिया (थ्रेड) शुरू होती है जब पहली प्रक्रिया (थ्रेड) ने अभी तक इसके निष्पादन को समाप्त नहीं किया है।
विभिन्न सीपीयू (या एक ही सीपीयू के कोर ) पर प्रक्रियाएं (या थ्रेड्स) निष्पादित होने पर कंज्यूरेबिलिटी समानता बन जाती है । इस मामले में समानता "आभासी" नहीं बल्कि "वास्तविक" है।
जब वे सीपीयू एक ही मशीन से संबंधित होते हैं, तो हम गणना को "समानांतर" के रूप में संदर्भित करते हैं; जब सीपीयू विभिन्न मशीनों से संबंधित होते हैं , तो भौगोलिक रूप से फैल सकते हैं, हम गणना को "वितरित" के रूप में संदर्भित करते हैं।
इसलिए, वितरित कम्प्यूटिंग समानांतर कंप्यूटिंग का एक सबसेट है, जो समवर्ती कम्प्यूटिंग का एक सबसेट है।
बेशक, यह सच है कि, सामान्य तौर पर, समानांतर और वितरित कंप्यूटिंग को अलग-अलग माना जाता है। समानांतर कंप्यूटिंग कसकर-युग्मित अनुप्रयोगों से संबंधित है, और इसका उपयोग निम्नलिखित लक्ष्यों में से एक को प्राप्त करने के लिए किया जाता है:
- गणना-गहन समस्याओं को तेजी से हल करें;
- उसी समय में बड़ी समस्याओं को हल करें;
- एक ही आकार की समस्याओं को एक ही समय में उच्च सटीकता के साथ हल करें।
अतीत में, पहला लक्ष्य समानांतर कंप्यूटिंग का मुख्य कारण था: समस्या के समाधान में तेजी लाना। अभी, और जब संभव हो, वैज्ञानिक मुख्य रूप से दूसरे लक्ष्य को प्राप्त करने के लिए समानांतर कंप्यूटिंग का उपयोग करते हैं (उदाहरण के लिए, वे उसी समय के समान राशि खर्च करने को तैयार हैं जो उन्होंने पिछले दिनों हल करने में की समस्या के समानांतर हल किया था। आकार के ) या तीसरे एक (यानी, वे समय की एक ही राशि खर्च करने को तैयार हैं वे के आकार समानांतर एक समस्या में अतीत को हल करने में खर्च अब के आकार एक समस्या को हल करनेTx5xTxxलेकिन अधिक सटीकता के साथ अधिक जटिल मॉडल, अधिक समीकरणों, चर और बाधाओं का उपयोग करके)। समानांतर कंप्यूटिंग साझा-मेमोरी, संदेश-पासिंग या दोनों का उपयोग कर सकते हैं (जैसे, ओपन-एमपी का उपयोग करके साझा-मेमोरी-इंट्रा-नोड, एमपीआई का उपयोग करके संदेश-गुजर इंटर-नोड); यह GPU त्वरक का उपयोग कर सकता है। चूंकि एप्लिकेशन एक समानांतर सुपर कंप्यूटर पर चलता है, इसलिए हम आम तौर पर विफलताओं, नेटवर्क विभाजन आदि जैसे मुद्दों पर ध्यान नहीं देते हैं, क्योंकि इन घटनाओं की संभावना व्यावहारिक उद्देश्यों के लिए शून्य के करीब है। हालाँकि, जलवायु परिवर्तन सिमुलेशन जैसे बड़े समानांतर अनुप्रयोग, जो कई महीनों तक चल सकते हैं, आमतौर पर विफलताओं से संबंधित होते हैं, और समस्या उत्पन्न होने पर फिर से सिमुलेशन शुरू करने से बचने के लिए चेकपॉइंटिंग / पुनरारंभ तंत्र का उपयोग करते हैं।
वितरित कंप्यूटिंग शिथिल-युग्मित अनुप्रयोगों से संबंधित है, जिसमें लक्ष्य ( वितरित सुपरकंप्यूटिंग के लिए ) समस्याओं को हल करना है अन्यथा बहुत बड़े या जिनके निष्पादन को विभिन्न घटकों पर विभाजित किया जा सकता है जो विभिन्न आर्किटेक्चर पर निष्पादन से लाभान्वित हो सकते हैं। क्लाइंट-सर्वर, पीयर-टू-पीयर आदि सहित कई मॉडल हैं। वितरित कंप्यूटिंग में उत्पन्न होने वाले मुद्दे, जैसे कि सुरक्षा, विफलताओं, नेटवर्क विभाजन आदि को डिजाइन समय पर ध्यान में रखा जाना चाहिए, क्योंकि इस संदर्भ में विफलता नियम और हैं अपवाद नहीं।
अंत में, ग्रिड और क्लाउड कंप्यूटिंग दोनों वितरित कंप्यूटिंग के सबसेट हैं। ग्रिड कंप्यूटिंग प्रतिमान बड़े पैमाने पर संसाधन साझाकरण और नवीन उच्च प्रदर्शन अनुप्रयोगों पर ध्यान केंद्रित करने के कारण पारंपरिक वितरित कंप्यूटिंग से अलग एक नए क्षेत्र के रूप में उभरा। साझा किए जा रहे संसाधन, आमतौर पर कई, विभिन्न प्रशासनिक डोमेन (तथाकथित वर्चुअल ऑर्गेनाइजेशन ) से संबंधित होते हैं। ग्रिड कम्प्यूटिंग, जबकि पिछले दशक में वैज्ञानिकों द्वारा भारी उपयोग किया जा रहा है, पारंपरिक रूप से आम उपयोगकर्ताओं के लिए मुश्किल है। वर्चुअल मशीनों के उपयोग के माध्यम से क्लाउड कंप्यूटिंग अंतर को पाटने की कोशिश करती है, जिससे आम उपयोगकर्ता आसानी से कई मशीनों का उपयोग कर सकते हैं, जो एक ही डेटा सेंटर में सह-स्थित होते हैं और भौगोलिक रूप से वितरित नहीं होते हैं।कि उपयोगकर्ताओं द्वारा अपने अनुप्रयोगों को चलाने के लिए इकट्ठा किया जा सकता है। हार्डवेयर के कारण, विशेष रूप से एक उच्च-प्रदर्शन नेटवर्क इंटरकनेक्ट की सामान्य कमी (जैसे कि इन्फिनिबैंड आदि), समानांतर MPI एप्लिकेशन चलाने के लिए बादलों को लक्षित नहीं किया जाता है। बादलों पर चलने वाले वितरित अनुप्रयोगों को आमतौर पर मानचित्र / प्रतिमान को कम करने के लिए कार्यान्वित किया जाता है। वैसे, बहुत से लोग मैप के बारे में सोचते हैं / समानांतर डेटा प्रवाह मॉडल के रूप में कम करते हैं।