क्या मल्टी-कोर सीपीयू अभी भी आज की दुनिया में कम रिटर्न से पीड़ित हैं?


9

अन्य प्रश्नों में यह दिखाया गया है कि कंप्यूटर अनुप्रयोगों की स्थिति के कारण, मल्टी-कोर प्रोसेसर कम रिटर्न से ग्रस्त हैं। क्या आज भी दुनिया में ऐसा ही है?

क्या अधिकांश नए एप्लिकेशन मल्टी-थ्रेडिंग को गले लगाते हैं, और इस प्रकार कई कोर होने का लाभ उठाते हैं? यदि नहीं, तो नए 64-बिट OS की सहायता से विभिन्न कोर को कार्य / प्रक्रियाएँ बताकर कोर का लाभ उठाया जा सकता है? या क्या मल्टी-कोर प्रोसेसर अभी भी उसी (या समान) कम रिटर्न से पीड़ित हैं?

कृपया संदर्भों के साथ किसी भी दावे का बैकअप लें।


2
जब आपके पास कई थ्रेड्स के साथ कोई प्रोग्राम है, तो x64 ऑपरेटिंग सिस्टम पर होने से कोई फर्क नहीं पड़ेगा। 2008 और 2012 के बीच कंपाइलर लैंडस्केप अंतर बहुत बड़ा है। जब तक एक से अधिक थ्रेड्स पर कार्रवाई करने का एक आसान तरीका है, एक बार में कई थ्रेड्स निष्पादित करने की क्षमता वाला सीपीयू, व्यर्थ की तरह है। आज भी इसका अभी भी इतना आसान नहीं है।
रामहाउंड

जवाबों:


7

यह बहुत हद तक इस बात पर निर्भर करता है कि आप क्या करते हैं।

नियमित ol 'वर्ड और एक्सेल और माइनस्वीपर और जो कुछ भी आपकी माँ उपयोग करती है, उसके लिए एक कोर अभी भी पर्याप्त है और दो से अधिक ओवरकिल है। इस प्रकार के एप्लिकेशन उपयोगकर्ता इनपुट के लिए अधिकतर समय बेकार में बिताते हैं।

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

मल्टीमीडिया के लिए, वास्तविक संख्या क्रंचिंग, और विज्ञान हर कोर मायने रखता है। ये ऐसे कार्य हैं जो या तो स्वाभाविक रूप से बहुस्तरीय हैं या आसानी से किए जा सकते हैं, और डेवलपर्स के पास सभी उपलब्ध प्रसंस्करण शक्ति का लाभ उठाने के लिए मजबूत प्रोत्साहन है।

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


1
सामान्य तौर पर, अच्छा गेम AI कई क्रियाओं को समेटने से कहीं अधिक कठिन होता है। वह सिर्फ फैंसी जोड़ है। दूसरे, आप उन खेलों को मानते हैं जिनमें एक एकल केंद्रीय खेल राज्य है। यह जरूरी नहीं कि सच भी हो। यहां तक ​​कि अगर यह किया है, यह जरूरी नहीं कि या तो सूत्रण के लिए एक बाधा है। उदाहरण के लिए भौतिकी गणना आमतौर पर समानांतर में की जाती है। और अंत में, गेम्स में एक बड़ा ग्राफिक्स रेंडरिंग हिस्सा होता है, जो खुद को थ्रेडिंग की ओर ले जाता है।
MSalters

मुझे संदेह है कि एक एकल कोर कभी सही विकल्प है (बस एक्सेल में एक बहुत ही धीमा सूत्र डाल दिया ...) और मुझे लगता है कि आप थोड़ा सा सरल कर रहे हैं। किस बारे में, उदाहरण के लिए, नए प्रोसेसर पर टर्बो कोर (एएमडी) / टर्बो बूस्ट (इंटेल) की सुविधा है? यह मेरे हेक्स-कोर एएमडी को आधा पार्क करने की अनुमति देता है और दूसरी छमाही को तेज गति से चलाता है - और इंटेल का संस्करण और भी बारीक रूप से दाने वाला है, मेरा मानना ​​है - इसलिए प्रोसेसर आवश्यक कार्य के लिए मक्खी पर फिर से अनुकूलन कर सकता है यह। क्या यह उन्हें बेहतर विकल्प बनाता है? इस मुद्दे को केवल वास्तविक-विश्व माप और बेंचमार्क द्वारा ही ठीक से संबोधित किया जा सकता है।
DMA57361

