आप मल्टी-कोर प्रोसेसर पर प्रोसेसर स्पीड की गणना कैसे करते हैं?

विषयसूची:

आप मल्टी-कोर प्रोसेसर पर प्रोसेसर स्पीड की गणना कैसे करते हैं?
आप मल्टी-कोर प्रोसेसर पर प्रोसेसर स्पीड की गणना कैसे करते हैं?

वीडियो: आप मल्टी-कोर प्रोसेसर पर प्रोसेसर स्पीड की गणना कैसे करते हैं?

वीडियो: आप मल्टी-कोर प्रोसेसर पर प्रोसेसर स्पीड की गणना कैसे करते हैं?
वीडियो: Complete Guide to Tripods - What to choose & when to use? - YouTube 2024, जुलूस
Anonim
आर्थिक उपभोक्ता ग्रेड बहु-कोर प्रोसेसर का आगमन कई उपयोगकर्ताओं के लिए सवाल उठाता है: आप बहु-कोर सिस्टम की वास्तविक गति को प्रभावी ढंग से कैसे गणना करते हैं? क्या 4-कोर 3 जीएचज़ सिस्टम वास्तव में 12 गीगा है? जैसा कि हम जांच करते हैं पढ़ें।
आर्थिक उपभोक्ता ग्रेड बहु-कोर प्रोसेसर का आगमन कई उपयोगकर्ताओं के लिए सवाल उठाता है: आप बहु-कोर सिस्टम की वास्तविक गति को प्रभावी ढंग से कैसे गणना करते हैं? क्या 4-कोर 3 जीएचज़ सिस्टम वास्तव में 12 गीगा है? जैसा कि हम जांच करते हैं पढ़ें।

आज का प्रश्न और उत्तर सत्र सुपरयूसर की सौजन्य है - स्टैक एक्सचेंज का एक उपविभाग, क्यू एंड ए वेब साइट्स का एक समुदाय-ड्राइव समूह।

प्रश्न

सुपरयूसर रीडर एनआरलिंगिंग उत्सुक था कि एक बहु-कोर सिस्टम के लिए प्रोसेसर की गति वास्तव में गणना की जाती है:

Is it correct to say, for example, that a processor with four cores each running at 3GHz is in fact a processor running at 12GHz?

I once got into a “Mac vs. PC” argument (which by the way is NOT the focus of this topic… that was back in middle school) with an acquaintance who insisted that Macs were only being advertised as 1Ghz machines because they were dual-processor G4s each running at 500MHz.

At the time I knew this to be hogwash for reasons I think are apparent to most people, but I just saw a comment on this website to the effect of “6 cores x 0.2GHz = 1.2Ghz” and that got me thinking again about whether there’s a real answer to this.

So, this is a more-or-less philosophical/deep technical question about the semantics of clock speed calculation. I see two possibilities:

  1. Each core is in fact doing x calculations per second, thus the total number of calculations is x(cores).
  2. Clock speed is rather a count of the number of cycles the processor goes through in the space of a second, so as long as all cores are running at the same speed, the speed of each clock cycle stays the same no matter how many cores exist. In other words, Hz = (core1Hz+core2Hz+…)/cores.

तो कुल घड़ी की गति को दर्शाने का उचित तरीका क्या है और, सबसे महत्वपूर्ण बात यह है कि बहु-कोर सिस्टम पर एकल-कोर गति नामकरण का उपयोग करना भी संभव है?

उत्तर

SuperUser योगदानकर्ता Mokubai चीजों को स्पष्ट करने में मदद करता है। वह लिखता है:

The main reason why a quad-core 3GHz processor is never as fast as a 12GHz single core is to do with how the task running on that processor works, i.e. single-threaded or multi-threaded. Amdahl’s Law is important when considering the types of tasks you are running.

If you have a task that is inherently linear and has to be done precisely step-by-step such as (a grossly simple program)

10: a = a + 1

20: goto 10

फिर कार्य पिछले पास के परिणाम पर अत्यधिक निर्भर करता है और इसके मूल्य को दूषित किए बिना स्वयं की कई प्रतियां नहीं चला सकता है

'a'

क्योंकि प्रत्येक प्रति का मूल्य प्राप्त होगा

'a'

अलग-अलग समय पर और इसे अलग-अलग लिखना। यह कार्य को एक धागे पर प्रतिबंधित करता है और इस प्रकार कार्य किसी भी समय किसी भी समय एक ही कोर पर चल रहा है, अगर इसे एकाधिक कोर पर चलाना था तो सिंक्रनाइज़ेशन भ्रष्टाचार होगा। यह इसे दोहरी कोर प्रणाली की सीपीयू शक्ति के 1/2 तक, या क्वाड कोर सिस्टम में 1/4 तक सीमित करता है।

