2012-10-12 14 views
6

मुझे यकीन नहीं है कि। क्या मैं चार कोर पर एक बड़ी मेमसेट (उदाहरण के लिए 10 एमबी) लिख सकता हूं ताकि इस के साथ गति प्राप्त हो सके?मेमसेट 4 कोर पर समांतर किया जा सकता है?

क्या इस तरह के राम-चिप समांतरता संभव है, और अन्य धागे को फायर करने की समय लागत कितनी बड़ी है - क्या यह मिलीसेकंड या उससे कम है?

+5

ऐसा ऑपरेशन शायद ही धीमा हो जाएगा यदि आप इसे समानांतर करते हैं - आपके पास मेमोरी बस तक पहुंच के लिए कई कोर/सीपीयू लड़ना होगा। –

+0

शायद अधिक बाइट्स को स्थानांतरित करने के लिए विशिष्ट निर्देश का उपयोग करें, एक बार आपकी मदद करेगा। पैरालाइज़ेशन का उपयोग केवल तभी लाभ होगा जब डेटा विभिन्न मेमोरी भाग में वितरित किया जाता है। – wbao

+4

एकमात्र मामला जिसमें समांतर 'मेमसेट' तेज हो सकता है, वह NUMA आर्किटेक्चर पर बहुत बड़ी मेमोरी ब्लॉक के साथ है जहां प्रत्येक कोर अपने प्रोसेसर से जुड़ी मेमोरी पर काम कर रहा है। –

उत्तर

2

आप एक सही सवाल बता रहे हैं, साथ ही साथ इसका एक सरल जवाब देना मुश्किल है। इसमें कई पहलू शामिल हैं।

  1. नए धागे शुरू करने के ऊपरी हिस्से (या उन्हें कुछ कैश से चुनना);
  2. मेमोरी बस पर तनाव।
  3. उपरोक्त पहलुओं के अलग-अलग प्लेटफ़ॉर्म के लिए अलग-अलग लागतें अलग-अलग हैं।

बड़े पीसी में कई मेमोरी बसें हैं। छोटे लोगों में केवल एक है। एक मेमोरी बस प्रणाली पर यह कोई समझ नहीं आता है। यदि आपके सिस्टम में कई मेमोरी बसें हैं (चैनल) आपके डेटा की सरणी मेमोरी बैंकों के बीच मनमाने ढंग से विभाजित हो सकती है। यदि ऐसा होगा कि पूरी सरणी उसी स्मृति बैंक में बैठेगी, तो parralelisation बेकार होगा। अपने सरणी के लेआउट को फिर से समझना एक ओवरहेड है। कोर के बीच ऑपरेशन को विभाजित करने से पहले दूसरे शब्दों में यह पता लगाना आवश्यक है कि यह करने योग्य है या नहीं।

सरल उत्तर यह है कि ओवरहेड की भविष्यवाणी करना मुश्किल होगा, अधिकतर संभावना लाभ का उपभोग करेगी और समग्र परिणाम खराब हो जाएगा।

कुछ आर्किटेक्चर पर वास्तव में एक विशाल स्मृति क्षेत्र के लिए यह समझ में आता है।

+0

क्या प्रोग्राम शुरू होने पर निर्धारित करना उचित होगा यदि यह * मेमसेट * को पैरालाइज करने योग्य है और रन-टाइम पर निर्णय लेता है? –

+0

यह शायद ओएस की शुरुआत के दौरान होना चाहिए। सीपीयू यह सभी ऐप्स के लिए समान है जो शुरू किया जाएगा। दूसरी ओर मेमोरी बैंकों के बीच विभाजन हर समय अलग-अलग होगा और मूल्यांकन करना आसान नहीं होगा। –

+1

आधुनिक सीपीयू पर, एक सिंगल सीपीयू कोर ज़ीरो लिखते समय आसानी से सभी मेमोरी बसों को संतृप्त कर सकता है। तो फिर भी समांतरता में कोई बात नहीं है। – MSalters

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