मैंने हाइपर-थ्रेडिंग और मल्टी-थ्रेडिंग शब्द सुना है, लेकिन वास्तव में उनके बीच अंतर क्या है? इंटेल प्रोसेसर किस तरह का उपयोग करता है?
मैंने हाइपर-थ्रेडिंग और मल्टी-थ्रेडिंग शब्द सुना है, लेकिन वास्तव में उनके बीच अंतर क्या है? इंटेल प्रोसेसर किस तरह का उपयोग करता है?
जवाबों:
मल्टीथ्रेडिंग एक ऑपरेटिंग सिस्टम के भीतर निष्पादन के एक से अधिक धागे को चलाने के सामान्य कार्य को संदर्भित करता है। मल्टीथ्रेडिंग को सामान्य रूप से "मल्टीप्रोसेसिंग" कहा जाता है, जिसमें कई सिस्टम प्रक्रियाएं शामिल हो सकती हैं (विंडोज पर एक सरल उदाहरण होगा, उदाहरण के लिए, एक ही समय में इंटरनेट एक्सप्लोरर और माइक्रोसॉफ्ट वर्ड चलाना), या इसमें एक प्रक्रिया शामिल हो सकती है जिसमें कई थ्रेड होते हैं। यह।
मल्टीथ्रेडिंग (या मुझे कहना चाहिए, मल्टीप्रोसेसिंग) एक सॉफ्टवेयर अवधारणा है। व्यावहारिक रूप से कोई भी ट्यूरिंग-पूर्ण सीपीयू मल्टीथ्रेडिंग कर सकता है, भले ही कंप्यूटर में केवल एक सीपीयू कोर हो और वह कोर हाइपरथ्रेडिंग का समर्थन नहीं करता हो। समर्थन बहु करने के लिए, सीपीयू होगा बिछा एक को क्रियान्वित करने, फिर एक और, फिर एक और, जहां ऑपरेटिंग सिस्टम "स्लाइस" में समय उपलब्ध विभाजित होगा द्वारा निष्पादन, के विभिन्न धागे के निष्पादन और करने के लिए समय की लगभग बराबर राशि देने प्रत्येक थ्रेड (समय के बराबर होने की आवश्यकता नहीं है, लेकिन आमतौर पर यह कैसे किया जाता है जब तक कि कोई प्रक्रिया उच्च प्राथमिकता का अनुरोध न करे)।
ध्यान दें, जब भी निष्पादन के अधिक सॉफ़्टवेयर थ्रेड्स उपलब्ध हैं , तो किसी भी समय निष्पादित करने की कोशिश कर रहे हैं उपलब्ध हार्डवेयर (एक साथ) निष्पादन के थ्रेड्स हैं, तो ये सॉफ़्टवेयर थ्रेड उपलब्ध कोर के बीच "इंटरलीव्ड" होंगे। एक "यूनीप्रोसेसर" (बिना हाइपरथ्रेडिंग वाला एक सीपीयू कोर) के मामले में, यदि आपके पास एक से अधिक सॉफ़्टवेयर थ्रेड हैं, तो वे हमेशा रहेंगेदखल देना। यदि आपके पास हाइपरथ्रेडिंग के साथ 4-कोर सीपीयू है, तो यह 8 "हार्डवेयर थ्रेड्स" है, जिसका अर्थ है कि सीपीयू एक ही समय में 8 एक साथ निष्पादन के थ्रेड निष्पादित कर सकता है, इसलिए यदि आपके पास 8 सॉफ़्टवेयर थ्रेड्स चलाने की कोशिश कर रहे हैं, तो वे सभी एक ही बार में चल सकते हैं। ; लेकिन अगर आपके पास 9 सॉफ़्टवेयर थ्रेड्स हैं, तो हार्डवेयर थ्रेड्स में से एक थ्रेड की एक जोड़ी को इंटरलेव करना होगा (चुने गए थ्रेड्स की सटीक जोड़ी ऑपरेटिंग सिस्टम के शेड्यूलर कार्यान्वयन पर निर्भर करेगी)।
दूसरी ओर, हाइपरथ्रेडिंग, इंटेल द्वारा बनाई गई एक बहुत ही विशिष्ट हार्डवेयर तकनीक को संदर्भित करता है , जो एकल प्रोसेसर कोर को निष्पादन के कई थ्रेडों को अधिक कुशलतापूर्वक इंटरलेक्ट करने की अनुमति देता है। दूसरे शब्दों में, हाइपरथ्रेडिंग वाला एक सीपीयू प्रदर्शन प्रदान करने वाला है जो कि सीपीयू की तुलना में कुछ अधिक है, जो अन्यथा समान है लेकिन हाइपरथ्रेडिंग के बिना है, क्योंकि हाइपरथ्रेडेड सीपीयू समवर्ती रूप से दो (कभी-कभी अधिक, लेकिन हाइपरथ्रेडिंग आमतौर पर 2- शेष होता है) तरीका) किसी दिए गए कोर पर निष्पादन के धागे।
हालांकि, हाइपरथ्रेडिंग पूरी तरह से अलग शारीरिक कोर होने से कड़ाई से धीमा है, क्योंकि कुछ प्रकार के ऑपरेशन हैं जो हाइपरथ्रेडिंग के प्रदर्शन लाभ को बाधित कर सकते हैं, जबकि कम ऑपरेशन हैं जो इस तरह की घटना को पूरी तरह से अलग कोर के साथ पैदा कर सकते हैं।
निम्नलिखित उदाहरण लें, जहां "1 कोर" को सभी उदाहरणों में बिल्कुल समान माना जाता है:
उदाहरण 1: 2 कोर, कोई हाइपरथ्रेडिंग नहीं।
उदाहरण 2: 4 कोर, कोई हाइपरथ्रेडिंग नहीं।
उदाहरण 3: हाइपरथ्रेडिंग के साथ 2 कोर।
उदाहरण 4: हाइपरथ्रेडिंग के साथ 4 कोर।
इस मामले में, उदाहरण 4 हमेशा सबसे तेज होगा। उदाहरण 2 कभी-कभी उदाहरण 4 के रूप में उपवास के बारे में हो सकता है, काम के बोझ पर जो हाइपरथ्रेडिंग के अनुकूलन का लाभ उठाने के लिए बेहद खराब हैं।
उदाहरण 3, दूसरी ओर, कभी-कभी, वर्कलोड पर जहां हाइपरथ्रेडिंग सबसे अधिक लाभकारी हो सकता है, उदाहरण 2 के रूप में लगभग उतना ही तेज़ हो, भले ही इसमें कई भौतिक कोर के रूप में आधा हो।
उदाहरण 1 बेशक, सभी उदाहरणों में से सबसे धीमा होगा, लेकिन यह कभी-कभी उदाहरण 3 के रूप में तेजी से हो सकता है, जब हाइपरथ्रेडिंग के लिए खराब तरीके से काम का बोझ चल रहा हो।
आधुनिक इंटेल सीपीयू के साथ वास्तविक दुनिया के बेंचमार्क में, हम आमतौर पर हाइपरथ्रेडिंग परिणामों में, हाइपरथ्रेडिंग फ़ीचर को अक्षम करके "हाइपरथ्रेडिंग" मामले को बेंचमार्क किए जाने की तुलना में (आमतौर पर हाइपरथ्रेडिंग "मामले के साथ प्रदर्शन में 20% से 40% सुधार, हाइपरथ्रेडिंग परिणाम आमतौर पर पाते हैं।" BIOS)। कभी-कभी ऐसे वर्कलोड होंगे जहां हाइपरथ्रेडिंग को अक्षम करना एक प्रदर्शन लाभ दिखाता है , लेकिन वास्तविक उपयोग में ये वर्कलोड दुर्लभ हो सकते हैं। लेकिन, अगर मेरे पास हाइपरथ्रेडिंग या 8 कोर के साथ 4 कोर के बीच एक विकल्प था, तो यह मानते हुए कि प्रत्येक कोर का स्वयं का प्रदर्शन समान है, मैं हर बार 8 कोर सीपीयू चुनूंगा।
मल्टीथ्रेडिंग ऑपरेटिंग सिस्टम स्तर पर समानांतर प्रसंस्करण के लिए एक शब्द है। प्रोसेसर का मल्टीथ्रेडिंग से कोई लेना-देना नहीं है।
हाइपरथ्रेडिंग एक इंटेल की अवधारणा है जो एकल प्रोसेसर कोर में कई थ्रेड्स के "एक साथ" प्रसंस्करण को लागू करता है। ऑपरेटिंग सिस्टम दो प्रोसेसर कोर देखता है, हालांकि केवल एक भौतिक कोर है।