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

प्रोग्रामिंग मॉडल शीर्ष परत है। एप्लिकेशन प्रोग्रामिंग मॉडल में लिखे गए हैं। समानांतर प्रोग्रामिंग मॉडल में शामिल हैं -
- पता स्थान साझा किया गया
- संदेश देना
- डेटा समानांतर प्रोग्रामिंग
Shared addressप्रोग्रामिंग एक बुलेटिन बोर्ड का उपयोग करने जैसा है, जहां कोई व्यक्ति किसी विशेष स्थान पर जानकारी पोस्ट करके एक या कई व्यक्तियों के साथ संवाद कर सकता है, जिसे अन्य सभी व्यक्तियों द्वारा साझा किया जाता है। व्यक्तिगत गतिविधि को यह देखते हुए समन्वित किया जाता है कि कौन क्या कार्य कर रहा है।
Message passing एक टेलीफोन कॉल या पत्रों की तरह है जहां एक विशिष्ट रिसीवर एक विशिष्ट प्रेषक से जानकारी प्राप्त करता है।
Data parallelप्रोग्रामिंग सहयोग का एक संगठित रूप है। यहां, कई व्यक्ति समवर्ती रूप से सेट किए गए डेटा के अलग-अलग तत्वों पर कार्रवाई करते हैं और विश्व स्तर पर जानकारी साझा करते हैं।
शेयर्ड मेमोरी
साझा मेमोरी मल्टीप्रोसेसर समानांतर मशीनों के सबसे महत्वपूर्ण वर्गों में से एक हैं। यह मल्टीप्रोग्रामिंग वर्कलोड पर बेहतर थ्रूपुट देता है और समानांतर कार्यक्रमों का समर्थन करता है।

