मैं कुछ नए सीपीयू जैसे Intel Xeon "Nehalem-EX" के लिए साहित्य में 8 कोर और 16 धागे के रूप में देख रहा हूं। वे यहाँ किस बारे में बात कर रहे हैं? मैंने संदर्भ में इसका उल्लेख उल्लेख किया है, इसलिए SPARCS भी, निश्चित रूप से यह कोड द्वारा उत्पन्न तार्किक धागे की तरह नहीं है? क्या यह हाइपरथ्रेडिंग फिर से नामित है?एक सीपीयू थ्रेड क्या है और यह कोड में तार्किक धागे से कैसे संबंधित है?
उत्तर
हाँ, Nehalem-based प्रोसेसर Hyper-threading लागू।
नया नेहलेम-एक्स जिसे आप संदर्भित करते हैं, में 8 भौतिक कोर होते हैं जहां प्रत्येक कोर को कुल 16 लॉजिकल कोर के लिए 2 लॉजिकल कोर के रूप में देखा जा सकता है, जो एकल प्रोसेसर पर 16 अनुप्रयोग धागे को निष्पादित करने की इजाजत देता है।
यह वही तकनीक है जो हाइपर-थ्रेडिंग-सक्षम पेंटियम 4 प्रोसेसर में और हाल ही में, एटम प्रोसेसर पर उपयोग की जाती है। माई ईई पीसी में एक सिंगल कोर एटम प्रोसेसर है जिसमें दो लॉजिकल कोर हैं - विंडोज टास्क मैनेजर दो सीपीयू ग्राफ दिखाएगा; प्रत्येक लॉजिकल कोर के लिए एक।
सूर्य की UltraSPARC T2 (और T1) भी simultaneous multithreading (जिनमें से इंटेल के कार्यान्वयन हाइपर-थ्रेडिंग कहा जाता है - इंटेल के एक ट्रेडमार्क) के लिए अनुमति जो के रूप में कई लॉजिकल कोर प्रकट करने के लिए एक सिंगल कोर एक भी पर एक से अधिक थ्रेड निष्पादित करने के लिए अनुमति देता है कोर।
एक साथ मल्टीथ्रेडिंग के पीछे एक मोटा विचार प्रोसेसर राज्य को स्टोर करने के लिए एकाधिक रजिस्ट्रार होना है, इसलिए ऐसा लगता है कि वास्तव में एक कोर में एकाधिक कोर हैं, क्योंकि इसमें हार्डवेयर रजिस्टरों के कई पूर्ण-सेट हैं।
जबकि एएलयू और एफपीयू जैसी भौतिक सुविधाएं बढ़ सकती नहीं हैं, भौतिक कोर पर अधिक धागे चलाने के लिए रजिस्टरों के अधिक सेट होने से उपलब्ध प्रोसेसर संसाधनों का बेहतर उपयोग हो सकता है। एक धागे को निष्पादित करते समय कोर संतृप्त नहीं हो सकता है, लेकिन कई निष्पादित करने से सभी इकाइयों को इसकी पूरी क्षमता में संतृप्त किया जा सकता है।
तो प्रोग्रामर के लिए इसका क्या अर्थ है?
इसका मतलब है कि हमें अभी भी बहु-थ्रेडेड सॉफ़्टवेयर लिखने की आवश्यकता होगी - एक प्रोग्राम जिसमें केवल एक धागा है केवल एक लॉजिकल कोर का उपयोग करने में सक्षम होगा। केवल अच्छी तरह लिखित बहु-थ्रेडेड कोड होने से हम इन प्रोसेसर की बड़ी संख्या में तार्किक कोर का लाभ उठाने में सक्षम हैं।
साथ-साथ मल्टीथ्रेडिंग के साथ, कोड प्रति लॉजिकल कोर पर एक थ्रेड पर निष्पादित किया जाता है।
हाइपरथ्रेडिंग (रास्ते में आईएनटीईएल का ट्रेडमार्क) प्रत्येक थ्रेड को वास्तव में एक साथ चलाने की अनुमति देता है। तो इस मामले में आप एक ही समय में 8X2 अनुप्रयोग धागे चला सकते हैं।
विवरणिका से ...
इंटेल Nehalem वास्तुकला इंटेल की अद्वितीय 45nm उच्च- k धातु गेट प्रौद्योगिकी प्रक्रिया पर बनाया गया
Up to **8 cores** per processor
Up to **16 threads per processor** with Intel® Hyper-threading
2.3 billion transistors
एकल सीपीयू को यह तुलना करें, सिंगल कोर प्रणाली जहां प्रत्येक धागा चाहिए निर्धारित किया जाना चाहिए और अधिकतर केवल एक थ्रेड सक्रिय होगा - वह एक सीपीयू बाध्य कार्य चला रहा है और अन्य I/O स्थानांतरण पर प्रतीक्षा कर रहे हैं।
मूल रूप से थ्रेडिंग का उपयोग या तो समवर्ती गतिविधियों के सेट (मॉडल को समानांतर में नहीं चलाया जाता है) या एक सिस्टम की उपस्थिति का उत्पादन करने के लिए किया जाता था जो I/O करते समय भी प्रतिक्रियाशील था। उदाहरण के लिए थ्रेडिंग के बिना, एक दस्तावेज़ सहेजते समय आपका वर्ड प्रोसेसर स्टॉल दिखाई देगा।
कई सालों से मैंने अपने डेस्कटॉप अनुप्रयोगों में एकाधिक धागे रखने के विचार का विरोध किया - यह कोड जटिल और संभावित रूप से कम प्रदर्शन - उन सभी म्यूटेक्स संचालनों के बारे में सोचें जिन्हें ओएस कर्नेल को शामिल करने की आवश्यकता होती है। वास्तव में धागे के समानांतर निष्पादन के आगमन के साथ, मेरे आपत्तियां कम हो जाती हैं लेकिन मुझे अभी भी विश्वास है कि एक ही प्रक्रिया में एकाधिक धागे की बजाय कई प्रक्रियाएं बेहतर दृष्टिकोण हैं।
क्रिस
यह हाइपर-थ्रेडिंग का नाम बदल नहीं है - यह हाइपर-थ्रेडिंग है (यह इस वेबपृष्ठ पर लिखा गया है जिसे आपने लिंक दिया है)।
बस प्रोसेसर ओएस को बताता है कि इसमें 16 कोर हैं, इसलिए यह कोर की दोगुनी संख्या पर कार्यों को संतुलित कर सकता है। हाइपर-थ्रेडिंग तकनीक कुछ मामलों में कुछ लाभ देती है क्योंकि दो अलग-अलग कार्यक्रमों/धागे से दो अलग-अलग निर्देश एक साथ कोर पर निष्पादित किए जा सकते हैं। लेकिन निश्चित रूप से यह 200% गति नहीं देगा। मैंने ऐसे प्रोसेसर पर काम नहीं किया, लेकिन मुझे लगता है कि आप लगभग 10% -20% अतिरिक्त सीपीयू समय प्राप्त कर सकते हैं।
यह प्रत्येक ऑपरेटिंग सिस्टम के थ्रेडिंग मॉडल पर निर्भर करता है ताकि ओएस-स्तरीय धागे को हार्डवेयर-स्तर के धागे जैसे प्रश्न में वर्णित किया जा सके।
अनुप्रयोग प्रोग्रामर द्वारा उपयोग की जाने वाली उच्च स्तरीय प्रोग्रामिंग भाषाओं द्वारा उत्पन्न तार्किक धागे हार्डवेयर से हटाए गए ओएस-स्तर अभी भी हैं, बशर्ते आप ओएस कोड के बारे में बात नहीं कर रहे हैं जो मैपिंग करता है।
बहु-थ्रेडेड प्रोसेसर का चरम बैरल प्रोसेसर है। यह एसएमटी का एक रूप है जहां प्रोसेसर एक गोल रॉबिन तरीके से समान रूप से एकाधिक धागे के बीच स्लॉट को विभाजित करता है। ऐसा करने के लिए, निष्पादन इकाइयों के एक ही सेट का उपयोग करते समय इसे केवल विभिन्न रजिस्टरों की प्रतियों की आवश्यकता होती है। तो, 4 घड़ी चक्रों में यह पाइपलाइन में थ्रेड 0-3 से कोड डाल देगा।
आप इन शेष प्रोसेसर को एक समान फैशन में काम करने के बारे में सोच सकते हैं, कम या ज्यादा डिग्री तक। समान रूप से स्लॉट वितरित करने के बजाय, यह प्रोसेसर में नियंत्रण या डेटा खतरों के कारण खाली स्लॉट का उपयोग कर सकता है।
उदाहरण के लिए, जब एक शाखा ली जाती है, तो पाइपलाइन में निर्देशों को फ़्लश करने की आवश्यकता हो सकती है। पूरी तरह से सबकुछ फिसलने के बजाय, कुछ स्लॉट का उपयोग अन्य धागे के लिए किया जा सकता है। संपूर्ण विचार सीपीयू चक्र बर्बाद न करके प्रदर्शन में सुधार करना है।
इस तरह हार्डवेयर में कई धागे काम करते हैं।
- 1. जावा - धागे और सीपीयू
- 2. कॉर्डोवा क्या है, और यह फोनगैप से कैसे संबंधित है?
- 3. आईवी क्या है? और यह चींटी से कैसे संबंधित है?
- 4. एसएसएल क्या है और यह HTTPS से कैसे संबंधित है?
- 5. क्या यह कोड थ्रेड-सुरक्षित है?
- 6. क्या यह कोड एक शोषण है? यह कोड क्या है?
- 7. क्या यह कोर ग्राफिक्स कोड थ्रेड सुरक्षित है?
- 8. शुरुआती सहायता - यह कोड कहां से संबंधित है?
- 9. एक ही सीपीयू पर एकाधिक धागे और प्रदर्शन
- 10. आईआईएस प्रमाणीकरण में "दायरे" क्या है और यह SSL प्रमाणपत्र पैरामीटर से कैसे संबंधित है?
- 11. सिंगलटन ऑब्जेक्ट्स की फैक्टरी: क्या यह कोड थ्रेड-सुरक्षित है?
- 12. कर्नेल धागे और उपयोगकर्ता धागे के बीच क्या अंतर है?
- 13. थ्रेड से संबंधित मुद्दों और उन्हें डिबगिंग
- 14. सीपीयू चक्र और स्मृति में थ्रेड की किसी न किसी "लागत" क्या है?
- 15. जावा ट्रांसपोर्ट.send() क्या यह थ्रेड-सुरक्षित है?
- 16. क्या यह कोड थ्रेड-सुरक्षित है? मैं इसे थ्रेड-सुरक्षित कैसे बना सकता हूं?
- 17. सीपीयू उपयोग थ्रेड
- 18. क्या यह कोड वास्तव में बहुप्रचारित है?
- 19. किसी अन्य धागे से मुख्य धागे में कोड चलाना
- 20. धागे क्या हैं (एक धागा क्या है)?
- 21. प्रत्येक थ्रेड को एक सीपीयू कोर
- 22. क्या यह जावा एन्क्रिप्शन कोड थ्रेड सुरक्षित है?
- 23. सीपीयू कोर बनाम धागे
- 24. एक int [] सरणी पर समवर्ती पढ़ने का उपयोग: क्या यह सुरक्षित है? क्या यह तेज़ है?
- 25. एएसपी.नेट सीपीयू स्पाइक उच्च "% जीसी में समय" से संबंधित है - एएसपी.नेट के लिए एक अच्छी बेसलाइन क्या है?
- 26. क्या यह गैर-ui धागे से लॉन्च और गतिविधि को सुरक्षित है?
- 27. क्यों एक काम है कि एक थ्रेड पूल के धागे
- 28. प्रोफ़ाइल पायथन सीपीयू उपयोग थ्रेड
- 29. एक पृष्ठभूमि थ्रेड में XamlReader.Load। क्या यह संभव है?
- 30. क्या यह डेक थ्रेड-पाइथन में सुरक्षित है?
क्या आप 8X16 लिखते समय 8 बार 16 का मतलब है? यदि ऐसा है, तो मुझे लगता है कि यह पुराने एचटी सीपीयू की तरह है, प्रति कोर दो थ्रेड, यानी 16 धागे कुल में 128 नहीं। – OregonGhost
हां। इंटेल के अनुसार यह वास्तव में प्रत्येक कोर में 16 धागे का मतलब है। यह प्राप्त करने के लिए उन्हें यह सुनिश्चित करने की आवश्यकता है कि मरने पर तर्क का बहुत अधिक डुप्लिकेशंस है। –
जाहिर है, उनका मतलब यह नहीं है। आपने स्वयं भाग को उद्धृत किया: 16 थ्रेड प्रति ** प्रोसेसर **। – MSalters