2011-03-23 15 views
8

क्या एकाधिक प्रोसेसर का उपयोग करने के लिए वालग्रिंड प्राप्त करने का कोई तरीका है?क्या वैलग्रींड एकाधिक प्रोसेसर का उपयोग कर सकता है?

मैं वाल्ग्रिंड के कॉलग्रिंड के साथ कुछ बाधा प्रोफाइलिंग कर रहा हूं और मेरे आवेदन बनाम वाल्ग्रिंड/कॉलग्रिंड के बाहर चलाने के दौरान मेरे अनुप्रयोग बनाम काफी संसाधन संसाधन व्यवहार को देखा।

बाहरी वाल्ग्रिंड चलाने पर, यह कई प्रोसेसर को अधिकतम करता है, लेकिन वाल्ग्रिंड के अंदर चलाता है केवल एक का उपयोग करता है। यह मुझे चिंता करता है कि मेरी बोतल की गर्दन अलग-अलग जगहों पर होगी, और इस प्रकार मेरी प्रोफाइलिंग को अमान्य कर देगा।

+2

क्या आप अन्य प्रोफाइलर का उपयोग नहीं कर सकते हैं, उदाहरण: 'oprofile'? – ninjalj

उत्तर

15

वेलग्रिंड डॉक्स के अनुसार, वे एक से अधिक प्रोसेसर का समर्थन नहीं करते:

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

वालग्रिंड धागे को शेड्यूल नहीं करता है। यह केवल यह सुनिश्चित करता है कि एक थ्रेड एक बार में चलाता है, सरल लॉकिंग योजना का उपयोग करके। वास्तविक थ्रेड शेड्यूलिंग ओएस कर्नेल के नियंत्रण के अंतर्गत रहता है। यह का क्या मतलब है, हालांकि, यह है कि प्रोग्राम शेड्यूलिंग को से अधिक होने पर शेड्यूलिंग दिखाई देगा, यह सामान्य रूप से चलने पर होता है। यह दोनों है क्योंकि Valgrind धागे को क्रमबद्ध कर रहा है, और क्योंकि कोड सामान्य से धीमा है।

शेड्यूलिंग में यह अंतर अपने प्रोग्राम अलग-अलग व्यवहार करने के लिए, आप संगामिति, महत्वपूर्ण दौड़, लॉकिंग, या इसी तरह, कीड़े के कुछ प्रकार है, तो हो सकता है। उस स्थिति में आप हेल्ग्रिंड और/या डीआरडी को ट्रैक करने के लिए टूल का उपयोग करने पर विचार कर सकते हैं।

http://valgrind.org/docs/manual/manual-core.html#manual-core.pthreads_perf_sched

उन्होंने कहा:

--fair-sched option 

यह मदद मिल सकती है

-1

पर एक नजर डालें।

संबंधित मुद्दे