इस स्थिति में, सभी कंप्यूटर सिस्टम कुछ हार्डवेयर इंटरकनेक्शन द्वारा मेमोरी मॉड्यूल के संग्रह तक पहुंचने के लिए एक प्रोसेसर और I / O नियंत्रक के एक सेट की अनुमति देते हैं। मेमोरी मॉड्यूल को जोड़कर मेमोरी क्षमता बढ़ाई जाती है और I / O कंट्रोलर में डिवाइस जोड़कर या अतिरिक्त I / O कंट्रोलर जोड़कर I / O क्षमता बढ़ाई जाती है। तेजी से प्रोसेसर उपलब्ध होने या अधिक प्रोसेसर जोड़कर इंतजार करने से प्रसंस्करण क्षमता बढ़ाई जा सकती है।
सभी संसाधन एक केंद्रीय मेमोरी बस के आसपास आयोजित किए जाते हैं। बस पहुंच तंत्र के माध्यम से, कोई भी प्रोसेसर सिस्टम में किसी भी भौतिक पते तक पहुंच सकता है। जैसा कि सभी प्रोसेसर सभी मेमोरी स्थानों से समान हैं, सभी प्रोसेसर का एक्सेस समय या विलंबता मेमोरी लोकेशन पर समान है। यह कहा जाता हैsymmetric multiprocessor।
संदेश-पासिंग आर्किटेक्चर
मैसेज पासिंग आर्किटेक्चर भी समानांतर मशीनों का एक महत्वपूर्ण वर्ग है। यह स्पष्ट आई / ओ संचालन के रूप में प्रोसेसर के बीच संचार प्रदान करता है। इस स्थिति में, संचार को मेमोरी सिस्टम के बजाय I / O स्तर पर संयोजित किया जाता है।
मैसेज पासिंग आर्किटेक्चर में, ऑपरेटिंग सिस्टम या लाइब्रेरी कॉल का उपयोग करके निष्पादित उपयोगकर्ता संचार जो कई निचले स्तर की क्रियाएं करते हैं, जिसमें वास्तविक संचार ऑपरेशन शामिल है। नतीजतन, प्रोग्रामिंग मॉडल और भौतिक हार्डवेयर स्तर पर संचार संचालन के बीच एक दूरी है।
Send तथा receiveसंदेश पासिंग सिस्टम में सबसे आम उपयोगकर्ता स्तर का संचार संचालन है। भेजें एक स्थानीय डेटा बफ़र (जो प्रेषित किया जाना है) और एक दूरस्थ प्रोसेसर प्राप्त करता है। प्राप्त एक भेजने की प्रक्रिया और एक स्थानीय डेटा बफर निर्दिष्ट करता है जिसमें प्रेषित डेटा रखा जाएगा। भेजने के संचालन में, एidentifier या ए tag संदेश से जुड़ा हुआ है और प्राप्त करने का कार्य किसी विशिष्ट प्रोसेसर से किसी विशिष्ट टैग या किसी भी प्रोसेसर से टैग की तरह मिलान नियम को निर्दिष्ट करता है।
एक भेजने और एक मिलान प्राप्त करने का संयोजन एक मेमोरी-टू-मेमोरी कॉपी को पूरा करता है। प्रत्येक छोर अपने स्थानीय डेटा पते और एक जोड़ी वार सिंक्रोनाइज़ेशन घटना को निर्दिष्ट करता है।
अभिसरण
हार्डवेयर और सॉफ्टवेयर के विकास ने साझा मेमोरी और संदेश पासिंग कैंपों के बीच स्पष्ट सीमा को फीका कर दिया है। संदेश पासिंग और एक साझा पता स्थान दो अलग प्रोग्रामिंग मॉडल का प्रतिनिधित्व करता है; प्रत्येक साझाकरण, सिंक्रनाइज़ेशन और संचार के लिए एक पारदर्शी प्रतिमान देता है। हालांकि, बुनियादी मशीन संरचनाएं एक आम संगठन की ओर परिवर्तित हो गई हैं।
डेटा समानांतर प्रसंस्करण
समानांतर मशीन का एक अन्य महत्वपूर्ण वर्ग विभिन्न रूप से कहा जाता है - प्रोसेसर सरणियाँ, डेटा समानांतर वास्तुकला और एकल-निर्देश-एकाधिक-डेटा मशीन। प्रोग्रामिंग मॉडल की मुख्य विशेषता यह है कि बड़े नियमित डेटा संरचना (जैसे सरणी या मैट्रिक्स) के प्रत्येक तत्व पर समानांतर में संचालन निष्पादित किया जा सकता है।
डेटा समानांतर प्रोग्रामिंग भाषाओं को आमतौर पर प्रक्रियाओं के एक समूह के स्थानीय पता स्थान, एक प्रति प्रोसेसर, एक स्पष्ट वैश्विक स्थान बनाते हुए लागू किया जाता है। जैसा कि सभी प्रोसेसर एक साथ संचार करते हैं और सभी ऑपरेशनों का एक वैश्विक दृष्टिकोण है, इसलिए या तो एक साझा पता स्थान या संदेश पासिंग का उपयोग किया जा सकता है।
मौलिक डिजाइन मुद्दे
प्रोग्रामिंग मॉडल का विकास न केवल कंप्यूटर की दक्षता को बढ़ा सकता है और न ही अकेले हार्डवेयर का विकास कर सकता है। हालांकि, कंप्यूटर आर्किटेक्चर में विकास कंप्यूटर के प्रदर्शन में अंतर ला सकता है। हम डिज़ाइन समस्या को समझ सकते हैं कि कैसे प्रोग्राम एक मशीन का उपयोग करते हैं और कौन सी बुनियादी तकनीक प्रदान की जाती हैं।
इस खंड में, हम संचार अमूर्त और प्रोग्रामिंग मॉडल की बुनियादी आवश्यकताओं के बारे में चर्चा करेंगे।
संचार अमूर्तता
संचार अमूर्त प्रोग्रामिंग मॉडल और सिस्टम कार्यान्वयन के बीच मुख्य इंटरफ़ेस है। यह निर्देश सेट की तरह है जो एक मंच प्रदान करता है ताकि एक ही कार्यक्रम कई कार्यान्वयन पर सही ढंग से चल सके। इस स्तर पर संचालन सरल होना चाहिए।
संचार अमूर्त हार्डवेयर और सॉफ्टवेयर के बीच एक अनुबंध की तरह है, जो एक दूसरे को काम को प्रभावित किए बिना लचीलेपन में सुधार करने की अनुमति देता है।
प्रोग्रामिंग मॉडल आवश्यकताएँ
समानांतर प्रोग्राम में डेटा पर एक या अधिक थ्रेड्स संचालित होते हैं। एक समानांतर प्रोग्रामिंग मॉडल परिभाषित करता है कि थ्रेड्स क्या डेटा कर सकते हैंname, कौन कौन से operations नामित डेटा पर प्रदर्शन किया जा सकता है, और संचालन के बाद किस आदेश का पालन किया जाता है।
यह पुष्टि करने के लिए कि कार्यक्रमों के बीच निर्भरताएं लागू की गई हैं, एक समानांतर कार्यक्रम को अपने थ्रेड्स की गतिविधि का समन्वय करना चाहिए।