मैं आपके साथ सहमत हूँ कि कुशल समानांतर एल्गोरिदम को चिह्नित करने का सबसे अच्छा तरीका नहीं है।NC
दरअसल, एनसी द्वारा परिभाषा में बहुत सारी समस्याएं शामिल हैं जो कुशलता से समानांतर नहीं हैं। एक सामान्य उदाहरण समानांतर बाइनरी खोज है। समस्या इसलिए उत्पन्न होती है क्योंकि समानांतर बाइनरी खोज में लिए भी पॉलीग्लारिथमिक समय जटिलता है । किसी भी अनुक्रमिक एल्गोरिदम को सबसे खराब स्थिति में सबसे अधिक लघुगणक समय की आवश्यकता होती है, इसकी समानांतर व्यवहार्यता की परवाह किए बिना में है ।एन सीp=1NC
लेकिन रुकिए, और भी है।
NC एल्गोरिदम बहुभुज समय में समस्याओं को हल करने के लिए प्रोसेसर की एक बहुपद संख्या के साथ समानांतर मशीनों को मानते हैं। हालाँकि, व्यवहार में हम बड़ी समस्याओं को हल करने के लिए मध्यम आकार की मशीनों (प्रोसेसर के संदर्भ में) का उपयोग करते हैं । प्रोसेसर की संख्या उप बहुपद, यहां तक कि सबलाइनर भी होती है।
अंत में, में समस्याएं समांतर समयावधि साथ समस्याएं हैं। हालांकि , ये समस्याएँ से संबंधित नहीं हैं । अब, उदासीन कार्यों में केवल अव्यावहारिक रूप से बड़े मूल्यों के लिए एक प्रासंगिक स्पर्शोन्मुख व्यवहार हो सकता है, और इसके बजाय व्यावहारिक मूल्यों के लिए बहुत कम प्रगतिशील हो सकता है । एक उदाहरण के रूप में, for । यह निम्नानुसार है कि सबलाइनियर समानांतर समय एल्गोरिदम एल्गोरिदम की तुलना में तेजी से चल सकता है।ओ ( n ε ) , 0 < ε < 1 एन सी एन एन √PO(nϵ),0<ϵ<1NCnnng0.5×109NCn−−√<lg3nn≤0.5×109NC
उत्तर में से एक में, यह देखा गया है कि "व्यवहार में, इसका मतलब है कि हम कंप्यूटर को अधिक मेमोरी के साथ तैयार कर सकते हैं क्योंकि इनपुट आकार बढ़ता है, इसी तरह हम आमतौर पर वास्तविक दुनिया में कंप्यूटर का उपयोग करते हैं। नेकां एक अनुरूप स्थिति को दर्शाता है। समानांतर संगणना ”।
मैं इस बात से आंशिक रूप से सहमत हूँ। हम अधिक मेमोरी वाला एक नया समानांतर कंप्यूटर खरीदते हैं जब एक पुराने सुपर कंप्यूटर को भी विखंडित कर दिया जाता है क्योंकि DRAM चिप्स समय पर कम खर्चीले होते हैं और कुछ हद तक समानांतर कंप्यूटर को उसके मुख्य घटकों (प्रोसेसर, मेमोरी, इंटरकनेक्ट आदि) के संबंध में संतुलित करते हैं।
हालाँकि, चूंकि मेमोरी एक परिमित संसाधन है, इसलिए किसी समस्या के बड़े उदाहरणों को हल करने के लिए सुपर कंप्यूटर में अधिक मेमोरी जोड़ने की आवश्यकता के बिना, इसे कुशलतापूर्वक उपयोग करने के बारे में बहुत सारे शोध किए गए हैं। उदाहरण के लिए, सन और नी ने मेमोरी-बाउंड स्पीडअप की धारणा का प्रस्ताव किया, और क्विन ने तथाकथित स्केलेबिलिटी फ़ंक्शन का प्रस्ताव किया, जो बताता है कि दक्षता के निरंतर स्तर को बनाए रखने के लिए प्रति प्रोसेसर मेमोरी की मात्रा कैसे बढ़नी चाहिए। सामान्य तौर पर, चूंकि प्रोसेसर की संख्या बढ़ने पर समानांतर ओवरहेड बढ़ता है, हम दक्षता को बनाए रखते हैं जिससे समस्या का आकार हल हो रहा है। लेकिन अधिकतम समस्या का आकार मुख्य मेमोरी की मात्रा (जो कि में रैखिक है) द्वारा सीमित हैएन पीp)। Scalability समारोह isoefficiency फ़ंक्शन का उपयोग करता और एक अन्य समारोह जो स्मृति की मात्रा को दर्शाता है आकार की एक समस्या को स्टोर करने के लिए आवश्यक निर्धारित करने के लिए कैसे प्रोसेसर प्रति स्मृति की मात्रा क्रम दक्षता की एक निरंतर स्तर को बनाए रखने में विकसित करना होगा। जब यह फ़ंक्शन एक स्थिर होता है, तो समानांतर एल्गोरिदम पूरी तरह से स्केलेबल (मेमोरी परिप्रेक्ष्य के उपयोग से) होता है। जबकि स्मृति उपलब्ध है, समस्या का आकार बढ़ाकर दक्षता के समान स्तर को बनाए रखना संभव है। हालाँकि, चूंकि प्रति प्रोसेसर में उपयोग की जाने वाली मेमोरी साथ रैखिक रूप से बढ़ती है , कुछ बिंदु पर यह मान सिस्टम की मेमोरी क्षमता तक पहुंच जाएगा। जब प्रोसेसर की संख्या इस बिंदु से अधिक बढ़ जाती है तो दक्षता को बनाए नहीं रखा जा सकता है।np
इसलिए, मेमोरी स्केलेबल समानांतर एल्गोरिदम को डिजाइन करना महत्वपूर्ण है, क्योंकि ये बड़ी समस्याओं के लिए व्यावहारिक हैं।
समानांतर एल्गोरिदम के नीचे स्केलिंग पर एक अंतिम नोट। यह केवल तभी समझ में आता है जब समानांतर एल्गोरिथ्म जिसे हम स्केल करना चाहते हैं वह लागत-इष्टतम है। एक लागत इष्टतम एल्गोरिथ्म नीचे स्केलिंग अभी भी एक तेज (अगर मूल की तुलना में धीमी) एल्गोरिथ्म पैदा करता है। लेकिन एक गैर लागत इष्टतम एल्गोरिथ्म उसके आकार को समानांतर एल्गोरिथ्म जो सबसे अच्छा अनुक्रमिक रन टाइम की तुलना में धीमी (आकार छोटा करने का एक विचार को जन्म दे सकती प्रोसेसर निरंतर समय पर एल्गोरिथ्म छँटाई प्रोसेसर)। जिस डिग्री पर लागत-इष्टतमता छूट जाती है वह समस्या और मशीन के आकार की सीमा पर प्रभाव डालती है, जिस पर एक एल्गोरिथ्म उपयोगी होता है और ग्रामा, गुप्त, करपीस और कुमार द्वारा पाठ्यपुस्तक में अच्छी तरह से वर्णित किया जाता है। एनn3n