x86-64

2012-02-18 11 views
9

में टीएलबी मिस हैंडलिंग लागत को मापना मैं x86-64 (इंटेल नेहलेम) मशीन पर लिनक्स चलाने वाली टीएलबी मिस के कारण प्रदर्शन ओवरहेड का आकलन करना चाहता हूं। मैं कुछ प्रदर्शन काउंटर का उपयोग कर यह अनुमान प्राप्त करना चाहता हूं। क्या किसी के पास कुछ अनुमान हैं कि इसका अनुमान लगाने का सबसे अच्छा तरीका क्या है?x86-64

धन्यवाद अर्का

+0

यह आसान हो सकता है: http://oprofile.sourceforge.net/docs/intel-corei7-events.php –

उत्तर

15

आप एक "Westmere" के लिए उपयोग आधारित प्रणाली अपने कोड के प्रदर्शन विशेषताओं काफी क्या आप "Nehalem" पर है के समान होना चाहिए प्राप्त कर सकते हैं, लेकिन आप एक के लिए उपयोग होगा तो नया हार्डवेयर प्रदर्शन काउंटर इवेंट जो लगभग वही है जो आप चाहते हैं।

वेस्टमेरे पर, टीएलबी को संभालने की प्रतीक्षा करते समय खोए गए प्रदर्शन का सबसे अच्छा अनुमान शायद हार्डवेयर प्रदर्शन काउंटर इवेंट 08 एच, मास्क 04 एच "डीटीएलबी_LOAD_MISSES.WALK_CYCLES" से है, जिसे गिनती के रूप में वर्णित किया गया है "चक्र पृष्ठ मिस हैंडलर है दूसरे स्तर के टीएलबी में लोड मिस के कारण पेज चलने में व्यस्त "। यह "इंटेल 64 और IA-32 आर्किटेक्चर सॉफ्टवेयर डेवलपर की मैनुअल खंड 3 बी: सिस्टम प्रोग्रामिंग गाइड, भाग 2" में वर्णित है (दस्तावेज़ संख्या: 253,669), ऑनलाइन उपलब्ध पर http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-3b-part-2-manual.html

कारण इस घटना के लिए आवश्यक है यह है कि टीएलबी मिस प्रसंस्करण समय पृष्ठ तालिका प्रविष्टि वाले कैश लाइन को पढ़ने के लिए आवश्यक समय से प्रभुत्व है। यदि वह कैश लाइन एल 2 कैश में है, तो टीएलबी मिस का ओवरहेड बहुत छोटा होगा (10 चक्रों के क्रम में)। यदि रेखा एल 3 कैश में है, तो शायद 25 चक्र। यदि रेखा स्मृति में है, तो ~ 200 चक्र।

  • अगर वहाँ भी ऊपरी स्तर पेज अनुवाद कैश में एक याद आती है, यह कई यात्राएं स्मृति को खोजने के लिए और इच्छित पृष्ठ तालिका प्रविष्टि को पुनः प्राप्त करने करते हैं (उदा, https://stackoverflow.com/a/9674980/1264917)।
  • कुछ प्रोसेसर पर एल 2 कैश काउंटर आपको बता सकते हैं कि एल 2 में कितनी टेबल चलती है और याद आती है, लेकिन नेहलेम पर नहीं। (यह इस मामले में बहुत मदद नहीं करेगा क्योंकि एलएलबी में चलने वाले टीएलबी चलने वाले भी काफी तेजी से हैं और आप वास्तव में क्या चाहते हैं टीएलबी चलने वाले हैं जो स्मृति में जाना है।)