2009-03-10 13 views
5

ऐसा लगता है कि NUMA समानांतर प्रोग्रामिंग के लिए वादा कर रहा है, और यदि मैं गलत नहीं हूं तो वर्तमान नवीनतम सीपीयू के लिए अंतर्निहित समर्थन है, जैसे I7।क्या आप जल्द ही NUMA को अनुकूलित करने के लिए सीएलआर की उम्मीद करते हैं?

क्या आप जल्द ही NUMA को अनुकूलित करने के लिए सीएलआर की उम्मीद करते हैं?

संपादित करें: इसका मतलब है कि इसके लिए इसका समर्थन है, और इसका लाभ उठा रहा है।

उत्तर

2

NUMA एक हार्डवेयर आर्किटेक्चर है, जरूरी नहीं कि सीएलआर में सीधे गोद लेने की आवश्यकता हो। विवरण के लिए, NUMA FAQ.

यह कहकर, सॉफ़्टवेयर को इसके आर्किटेक्चर के बारे में जागरूक करने के फायदे हैं। सीएलआर टीम के लोगों को कैश कोहिरेंसी आदि के मुद्दों से अवगत होना प्रतीत होता है, इसलिए मैं शर्त लगाता हूं कि इसके लिए कुछ अनुकूलन हैं। साथ ही, सी # 4 में समानांतर लाइब्रेरी में शेड्यूलर का डिज़ाइन NUMA आर्किटेक्चर के बेहतर फायदे लेने के लिए आशाजनक प्रतीत होता है।

+0

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

+0

एफवाईआई: "कैश कोहेरेंसी" एक सॉफ्टवेयर समस्या नहीं है। यह इंटेल और एएमडी द्वारा हल किया गया है, क्योंकि मुख्यधारा के NUMA सभी सीसीएनएनए (कैश सुसंगत NUMAs) हैं। हालांकि सॉफ़्टवेयर को हल करना है, हालांकि स्मृति को आवंटित करना है, जिसके लिए थ्रेड/प्रक्रिया, किस कोर/सीपीयू (एफ़िनिटी) पर चलती है। –

1

एक अर्थ में, NUMA सीएलआर के मेमोरी मॉडल के लिए ऑर्थोगोनल है। दूसरे शब्दों में, हार्डवेयर/ओएस की पहुंच का तरीका है, सीएलआर की मेमोरी मॉडल की मांग है, और यह एक साथ अच्छा खेलने के लिए सीएलआर कार्यान्वयन पर निर्भर है। अभ्यास में, यह मुश्किल है, और there are flaws in the current implementation। लेकिन चूंकि सीएलआर पहले से ही NUMA का समर्थन करने वाले हार्डवेयर पर चलता है, मुझे सच में यकीन नहीं है कि "NUMA को जल्द से जल्द अनुकूलित करें।

+1

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

1

अब तक के सभी उत्तर हार्डवेयर वास्तुकला के रूप में NUMA को हाइलाइट करने में सही हैं। एक दिलचस्प पढ़ना this article by Joe Duffy संगामिति और CLR पर होगा।

1
NUMA साथ

मूल रूप से आप प्रति प्रोसेसर स्मृति नियंत्रक है। आपको लगता है कि इंटेल QuickPath साथ और एएमडी हाइपर के साथ। बात है, जहाँ तक मुझे पता है, वर्तमान में कोई motherboards हैं न i7 के लिए, न ही फेनोम के लिए, जो एक से अधिक CPU का समर्थन करेगा।

वैसे भी, यह बहुत कम स्तर है, जिसका सीएलआर से कोई लेना देना नहीं है। यह ऑपरेटिंग पर है इसका लाभ लेने के लिए सिस्टम।

+1

यह सच नहीं है। यह ढेर प्रबंधक (या इस मामले में सीएलआर मेमोरी मैनेजर) पर NUMA जागरूक होने के लिए है, या नहीं। विंडोज और लिनक्स का उपयोग करने वाली मौजूदा पहली-स्पर्श रणनीति की तुलना में ओएस के पास शायद बेहतर निर्णय लेने के लिए पर्याप्त जानकारी नहीं होगी। Http://stackoverflow.com/questions/9439402/array-memory- प्रबंधन देखें –

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

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