तार्किक बनाम भौतिक सीपीयू प्रदर्शन


3

एक कंप्यूटर में 2 भौतिक कोर और 4 तार्किक कोर हैं (उदाहरण के लिए, i5-3210M प्रोसेसर वाला कंप्यूटर)।

जब कोई प्रोग्राम चलता है, htop दिखाता है कि यह 1 कोर के 100% का उपयोग करता है, और अन्य 3 कोर लगभग निष्क्रिय हैं। इस मामले में थ्रूपुट एक्स है।

मेरा सवाल है, अगर मैं 4 तार्किक कोर पर ए के 4 उदाहरण चलाता हूं, तो कुल प्रवाह 4X, या 2X है? क्या होगा अगर मैं केवल दो उदाहरण चलाऊं?

जवाबों:


1

इसकी अवधारणा कोर यह इतना आसान नहीं है। तार्किक कोर की संख्या हैं भौतिक कोर की संख्या सूत्र जो प्रत्येक कोर पर चल सकता है। इस रूप में जाना जाता है हाइपर थ्रेडिंग । यदि मेरे पास एक कंप्यूटर है जिसमें 4-कोर प्रोसेसर है, प्रति कोर दो धागे चलाता है, तो मेरे पास 8 तार्किक प्रोसेसर हैं। आप अपने कंप्यूटर की मुख्य क्षमताओं को चलाकर देख सकते हैं lscpu आदेश।

यदि एक प्रोसेसर में 4 कोर हैं, लेकिन यह समानांतर में 8 धागे चला सकता है, तो इसका मतलब है कि इसमें केवल 4 कोर (प्रोसेसिंग यूनिट) हैं। लेकिन यह 8 थ्रेड्स में हार्डवेयर सपोर्ट दे सकता है समानांतर । स्पष्ट रूप से अधिकतम 4 कार्य कोर में चल सकते हैं। कोर में चल रही एक नौकरी, अगर किसी भी तरह से स्टालों के लिए याद या I / O ऑपरेशन फिर एक और धागा उस मुफ्त कोर का उपयोग कर सकता है।

अब तक आप समझते हैं कि यदि आपके कंप्यूटर में 2 भौतिक कोर हैं, और प्रति कोर 2 धागे चला सकते हैं, तो आपके पास 4 हैं तार्किक प्रोसेसर । तो आप केवल 2 उदाहरण चला सकते हैं क्योंकि आपके पास 2 भौतिक कोर हैं, इसका मतलब है कि आप एकल भौतिक कोर (एक समय में 2 धागे) की पूर्ण क्षमताओं का उपयोग कर रहे हैं। तो थ्रूपुट 50% होगा। लेकिन अगर कभी भी एक धागा बेकार जाता है, तो कोर उस कोर पर एक धागा लोड कर सकता है।

आप इसे बंद कर सकते हैं हाइपर थ्रेडिंग में BIOS (कुछ इस तरह " इंटेल ht प्रौद्योगिकी ") और सामान्य और हाइपरथ्रेडिंग क्षमताओं के बीच अंतर देखें क्योंकि अब थ्रूपुट 100% होगा।


lscpu विंडोज 10 पर काम नहीं कर रहा है।
Chaminda Bandara

@Chamindabandra अपडेट और अपग्रेड करती है, फिर से प्रयास करें। इस समय काम करना चाहिए।
Animesh Patra

2

यहां तक ​​कि कार्यों की तुलना में कई अधिक कोर के साथ, उन्होंने पूरी तरह से पैमाने नहीं जीते। ऐसा इसलिए है क्योंकि कुछ राज्य लगभग हमेशा साझा होते हैं। जरूरी नहीं कि कार्य में, लेकिन उदाहरण के लिए कर्नेल। या वे उसी संसाधन तक पहुंच सकते हैं, जैसे नेटवर्क या डिस्क या जो भी हो।

श्रीमती (यानी हाइपर-थ्रेडिंग) इस तथ्य पर भरोसा कर सकता है कि विभिन्न कार्य विभिन्न सीपीयू निष्पादन इकाइयों का उपयोग करते हैं। इस तरह, तथाकथित "निर्देश-स्तर समानता" पर प्राप्त किया जा सकता है सुपरसेलकर सीपीयू । वस्तुतः कोई भी आधुनिक x86 प्रोसेसर सुपरसेलकर है।

यह मानते हुए कि आपके पास दो कार्य हैं जिनमें केवल अन्य सीपीयू निर्देशों के साथ संख्याओं को जोड़ना है, फिर हाँ, वे एक ही भौतिक कोर पर चलने पर संघर्ष करेंगे, संभवतया महत्वपूर्ण प्रदर्शन में गिरावट के लिए अग्रणी होगा।

हालांकि, ज्यादातर समय, यह मामला नहीं होता है और कई प्रकार के सामान होते हैं। जब तक एक ही समय पर (लगभग) दोनों अनुदेश धाराओं पर एक ही कमांड दिखाई नहीं देती, तब तक सीपीयू निष्पादन इकाई उपयोग में सुधार किया जा सकता है।


0

यदि प्रोग्राम के पास अलग-अलग उदाहरणों को समन्वित करने का कोई तरीका नहीं है, तो आपको लगभग निश्चित रूप से कोई सुधार नहीं मिलेगा।

उदाहरण:

यदि मेरे पास एक एकल थ्रेडेड प्रोग्राम है जो 2-10 से अपराधों की गणना करता है, तो इसे चलाने वाला एक एकल उदाहरण गणना करेगा यदि 2-10 से प्रत्येक संख्या अभाज्य है, और पाते हैं कि 2,3,5,7 प्रमुख हैं।

अगर मैं कोड में किसी संशोधन के बिना एक दूसरा उदाहरण जोड़ता हूं पहला उदाहरण यह गणना करेगा कि 2-10 से प्रत्येक संख्या अभाज्य है, और पाते हैं कि 2,3,5,7 अभाज्य हैं, जबकि दूसरा उदाहरण गणना करेगा यदि 2-10 से प्रत्येक संख्या अभाज्य है, और पाते हैं कि 2,3 , 5,7 प्रमुख हैं।

ऐसा करने के परिणामस्वरूप एक ही काम दो बार किया जाएगा जिससे कोई सुधार नहीं होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.