मैं @ DMA57361 से पूरी तरह सहमत हूं कुछ साल पहले मेरे अंकल ने अपने पूर्व-किशोर बच्चों के लिए कई सिंगल कोर एएमडी कंप्यूटर खरीदे। पृष्ठभूमि प्रक्रियाओं (विंडोज अपडेट सबसे प्रबल अपराधी होने के नाते) नियमित रूप से उन्हें सीपीयू को अधिकतम करके एक समय में मिनटों के लिए लगभग अनुपयोगी बना दिया।
डैन नीली

हाइपरथ्रेडिंग मत भूलना। अधिक उन्नत इंटेल प्रोसेसर प्रत्येक कोर में रजिस्टरों का एक अतिरिक्त सेट प्रदान करके और अतिरिक्त मल्टीटास्किंग प्रदर्शन को बढ़ाने के लिए एक ही समय में प्रत्येक प्रोसेसर कोर के विभिन्न भागों का उपयोग करने की अनुमति देकर अतिरिक्त प्रोसेसर कोर का अनुकरण कर सकते हैं।
bwDraco

3 डी प्रतिपादन एक और है जो एक बड़ा लाभ दिखाता है। यदि आप एक एनिमेटर या ग्राफिक डिजाइनर हैं और बहुत सारे रेंडर करते हैं; सभी पेशेवर स्तर के सॉफ्टवेयर का फायदा है कि आपकी मशीन को हर कोर का लाभ उठाना पड़ता है (और नेटवर्क क्लस्टर्स के मामले में)। प्रदर्शन कोर की संख्या के साथ रैखिक पैमाने पर होगा।
जेसन सी

5

मुझे डर है कि उत्तर अभी भी है, क्योंकि यह हमेशा रहा है, "यह इस बात पर निर्भर करता है कि आप क्या कर रहे हैं"।

हां, अधिक से अधिक कोर जोड़ने से रिटर्न कम हो रहा है, और हमेशा ऐसा होगा यदि आप एक बार में केवल एक ही एप्लिकेशन चलाते हैं

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

यह ध्यान देने योग्य है कि कुछ "बड़े" अनुप्रयोग हैं जो बहु-थ्रेडेड नहीं हैं (बस अपने ओएस के टास्क मैनेजर समकक्ष की जांच करें, यह आपको यह बताने में सक्षम होना चाहिए कि प्रत्येक प्रक्रिया में कितने हैं - मेरा फ़ायरफ़ॉक्स वर्तमान में 31 का उपयोग कर रहा है, उदाहरण के लिए )।

बेशक, कई गैर-अन्योन्याश्रित अनुप्रयोगों को चलाना इन सीमाओं से बाध्य नहीं है। जैसा कि आप अधिक कोर जोड़ते हैं आप प्रसंस्करण प्रदर्शन में थोड़ी गिरावट (हार्ड ड्राइव, नेटवर्किंग, आदि) के साथ अधिक अनुप्रयोगों को समवर्ती रूप से चला सकते हैं, हालांकि प्रदर्शन अच्छी तरह से स्केल नहीं करता है)। व्यवहार में, यहां तक ​​कि यह भी कम रिटर्न के अधीन है क्योंकि कोर, संचार पाइपलाइनों और इतने पर के बीच काम के वितरण का प्रबंधन करने के लिए एक अपरिहार्य ओवरहेड है।

उदाहरण के लिए, यह टॉम की हार्डवेयर पोस्ट (2009 से) एक साथ अनुप्रयोगों के तहत कुछ मल्टी-कोर प्रोसेसर के प्रदर्शन को देखने का प्रयास करता है - एक एवीजी स्कैन के साथ एक खेल चल रहा है (दोनों जिनमें से शायद बहु-थ्रेडेड हैं)। क्वाड-, ट्राई और ड्यूल-कोर प्रोसेसर सभी केवल गेम के साथ समान प्रदर्शन करते हैं, लेकिन साथ-साथ एवीजी स्कैन और प्रदर्शन (औसत एफपीएस द्वारा मापा जाता है) क्रमशः 22%, 40% और 59% तक गिरते हैं।

इसलिए, जबकि एक क्वाड कोर ने एक गहन अनुप्रयोग को चलाने पर दोहरे कोर पर कोई प्रदर्शन बढ़ाने की पेशकश नहीं की, जैसे ही एक और गहन कार्य दिखाई दिया, यह प्रदर्शनकर्ता के रूप में दो बार समाप्त हो गया। दुर्भाग्य से, मैं और नहीं मिल सकता है जो यह जांचता है कि अधिक कोर और अधिक गहन कार्यों के साथ यह कितना अच्छा है।


और फिर आपको प्रोसेसर के आधुनिक फीचर्स पर ध्यान देना होगा जैसे इंटेल का टर्बो बूस्ट / एएमडी का टर्बो कोर। ये विशेष सुविधाएँ एक मल्टी-कोर प्रोसेसर की अनुमति देती हैं, जो कोर को पार्क करता है (उन्हें धीमी, कम शक्ति, मोड में डालें) और अतिरिक्त ऊर्जा का उपयोग उन कोर को ओवरक्लॉक करने के लिए करें जो सक्रिय रहते हैं - प्रोसेसर को स्वयं को अधिक प्रसंस्करण शक्ति प्रदान करने के लिए अनुकूलित करने की अनुमति देता है। जितना संभव हो उतने कार्यों के लिए इसे प्रस्तुत किया जाता है।


2

आग में ईंधन जोड़ने के लिए, मैंने यहां पढ़ा कि Android वास्तव में एक से अधिक कोर होने से धीमा है:

मल्टी-कोर प्रोसेसर का उपयोग वास्तव में एंड्रॉइड डिवाइस को धीमा कर सकता है, माइक बेल ने कहा, इंटेल के मोबाइल और संचार समूह के महाप्रबंधक, जो प्रभावी सीपीयू को प्रभावी ढंग से संभालने में ऑपरेटिंग सिस्टम की कठिनाई के लिए एंड्रॉइड की मल्टी-थ्रेडिंग क्षमता या इसके अभाव का दोष देते हैं।

किसी डिवाइस में जितनी अधिक कोर होती है, उतनी ही अधिक शक्ति की आवश्यकता होती है - और, कुछ समय के लिए, एंड्रॉइड डिवाइसों को संतुलित करने के लिए बिजली की मात्रा बहुत अधिक होती है।


हम्म, यह आपके मूल प्रश्न को बेहतर तरीके से संपादित नहीं करेगा?
जर्नीमैन गीक

मैं सोच रहा हूं कि यह पूरा धागा एक समुदाय विकि / FAQ में बदल जाएगा, और सोचा कि इस सवाल को छोड़ना सबसे अच्छा होगा, और इसे अलग से जोड़ना होगा। @Moderators - इस जवाब को सवाल के साथ मिला दिया जाना चाहिए या जैसा है वैसे ही छोड़ दिया जाना चाहिए?
ऋषिमहाराज

0

बेशक, यह इस बात पर निर्भर करता है कि आप क्या कर रहे हैं, लेकिन हां, कम रिटर्न है।

वर्ड प्रोसेसिंग या वेब ब्राउजिंग जैसे सरल, रोज़मर्रा के अनुप्रयोगों में दो से अधिक प्रोसेसर कोर होने से बहुत कम लाभ होता है। वैज्ञानिक कंप्यूटिंग और गेमिंग एप्लिकेशन चार (या अधिक) कोर और / या हाइपरथ्रेडिंग क्षमता का बेहतर उपयोग करते हैं क्योंकि वे आधुनिक हार्डवेयर का अधिकतम उपयोग करने के लिए डिज़ाइन किए जाते हैं, लेकिन चार से अधिक कोर का लाभ सीमित है।

इसके अलावा, सब कुछ कम्प्यूट-बाउंड नहीं है। यदि आपका कार्यभार I / O बाध्य है, तो प्रोसेसर कोर जोड़ने से कोई मदद नहीं मिलेगी। यदि आपने कभी किसी यांत्रिक हार्ड ड्राइव को बदलने के लिए SSD स्थापित किया है, तो आप शायद जानते होंगे कि आपके कंप्यूटर के स्टोरेज की तुलना में रोजमर्रा की कंप्यूटिंग का प्रदर्शन अधिक बार सीमित होता है। व्यस्त सर्वर वातावरण में जहां बड़ी संख्या में कोर का उपयोग सिस्टम को बड़ी संख्या में उपयोगकर्ताओं और अनुरोधों को एक साथ संभालने के लिए किया जाता है, विशेष डिस्क सरणियों, एसएसडी, और अन्य स्टोरेज सिस्टम का उपयोग लोड के तहत अधिकतम प्रदर्शन सुनिश्चित करने के लिए किया जाता है।

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