अब एक कार्य करें जैसे कि:

10: a = a + 1

20: b = b + 1

30: c = c + 1

40: d = d + 1

50: goto 10

ये सभी पंक्तियां स्वतंत्र हैं और उन्हें पहले के समान 4 अलग-अलग कार्यक्रमों में विभाजित किया जा सकता है और एक ही समय में चलाया जा सकता है, प्रत्येक कोई भी सिंक्रनाइज़ेशन समस्या के बिना कोर में से किसी एक की पूर्ण शक्ति का प्रभावी उपयोग करने में सक्षम होता है, यह वह जगह है जहां अमाहल का कानून इसमें आता है

तो यदि आपके पास एक एकल थ्रेडेड एप्लिकेशन है जो ब्रूट फोर्स की गणना करता है तो एकल 12GHz प्रोसेसर हाथ से जीत जाएगा, अगर आप किसी भी तरह से कार्य को अलग-अलग हिस्सों और बहु-थ्रेडेड में विभाजित कर सकते हैं तो 4 कोर करीब आ सकते हैं, लेकिन काफी पहुंच नहीं सकते हैं, अमाहल के कानून के अनुसार, वही प्रदर्शन।

मुख्य बात यह है कि एक बहु CPU प्रणाली आपको प्रतिक्रिया देता है। एक कोर मशीन पर जो कड़ी मेहनत कर रहा है, सिस्टम सुस्त लग सकता है क्योंकि अधिकांश समय एक कार्य द्वारा उपयोग किया जा सकता है और अन्य कार्य केवल बड़े कार्य के बीच में छोटे विस्फोटों में चलते हैं, जिसके परिणामस्वरूप एक सुस्त या जड़ लगती है । एक बहु-कोर सिस्टम पर भारी कार्य एक कोर प्राप्त होता है और अन्य सभी कार्य अन्य कोरों पर खेलते हैं, अपनी नौकरियों को जल्दी और कुशलतापूर्वक करते हैं।

"6 कोर x 0.2GHz = 1.2 गीगा" का तर्क हर परिस्थिति में बकवास है, सिवाय इसके कि कार्य पूरी तरह से समानांतर और स्वतंत्र हैं। ऐसे कार्यों की एक अच्छी संख्या है जो अत्यधिक समानांतर हैं, लेकिन उन्हें अभी भी कुछ प्रकार के सिंक्रेशनेशन की आवश्यकता होती है। हैंडब्रैक एक वीडियो ट्रांकोडर है जो उपलब्ध सभी सीपीयू का उपयोग करने में बहुत अच्छा है लेकिन इसे अन्य थ्रेड को डेटा से भरने के लिए कोर प्रक्रिया की आवश्यकता होती है और डेटा को एकत्रित किया जाता है।

प्रत्येक कोर वास्तव में प्रति सेकंड एक्स गणना कर रहा है, इस प्रकार गणना की कुल संख्या x (कोर) है।

प्रत्येक कोर प्रति सेकंड एक्स गणना करने में सक्षम है, मानते हैं कि वर्कलोड उपयुक्त समानांतर है, आपके पास एक रैखिक प्रोग्राम पर 1 कोर है।

घड़ी की गति एक दूसरे के स्थान पर प्रोसेसर के माध्यम से चक्रों की संख्या की गिनती है, इसलिए जब तक सभी कोर एक ही गति से चल रहे हों, तब तक प्रत्येक घड़ी चक्र की गति वही रहती है चाहे कितने कोर मौजूद हों । दूसरे शब्दों में, एचजे = (कोर 1 हर्ट्ज + कोर 2 हर्ट्ज + …) / कोर।

मुझे लगता है कि यह सोचने की झूठ है कि 4 x 3GHz = 12GHz, गणित कार्य प्रदान करता है, लेकिन आप संतरे से संतरे की तुलना कर रहे हैं और रकम सिर्फ सही नहीं हैं, GHz को हर स्थिति के लिए बस एक साथ जोड़ा नहीं जा सकता है। मैं इसे 4 x 3GHz = 4 x 3GHz में बदल दूंगा।

स्पष्टीकरण में जोड़ने के लिए कुछ है? टिप्पणियों में आवाज उठाओ। अन्य तकनीक-समझदार स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तरों पढ़ना चाहते हैं? यहां पूर्ण चर्चा धागा देखें।

सिफारिश की: