समानांतर और मल्टीकोर आर्किटेक्चर
समानांतर और मल्टीकोर आर्किटेक्चर ऐसे हार्डवेयर से संबंधित है जो एक साथ कई ऑपरेशन निष्पादित करता है — एक चिप पर कई कोर, वेक्टर और SIMD इकाइयाँ, और बड़े पैमाने पर समानांतर GPU — साथ ही मेमोरी और संचार संरचनाएँ जो समानांतर कार्य को सही ढंग से और कुशलता से आगे बढ़ने देती हैं।
Definition
समानांतर और मल्टीकोर आर्किटेक्चर कंप्यूटर हार्डवेयर का डिज़ाइन है जो प्रतिकृति कोर, वाइड डेटा-समानांतर इकाइयों, या विशेष त्वरक के माध्यम से एक साथ कई गणनाएँ करता है, साथ ही उन्हें समन्वित करने वाले इंटरकनेक्ट और मेमोरी तंत्र भी इसमें शामिल हैं।
Scope
यह क्षेत्र समानांतरता के लिए हार्डवेयर संगठनों को शामिल करता है: चिप मल्टीप्रोसेसर और मल्टी-कोर डिज़ाइन, साझा-मेमोरी सिस्टम और उन्हें आवश्यक सुसंगतता और संगति, डेटा-स्तर समानांतरता के लिए SIMD और वेक्टर प्रोसेसर, और GPU आर्किटेक्चर। यह बताता है कि समानांतर हार्डवेयर कैसे बनाया जाता है और इसका प्रदर्शन कैसे बढ़ता है। इसमें समानांतर और वितरित प्रोग्रामिंग के सॉफ्टवेयर पक्ष और क्लस्टर-स्केल वितरित सिस्टम शामिल नहीं हैं, जिन्हें वितरित और समानांतर कंप्यूटिंग के तहत कवर किया गया है, और प्रोसेसर माइक्रोआर्किटेक्चर के तहत कवर किया गया सिंगल-कोर निष्पादन इंजन भी इसमें शामिल नहीं है।
Sub-topics
Core questions
- समानांतर हार्डवेयर प्रदर्शन को कैसे बढ़ाता है, और उस वृद्धि को क्या सीमित करता है?
- एक चिप पर कई कोर कैसे एकीकृत होते हैं और साझा मेमोरी से कैसे जुड़ते हैं?
- साझा-मेमोरी हार्डवेयर को कौन सी मेमोरी संगति और सुसंगतता गारंटी प्रदान करनी चाहिए?
- SIMD, वेक्टर और GPU डिज़ाइन डेटा-स्तर समानांतरता का कैसे लाभ उठाते हैं?
- प्रति वाट उपयोगी थ्रूपुट को अधिकतम करने के लिए समानांतर आर्किटेक्चर को कार्यभार से कैसे मिलाया जाता है?
Key concepts
- चिप मल्टीप्रोसेसर
- थ्रेड-स्तर समानांतरता
- डेटा-स्तर समानांतरता
- SIMD और वेक्टर प्रोसेसिंग
- GPU और मल्टी-कोर
- साझा मेमोरी और सुसंगतता
- मेमोरी संगति
- इंटरकनेक्शन नेटवर्क
- एमडाहल का नियम और स्केलेबिलिटी
- सिंक्रनाइज़ेशन हार्डवेयर
Key theories
- एमडाहल का नियम
- एक गणना को समानांतर करने से मिलने वाली गति उस अंश से सीमित होती है जिसे क्रमिक रूप से चलाना चाहिए: असीमित प्रोसेसर के साथ भी, सीरियल भाग समग्र गति को सीमित करता है, जो यह निर्धारित करता है कि समानांतर आर्किटेक्चर को कैसे डिज़ाइन और मूल्यांकन किया जाता है।
- फ्लिन-शैली समानांतरता वर्गीकरण
- समानांतर हार्डवेयर को इस बात से व्यवस्थित किया जाता है कि निर्देश और डेटा स्ट्रीम कैसे संयोजित होते हैं — उदाहरण के लिए डेटा समानांतरता के लिए सिंगल-इंस्ट्रक्शन मल्टीपल-डेटा (SIMD) और मल्टीकोर और मल्टीप्रोसेसर सिस्टम के लिए मल्टीपल-इंस्ट्रक्शन मल्टीपल-डेटा (MIMD) — एक वर्गीकरण जो वास्तुशिल्प विकल्पों को फ्रेम करता है।
Mechanisms
मल्टीकोर प्रोसेसर एक ही डाई पर कई कोर रखते हैं जो एक या अधिक कैश स्तरों और एक मेमोरी इंटरफ़ेस को साझा करते हैं, जो एक ऑन-चिप इंटरकनेक्ट द्वारा जुड़े होते हैं। सुसंगतता प्रोटोकॉल उनके कैश को सुसंगत रखते हैं, और एक मेमोरी संगति मॉडल कोर में देखी गई मेमोरी ऑपरेशंस के क्रम को परिभाषित करता है। डेटा-समानांतर हार्डवेयर — वेक्टर इकाइयाँ, SIMD लेन, और कई हल्के कोर वाले GPU — कई डेटा तत्वों पर एक ऑपरेशन लागू करते हैं, जबकि सिंक्रनाइज़ेशन प्रिमिटिव समानांतर थ्रेड्स को समन्वित करते हैं।
Clinical relevance
सिंगल-कोर क्लॉक स्केलिंग के रुकने के बाद, समानांतर और मल्टीकोर आर्किटेक्चर उच्च प्रदर्शन का प्राथमिक मार्ग बन गया, इसलिए वस्तुतः सभी आधुनिक प्रोसेसर मल्टीकोर हैं। GPU और SIMD इकाइयाँ अब ग्राफिक्स, वैज्ञानिक कंप्यूटिंग और डीप लर्निंग के केंद्र में मैट्रिक्स ऑपरेशंस को शक्ति प्रदान करती हैं, जिससे समानांतर हार्डवेयर उच्च-प्रदर्शन और कृत्रिम-खुफिया कार्यभार के लिए केंद्रीय बन गया है।
History
समानांतर मशीनें 1970 के दशक में क्रे-1 जैसे वेक्टर सुपरकंप्यूटर और 1980 और 1990 के दशक के अनुसंधान मल्टीप्रोसेसरों से संबंधित हैं। 2000 के दशक के मध्य के आसपास आवृत्ति स्केलिंग के अंत ने उद्योग को मल्टीकोर चिप्स की ओर धकेल दिया। GPU फिक्स्ड-फंक्शन ग्राफिक्स पाइपलाइनों से प्रोग्रामेबल मल्टी-कोर त्वरक में विकसित हुए, और डेटा-समानांतर आर्किटेक्चर आधुनिक मशीन लर्निंग के लिए मूलभूत बन गए।
Debates
- सामान्य-उद्देश्य मल्टीकोर बनाम विशेष त्वरक
- सजातीय मल्टीकोर से घटते प्रतिफल के साथ, इस बात पर बहस है कि डोमेन-विशिष्ट त्वरक (GPU, टेंसर इकाइयाँ) बनाम सामान्य-उद्देश्य कोर को कितनी दूर तक पसंद किया जाए, जो विशेष कार्यभार के लिए दक्षता के मुकाबले प्रोग्रामेबिलिटी और लचीलेपन का व्यापार करता है।
Key figures
- Gene Amdahl
- Michael J. Flynn
- John L. Hennessy
- David A. Patterson
- David E. Culler
Related topics
Seminal works
- hennessy2019
- amdahl1967
- patterson2020
Frequently asked questions
- प्रोसेसर मल्टीपल कोर में क्यों चले गए?
- एकल कोर की क्लॉक आवृत्ति बढ़ाने से 2000 के दशक के मध्य में बिजली और गर्मी की सीमाएँ आ गईं। अधिक कोर जोड़ने से उसी बिजली बजट के भीतर कुल थ्रूपुट बढ़ गया, इसलिए मल्टीकोर प्रदर्शन को बढ़ाने का प्रमुख तरीका बन गया — हालांकि यह गति बढ़ाने का बोझ समानांतर सॉफ्टवेयर पर डालता है।
- एक GPU एक मल्टीकोर CPU से कैसे भिन्न है?
- एक CPU में कुछ शक्तिशाली कोर होते हैं जो कम-विलंबता, सामान्य-उद्देश्य निष्पादन के लिए अनुकूलित होते हैं। एक GPU में कई सरल कोर होते हैं जो उच्च-थ्रूपुट डेटा-समानांतर कार्य के लिए अनुकूलित होते हैं, जो कई डेटा तत्वों पर एक ही ऑपरेशन को निष्पादित करते हैं, जो ग्राफिक्स और सघन संख्यात्मक गणना के लिए उपयुक्त है लेकिन सभी कार्यभार के लिए नहीं।