समानांतर कंप्यूटर वास्तुकला - मॉडल
वास्तविक जीवन के अनुप्रयोगों में उच्च प्रदर्शन, कम लागत और सटीक परिणामों की मांग को पूरा करने के लिए आधुनिक कंप्यूटरों में समानांतर प्रसंस्करण को एक प्रभावी तकनीक के रूप में विकसित किया गया है। मल्टीप्रोग्रामिंग, मल्टीप्रोसेसिंग या मल्टीकंप्यूटिंग के अभ्यास के कारण आज के कंप्यूटर में समवर्ती घटनाएं आम हैं।
आधुनिक कंप्यूटर में शक्तिशाली और व्यापक सॉफ्टवेयर पैकेज हैं। कंप्यूटर के प्रदर्शन के विकास का विश्लेषण करने के लिए, पहले हमें हार्डवेयर और सॉफ्टवेयर के बुनियादी विकास को समझना होगा।
Computer Development Milestones - कंप्यूटर के विकास के दो प्रमुख चरण हैं - mechanical या electromechanicalभागों। आधुनिक कंप्यूटर इलेक्ट्रॉनिक उपकरणों की शुरुआत के बाद विकसित हुए। इलेक्ट्रॉनिक कंप्यूटरों में उच्च गतिशीलता इलेक्ट्रॉनों ने यांत्रिक कंप्यूटरों में परिचालन भागों को बदल दिया। सूचना प्रसारण के लिए, विद्युत संकेत जो प्रकाश की गति पर लगभग यांत्रिक गियर या लीवर की यात्रा करता है।
Elements of Modern computers - एक आधुनिक कंप्यूटर सिस्टम में कंप्यूटर हार्डवेयर, इंस्ट्रक्शंस सेट, एप्लिकेशन प्रोग्राम, सिस्टम सॉफ्टवेयर और यूजर इंटरफेस होते हैं।
कंप्यूटिंग समस्याओं को संख्यात्मक कंप्यूटिंग, तार्किक तर्क और लेनदेन प्रसंस्करण के रूप में वर्गीकृत किया गया है। कुछ जटिल समस्याओं को तीनों प्रसंस्करण मोड के संयोजन की आवश्यकता हो सकती है।
Evolution of Computer Architecture- पिछले चार दशकों में, कंप्यूटर वास्तुकला क्रांतिकारी परिवर्तनों से गुजरा है। हमने वॉन न्यूमैन आर्किटेक्चर के साथ शुरुआत की और अब हमारे पास मल्टीकॉमपॉइंट और मल्टीप्रोसेसर हैं।
Performance of a computer system- कंप्यूटर सिस्टम का प्रदर्शन मशीन की क्षमता और प्रोग्राम व्यवहार दोनों पर निर्भर करता है। बेहतर हार्डवेयर तकनीक, उन्नत वास्तुशिल्प सुविधाओं और कुशल संसाधन प्रबंधन के साथ मशीन की क्षमता में सुधार किया जा सकता है। कार्यक्रम का व्यवहार अप्रत्याशित है क्योंकि यह अनुप्रयोग और रन-टाइम स्थितियों पर निर्भर है
मल्टीप्रोसेसर और मल्टीकॉमपॉइंट्स
इस भाग में, हम दो प्रकार के समानांतर कंप्यूटरों पर चर्चा करेंगे -
- Multiprocessors
- Multicomputers
साझा-मेमोरी मल्टीकॉमपॉइंट्स
तीन सबसे आम साझा मेमोरी मल्टीप्रोसेसर मॉडल हैं -
यूनिफ़ॉर्म मेमोरी एक्सेस (UMA)
इस मॉडल में, सभी प्रोसेसर भौतिक मेमोरी को समान रूप से साझा करते हैं। सभी प्रोसेसरों के पास सभी मेमोरी शब्दों के लिए समान पहुंच समय है। प्रत्येक प्रोसेसर में एक निजी कैश मेमोरी हो सकती है। परिधीय उपकरणों के लिए एक ही नियम का पालन किया जाता है।
जब सभी प्रोसेसर सभी परिधीय उपकरणों के लिए समान पहुंच रखते हैं, तो सिस्टम को ए कहा जाता है symmetric multiprocessor। जब केवल एक या कुछ प्रोसेसर परिधीय उपकरणों तक पहुंच सकते हैं, तो सिस्टम को कहा जाता हैasymmetric multiprocessor।
गैर-समान मेमोरी एक्सेस (NUMA)
NUMA मल्टीप्रोसेसर मॉडल में, मेमोरी शब्द के स्थान के साथ एक्सेस टाइम बदलता रहता है। यहां, साझा मेमोरी सभी प्रोसेसर के बीच भौतिक रूप से वितरित की जाती है, जिसे स्थानीय मेमोरी कहा जाता है। सभी स्थानीय यादों का संग्रह एक वैश्विक पता स्थान बनाता है जिसे सभी प्रोसेसर द्वारा पहुँचा जा सकता है।
कैश केवल मेमोरी आर्किटेक्चर (COMA)
COMA मॉडल NUMA मॉडल का एक विशेष मामला है। यहां, सभी वितरित मुख्य यादें कैश यादों में बदल जाती हैं।
Distributed - Memory Multicomputers- एक वितरित मेमोरी मल्टीकोम्प्यूटर सिस्टम में कई कंप्यूटर होते हैं, जिन्हें नोड्स के रूप में जाना जाता है, संदेश गुजर नेटवर्क द्वारा इंटर-कनेक्ट किया जाता है। प्रत्येक नोड एक स्वायत्त कंप्यूटर के रूप में कार्य करता है जिसमें एक प्रोसेसर, एक स्थानीय मेमोरी और कभी-कभी I / O डिवाइस होते हैं। इस मामले में, सभी स्थानीय यादें निजी हैं और केवल स्थानीय प्रोसेसर तक ही पहुँच योग्य हैं। यही कारण है, पारंपरिक मशीनों कहा जाता हैno-remote-memory-access (NORMA) मशीनों।
मल्टीवेक्टर और SIMD कंप्यूटर
इस खंड में, हम वेक्टर प्रसंस्करण और डेटा समानता के लिए सुपर कंप्यूटर और समानांतर प्रोसेसर पर चर्चा करेंगे।
वेक्टर सुपर कंप्यूटर
वेक्टर कंप्यूटर में, एक वेक्टर प्रोसेसर स्केलर प्रोसेसर से एक वैकल्पिक विशेषता के रूप में जुड़ा होता है। होस्ट कंप्यूटर पहले प्रोग्राम और डेटा को मुख्य मेमोरी में लोड करता है। फिर स्केलर कंट्रोल यूनिट सभी निर्देशों को डिकोड करता है। यदि डिकोड किए गए निर्देश स्केलर ऑपरेशन या प्रोग्राम ऑपरेशन हैं, तो स्केलर प्रोसेसर स्केलर कार्यात्मक पाइपलाइनों का उपयोग करके उन कार्यों को निष्पादित करता है।
दूसरी ओर, यदि डिकोड किए गए निर्देश वेक्टर ऑपरेशन हैं तो निर्देश वेक्टर कंट्रोल यूनिट को भेजे जाएंगे।
SIMD सुपर कंप्यूटर
SIMD कंप्यूटर में, 'N' नंबर के प्रोसेसर एक कंट्रोल यूनिट से जुड़े होते हैं और सभी प्रोसेसरों में उनकी अलग-अलग मेमोरी यूनिट होती हैं। सभी प्रोसेसर एक इंटरकनेक्शन नेटवर्क द्वारा जुड़े हुए हैं।
PRAM और VLSI मॉडल
आदर्श मॉडल भौतिक बाधाओं या कार्यान्वयन विवरणों पर विचार किए बिना समानांतर एल्गोरिदम विकसित करने के लिए एक उपयुक्त ढांचा देता है।
मॉडल समानांतर कंप्यूटरों पर सैद्धांतिक प्रदर्शन सीमा प्राप्त करने या चिप क्षेत्र पर वीएलएसआई जटिलता का मूल्यांकन करने और चिप के निर्माण से पहले परिचालन समय से पहले लागू किया जा सकता है।
समानांतर रैंडम-एक्सेस मशीनें
शेपर्डन और स्टर्गिस (1963) ने पारंपरिक यूनिप्रोसेर कंप्यूटर को रैंडम-एक्सेस-मशीन (रैम) के रूप में बनाया। फॉर्च्यून और वायली (1978) ने शून्य मेमोरी एक्सेस ओवरहेड और सिंक्रोनाइज़ेशन के साथ एक आदर्श समानांतर कंप्यूटर मॉडलिंग के लिए एक समानांतर रैंडम-एक्सेस-मशीन (PRAM) मॉडल विकसित किया।
एन-प्रोसेसर PRAM की एक साझा मेमोरी यूनिट है। इस साझा मेमोरी को प्रोसेसर के बीच केंद्रीकृत या वितरित किया जा सकता है। ये प्रोसेसर एक सिंक्रनाइज़ रीड-मेमोरी, राइट-मेमोरी और कंप्यूट चक्र पर काम करते हैं। इसलिए, ये मॉडल निर्दिष्ट करते हैं कि समवर्ती पढ़ना और लिखना कैसे संभाला जाता है।
निम्नलिखित मेमोरी अपडेट के संचालन संभव हैं -
Exclusive read (ER) - इस विधि में, प्रत्येक चक्र में किसी भी मेमोरी स्थान से केवल एक प्रोसेसर को पढ़ने की अनुमति है।
Exclusive write (EW) - इस विधि में, एक समय में कम से कम एक प्रोसेसर को मेमोरी लोकेशन में लिखने की अनुमति दी जाती है।
Concurrent read (CR) - यह कई प्रोसेसरों को एक ही साइकल में एक ही मेमोरी लोकेशन से एक ही जानकारी को पढ़ने की अनुमति देता है।
Concurrent write (CW)- यह एक ही मेमोरी स्थान पर एक साथ लिखने के संचालन की अनुमति देता है। लेखन संघर्ष से बचने के लिए कुछ नीतियां निर्धारित की जाती हैं।
वीएलएसआई जटिलता मॉडल
समानांतर कंप्यूटर प्रोसेसर एरे, मेमोरी एरे और बड़े पैमाने पर स्विचिंग नेटवर्क को बनाने के लिए वीएलएसआई चिप्स का उपयोग करते हैं।
आजकल, वीएलएसआई प्रौद्योगिकियां 2-आयामी हैं। वीएलएसआई चिप का आकार उस चिप में उपलब्ध स्टोरेज (मेमोरी) स्पेस की मात्रा के अनुपात में होता है।
हम उस एल्गोरिथ्म के वीएलएसआई चिप कार्यान्वयन के चिप क्षेत्र (ए) द्वारा एक एल्गोरिथ्म के अंतरिक्ष जटिलता की गणना कर सकते हैं। यदि टी एल्गोरिथ्म को निष्पादित करने के लिए आवश्यक समय (विलंबता) है, तो एटी चिप (या I / O) के माध्यम से संसाधित बिट्स की कुल संख्या पर एक ऊपरी बाध्य देता है। कुछ कंप्यूटिंग के लिए, कम बाउंड, f (s) मौजूद है, जैसे कि
एटी 2 > = ओ (एफ (एस))
जहां ए = चिप क्षेत्र और टी = समय
आर्किटेक्चरल डेवलपमेंट ट्रैक्स
समानांतर कंप्यूटरों का विकास मैंने निम्नलिखित पटरियों के साथ किया -
- एकाधिक प्रोसेसर ट्रैक्स
- मल्टीप्रोसेसर ट्रैक
- मल्टीकॉम्प्यूटर ट्रैक
- एकाधिक डेटा ट्रैक
- वेक्टर ट्रैक
- SIMD ट्रैक
- एकाधिक धागे ट्रैक
- बहुस्तरीय ट्रैक
- डेटाफ़्लो ट्रैक
में multiple processor track, यह माना जाता है कि विभिन्न धागे अलग-अलग प्रोसेसर पर समवर्ती रूप से निष्पादित होते हैं और साझा मेमोरी (मल्टीप्रोसेसर ट्रैक) या संदेश पासिंग (मल्टीकोम्प्यूटर ट्रैक) सिस्टम के माध्यम से संचार करते हैं।
में multiple data track, यह माना जाता है कि डेटा की भारी मात्रा पर एक ही कोड निष्पादित किया जाता है। यह डेटा तत्वों (वेक्टर ट्रैक) के अनुक्रम पर समान निर्देशों को निष्पादित करने या डेटा के समान सेट (SIMD ट्रैक) पर निर्देशों के उसी अनुक्रम के निष्पादन के द्वारा किया जाता है।
में multiple threads track, यह माना जाता है कि विभिन्न प्रोसेसर पर निष्पादित थ्रेड्स के बीच सिंक्रनाइज़ेशन देरी को छिपाने के लिए एक ही प्रोसेसर पर विभिन्न थ्रेड्स के interleaved निष्पादन। थ्रेड इंटरलायविंग मोटे (मल्टीट्र्रेड ट्रैक) या फाइन (डेटाफ्लो ट्रैक) हो सकते हैं।