मैं कुछ धागे की आवृत्ति को नियंत्रित करने के लिए लिनक्स कर्नेल का विस्तार कर रहा हूं: जब वे कोर (किसी भी कोर!) पर निर्धारित होते हैं, तो कोर की आवृत्ति उचित पी लिखकर बदल जाती है। इंटेल के मैनुअल में सुझाए गए अनुसार IA32_PERF_CTL
रजिस्टर करें। लेकिन जब विभिन्न "कस्टम" आवृत्तियों के साथ अलग-अलग धागे निर्धारित होते हैं, तो ऐसा लगता है कि सभी धागे का थ्रूपुट बढ़ता है, जैसे कि सभी कोर अधिकतम सेट आवृत्ति पर चलते हैं।इंटेल एमएसआर आवृत्ति स्केलिंग प्रति थ्रेड
मैंने लोड और कॉन्फ़िगरेशन की विभिन्न स्थितियों में कई परीक्षण और माप किए हैं, लेकिन नतीजा वही है। CPUFreq के साथ कुछ परीक्षणों के बाद (कोई चल रहे एप्लिकेशन के साथ, मैं विभिन्न आवृत्तियों प्रत्येक कोर पर मापा आवृत्तियों निर्धारित करते हैं, और अंत में, cpufreq-जानकारी डब्ल्यू के साथ, बराबर थे), मुझे आश्चर्य है अगर अलग से सीपीयू कोर कर सकते हैं वास्तव में रन , स्वतंत्र आवृत्तियों, या यदि हार्डवेयर नीतियां या बाधाएं हैं।
अंत में, क्या एक सीपीयू मॉडल है जो इस बढ़िया आवृत्ति स्केलिंग को व्यवहार्य बनाता है?
सीपीयू मैं उपयोग कर रहा हूँ इंटेल कोर i5 है 750
सीपीयू कोर विभिन्न वोल्टेज पर नहीं चल सकता है, इसलिए यह विभिन्न आवृत्ति/वोल्टेज जोड़े सेट करने की क्षमता को बाधित करता है। –
सामान्य रूप से, प्रत्येक इंटेल पीढ़ी कोर के बीच अधिक अलगाव लाती है, और इन चीजों पर अधिक सुदृढ़ नियंत्रण की अनुमति देती है। – ugoren