पाइपलाइन व सदिश प्रक्रमण, तथा बहु-प्रक्रमक
बहु-प्रक्रमक अभिलक्षण व अंतर्संबंधन संरचनाएँ
| संरचना | यह प्रक्रमकों व स्मृति को कैसे जोड़ती है | व्यापार |
|---|---|---|
| समय-साझा साझा बस | सभी प्रक्रमक व स्मृति-मॉड्यूल एक बस साझा करते हैं, वरीयता-निर्धारित ताकि एक समय एक ही स्थानांतरण हो। | सबसे सस्ती, पर बस एकल अवरोध व एकल विफलता-बिंदु है। |
| क्रॉसबार स्विच | प्रत्येक प्रक्रमक अपने स्वयं के स्विच-बिंदु से हर स्मृति-मॉड्यूल से जुड़ता है। | पूर्ण एक साथ संयोजकता, पर स्विच-गिनती (प्रक्रमक × स्मृति) के रूप में बढ़ती है — स्केल करना महँगा। |
| बहु-चरण अंतर्संबंधन नेटवर्क | छोटे स्विचों (उदा० 2x2) के कई चरण किसी भी प्रक्रमक से किसी भी स्मृति तक अनुरोध मार्गित करते हैं। | मध्य मार्ग: पूर्ण क्रॉसबार से कम स्विच, अनुरोधों के बीच संभावित अवरोधन/स्पर्धा की कीमत पर। |
- अंतर-प्रक्रमक वरीयता-निर्धारण: जब दो या अधिक प्रक्रमक उसी साझा संसाधन (बस, स्मृति-मॉड्यूल) हेतु स्पर्धा करें, वरीयता-निर्धारण योजना (स्थिर प्राथमिकता, चक्रानुक्रम, या वितरित प्रोटोकॉल) एक समय ठीक एक को पहुँच देती है, दो एक साथ स्थानांतरणों को एक-दूसरे को भ्रष्ट करने से रोकते हुए।
- अंतर-प्रक्रमक संचार व तुल्यकालन: साझा-स्मृति तंत्र आपसी-अपवर्जन हेतु ताले/सेमाफ़ोर द्वारा रक्षित, साझा स्मृति-स्थानों से होकर सीधे संचार करते हैं; संदेश-प्रेषण तंत्रों में कोई साझा स्मृति नहीं होती और वे शुद्ध रूप से स्पष्ट संदेश भेजकर/प्राप्त करके संचार करते हैं — साझा आँकड़े पर किसी दौड़-स्थिति के बिना एक मौलिक रूप से भिन्न प्रोग्रामन प्रतिरूप, क्योंकि साझा आँकड़ा है ही नहीं।
कैश संगति
साझा-स्मृति बहु-प्रक्रमक में, प्रत्येक प्रक्रमक के पास सामान्यतः अपना निजी कैश होता है। कैश संगति यह गारंटी है कि प्रत्येक प्रक्रमक स्मृति का संगत दृश्य देखे — विशेष रूप से, कि एक प्रक्रमक द्वारा किया गया लेखन अंततः (व सुपरिभाषित क्रम में) हर अन्य प्रक्रमक के वाचनों को दिखाई दे, और किसी दो प्रक्रमकों के कैश एक साथ उसी स्मृति-स्थान हेतु भिन्न मान वैध रूप से न रखें। दो कुल के प्रोटोकॉल इसे लागू करते हैं: स्नूपिंग प्रोटोकॉल, जहाँ प्रत्येक कैश अन्य प्रक्रमकों के लेखनों हेतु साझा बस की निगरानी ("स्नूप") करता है और तदनुसार अपनी प्रतिलिपि अमान्य या अद्यतन करता है — व्यावहारिक केवल तभी जब साझा बस विद्यमान हो और सभी कैश सारा यातायात देख सकें; तथा निर्देशिका-आधारित प्रोटोकॉल, जहाँ केंद्रीय या वितरित निर्देशिका ट्रैक करती है कि कौन कैश किस खंड की प्रतिलिपि रखता है और केवल उन्हीं कैशों को लक्षित अमान्यकरण/अद्यतन संदेश भेजती है — आवश्यक एक बार अंतर्संबंधन एकल साझा बस न हो जिसे हर कैश स्नूप कर सके (उदा० बहु-चरण नेटवर्क), क्योंकि हर लेखन को हर कैश को प्रसारित करना स्केल नहीं करेगा।
बहु-क्रोड प्रक्रमक
- बहु-क्रोड प्रक्रमक एकल चिप पर दो या अधिक स्वतंत्र प्रक्रमण-क्रोड रखता है, सामान्यतः चिप-अंतर्गत अंतिम-स्तर कैश व स्मृति-अंतरापृष्ठ साझा करते हुए जबकि प्रत्येक क्रोड का अपना निजी L1 (व प्रायः L2) कैश होता है — यह चिप-मापक्रम पर साझा-स्मृति MIMD तंत्र है, अतः कैश संगति चिप-अंतर्गत ठीक वैसे ही आवश्यक है जैसे पृथक चिपों के बीच।
- एकल क्रोड की घड़ी को और तेज़ धकेलने की तुलना में बहु-क्रोड की प्रेरणा: शक्ति-क्षय घड़ी-आवृत्ति के साथ अति-रैखिक रूप से बढ़ता है, अतः एक बिंदु से आगे निम्न प्रति-क्रोड आवृत्ति पर क्रोड जोड़ना एक बहुत तेज़ क्रोड की तुलना में प्रति वाट अधिक कुल थ्रूपुट देता है — वही सुपरिचित 'शक्ति-दीवार' जिसने अकेले आवृत्ति-स्केलिंग के युग को समाप्त किया।
मुख्य बिंदु
- फ्लिन का वर्गीकरण: SISD, SIMD (सदिश/सरणी प्रक्रमक), MISD (विरल), MIMD (सामान्य बहु-प्रक्रमक) — अनुदेश व आँकड़ा प्रवाह-गिनतियों से क्रमित।
- सदिश प्रक्रमक अवयवों को एक अंकगणितीय इकाई से पाइपलाइन करता है; सरणी प्रक्रमक अनेक प्रक्रमण-अवयवों में वास्तव में समांतर रूप से अनेक अवयवों पर गणना करता है — दोनों SIMD, भिन्न हार्डवेयर व भिन्न त्वरण-सीमाएँ।
- साझा बस सस्ती है पर अवरोध है; क्रॉसबार द्विघाती स्विच-लागत पर पूर्ण संयोजकता देता है; बहु-चरण नेटवर्क व्यावहारिक मध्य मार्ग है।
- कैश संगति कैशों के आर-पार प्रत्येक स्मृति-स्थान के संगत दृश्य की गारंटी देती है; स्नूपिंग प्रोटोकॉल को साझा, सर्व-दृश्य बस चाहिए, निर्देशिका-आधारित प्रोटोकॉल उससे आगे स्केल करते हैं।
- बहु-क्रोड प्रक्रमक चिप-अंतर्गत साझा-स्मृति MIMD तंत्र हैं, उस शक्ति-दीवार से प्रेरित जिसने क्रोड जोड़ने को एक क्रोड की घड़ी और बढ़ाने से अधिक दक्ष बना दिया।
अभ्यास प्रश्न (8)
उत्तर खोलने से पहले प्रत्येक प्रश्न हल करें। हर व्याख्या सही विकल्प के साथ लुभावना गलत विकल्प भी बताती है, क्योंकि अंक वहीं जाते हैं।
फ्लिन के वर्गीकरण में, अनेक आँकड़ा-अवयवों पर एक अनुदेश लागू करने वाला सदिश प्रक्रमक है:
उत्तर देखें
उत्तर: A — SIMD
एकल अनुदेश, बहु आँकड़ा — अनेक आँकड़ा-अवयवों पर लागू एक अनुदेश-प्रवाह — ठीक SIMD है, वह वर्ग जिसमें सदिश व सरणी दोनों प्रक्रमक आते हैं।सदिश प्रक्रमक व सरणी प्रक्रमक के बीच मुख्य हार्डवेयर-भेद यह है कि:
उत्तर देखें
उत्तर: A — सदिश प्रक्रमक अवयवों को एक अंकगणितीय इकाई से पाइपलाइन करता है; सरणी प्रक्रमक उसी चक्र में संक्रिया करते अनेक प्रक्रमण-अवयव प्रयोग करता है
दोनों SIMD हैं, पर सदिश मशीन ONE पाइपलाइन के अवयवों को क्रमिक रूप से प्रक्रमित करते चरणों को अतिव्यापित कर थ्रूपुट पाती है, जबकि सरणी मशीन वास्तव में समांतर प्रक्रमण-अवयवों से जो एक साथ गणना करते हैं, वह पाती है।समय-साझा साझा बस की तुलना में, क्रॉसबार स्विच अंतर्संबंधन:
उत्तर देखें
उत्तर: A — पूर्ण एक साथ संयोजकता देता है पर उसकी स्विच-गिनती प्रक्रमक गुणा स्मृति के रूप में बढ़ती है
क्रॉसबार प्रत्येक प्रक्रमक को हर स्मृति-मॉड्यूल हेतु अपना स्विच-बिंदु देता है, अतः अनेक स्थानांतरण एक साथ चलते हैं — इस लागत पर कि स्विच-गिनती प्रक्रमक व स्मृति-गिनतियों के गुणनफल के रूप में बढ़ती है, जो बड़े मापक्रम पर महँगी हो जाती है।साझा-स्मृति बहु-प्रक्रमक में कैश संगति मुख्यतः इसकी गारंटी देती है कि:
उत्तर देखें
उत्तर: A — प्रत्येक प्रक्रमक अंततः किसी भी एकल स्मृति-स्थान हेतु संगत मान देखता है
संगति एक प्रति-स्थान गारंटी है; भिन्न स्थानों के आर-पार क्रम की गारंटी स्मृति संगतता-प्रतिरूप की पृथक, प्रबलतर चिंता है।स्नूपिंग कैश-संगति प्रोटोकॉल को आवश्यकता है:
उत्तर देखें
उत्तर: A — साझा बस या माध्यम जिस पर हर कैश समस्त यातायात देख सके
स्नूपिंग इस पर निर्भर करता है कि हर कैश हर दूसरे कैश का बस-यातायात देखकर लेखन पहचान सके व अपनी प्रतिलिपि अमान्य/अद्यतन कर सके; यह तभी तक स्केल करता है जब तक साझा, सर्व-दृश्य बस विद्यमान हो, इसीलिए उससे आगे निर्देशिका-आधारित योजनाएँ प्रयुक्त होती हैं।चिप अभिकल्पकों के एकल क्रोड की घड़ी-आवृत्ति और बढ़ाने के बजाय बहु-क्रोड प्रक्रमकों की ओर जाने का मुख्य कारण है:
उत्तर देखें
उत्तर: A — शक्ति-क्षय घड़ी-आवृत्ति के साथ अति-रैखिक रूप से बढ़ता है (शक्ति-दीवार)
एक बिंदु से आगे, घड़ी-आवृत्ति और बढ़ाना अतिरिक्त प्रदर्शन की प्रति इकाई असमानुपातिक रूप से अधिक शक्ति लेता है, अतः कार्य को अनेक निम्न-आवृत्ति क्रोड में बाँटना प्रति वाट अधिक थ्रूपुट देता है — शक्ति-दीवार।साझा-स्मृति तंत्रों से भिन्न, संदेश-प्रेषण बहु-प्रक्रमक तंत्रों के विषय में निम्नलिखित में कौन सत्य हैं? (एक से अधिक विकल्प सही हो सकते हैं।)
उत्तर देखें
उत्तर: A — प्रक्रमक शुद्ध रूप से स्पष्ट संदेश भेजकर व प्राप्त करके संचार करते हैं; B — दो प्रक्रमकों के दौड़ने हेतु कोई साझा स्मृति-स्थान नहीं है; D — कैश संगति प्रोटोकॉल उनके मूल संचार-प्रतिरूप के लिए अप्रासंगिक हैं
संदेश-प्रेषण एक मौलिक रूप से भिन्न प्रतिरूप है जिसमें कोई साझा पता-समष्टि नहीं, अतः दौड़ने हेतु कुछ नहीं और साझा-स्मृति के अर्थ में सेमाफ़ोर चाहने वाला कोई साझा चर नहीं — संगति प्रोटोकॉल, जो साझा स्मृति की कैश की गई प्रतिलिपियों को संगत रखने हेतु हैं, इस पर बस लागू ही नहीं होते।उस परिघटना का नाम बताइए जिसमें शक्ति-क्षय घड़ी-आवृत्ति के साथ अति-रैखिक रूप से बढ़ता है, जो प्रक्रमक अभिकल्प के निरंतर बढ़ती एकल-क्रोड घड़ी के बजाय अनेक क्रोड की ओर जाने का मुख्य कारण है।
संख्यात्मक उत्तर — मान टाइप करें।
उत्तर देखें
उत्तर: power wall
'शक्ति-दीवार' इस सीमा का मानक नाम है; यह, स्मृति-दीवार व अनुदेश-स्तरीय-समांतरता-दीवार के साथ, उन तीन दीवारों में से एक है जिन्हें सामान्यतः इस कारण उद्धृत किया जाता है कि एकल-थ्रेड प्रदर्शन-स्केलिंग क्यों धीमी हुई और बहु-क्रोड अभिकल्पों ने स्थान ले लिया।