समानांतर कलन विधि: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 10: Line 10:
कुछ समस्याओं को समानांतर भागों में विभाजित नहीं किया जा सकता है, क्योंकि उन्हें अगले चरण के साथ प्रभावी ढंग से आगे बढ़ने के लिए पिछले चरण के परिणामों की आवश्यकता होती है - इन्हें कहा जाता है {{visible anchor|स्वाभाविक रूप से धारावाहिक समस्या}}एस। उदाहरणों में पुनरावृत्त [[संख्यात्मक विश्लेषण]] सम्मलित हैं, जैसे कि न्यूटन की विधि, तीन-निकाय समस्या के पुनरावृत्त समाधान और पाई (π) की गणना करने के लिए उपलब्ध अधिकांश एल्गोरिदम। कुछ अनुक्रमिक एल्गोरिदम को स्वचालित समांतरता का उपयोग करके समांतर एल्गोरिदम में परिवर्तित किया जा सकता है।<ref name="MXian1997">{{cite book |author1=Megson G M|author2=Chen Xian|title=नियमित संगणनाओं के एक वर्ग के लिए स्वचालित समानांतरकरण|url=https://books.google.com/books?id=1wHtCgAAQBAJ&q=%22parallel+algorithm%22|date=4 January 1997|publisher=World Scientific|isbn=978-981-4498-41-8}}</ref>
कुछ समस्याओं को समानांतर भागों में विभाजित नहीं किया जा सकता है, क्योंकि उन्हें अगले चरण के साथ प्रभावी ढंग से आगे बढ़ने के लिए पिछले चरण के परिणामों की आवश्यकता होती है - इन्हें कहा जाता है {{visible anchor|स्वाभाविक रूप से धारावाहिक समस्या}}एस। उदाहरणों में पुनरावृत्त [[संख्यात्मक विश्लेषण]] सम्मलित हैं, जैसे कि न्यूटन की विधि, तीन-निकाय समस्या के पुनरावृत्त समाधान और पाई (π) की गणना करने के लिए उपलब्ध अधिकांश एल्गोरिदम। कुछ अनुक्रमिक एल्गोरिदम को स्वचालित समांतरता का उपयोग करके समांतर एल्गोरिदम में परिवर्तित किया जा सकता है।<ref name="MXian1997">{{cite book |author1=Megson G M|author2=Chen Xian|title=नियमित संगणनाओं के एक वर्ग के लिए स्वचालित समानांतरकरण|url=https://books.google.com/books?id=1wHtCgAAQBAJ&q=%22parallel+algorithm%22|date=4 January 1997|publisher=World Scientific|isbn=978-981-4498-41-8}}</ref>
== प्रेरणा ==
== प्रेरणा ==
[[ बहु | बहु]] प्रणाली में पर्याप्त सुधार और [[ मल्टी कोर |मल्टी कोर]] प्रोसेसर के उदय के कारण 2000 के दशक की शुरुआत से व्यक्तिगत उपकरणों पर समानांतर एल्गोरिदम अधिक सामान्य हो गए हैं। 2004 के अंत तक, सिंगल-कोर प्रोसेसर का प्रदर्शन [[आवृत्ति स्केलिंग]] के माध्यम से तेजी से बढ़ा, और इस प्रकार  ही [[THROUGHPUT]] के साथ कई धीमे कोर वाले  की तुलना में  सिंगल फास्ट कोर के साथ  कंप्यूटर बनाना सरल  था, इसलिए मल्टीकोर प्रणाली अधिक सीमित थे उपयोग। हालाँकि, 2004 के बाद से, आवृत्ति स्केलिंग  दीवार से टकराई, और इस प्रकार मल्टीकोर प्रणाली अधिक व्यापक हो गए, जिससे अधिक सामान्य उपयोग के समानांतर एल्गोरिदम बन गए।
[[ बहु | बहु]] प्रणाली में पर्याप्त सुधार और [[बहु कोर]] प्रक्रमक के उदय के कारण 2000 के दशक की प्रारंभिक से व्यक्तिगत उपकरणों पर समानांतर एल्गोरिदम अधिक सामान्य हो गए हैं। 2004 के अंत तक, एकल -कोर प्रक्रमक का प्रदर्शन [[आवृत्ति स्केलिंग]] के माध्यम से तेजी से बढ़ा और इस प्रकार  ही [[प्रवाह क्षमता]] के साथ कई धीमे कोर वाले  की तुलना में  एकल स्थिर  कोर के साथ  कंप्यूटर बनाना सरल  था, इसलिए बहु कोर प्रणाली उपयोग के थे। चूँकि, 2004 के बाद से, आवृत्ति स्केलिंग  दीवार से टकराई और इस प्रकार बहु कोर प्रणाली अधिक व्यापक हो गए, जिससे अधिक सामान्य उपयोग के समानांतर एल्गोरिदम बन गए।


== मुद्दे ==
== मुद्दे ==


=== संचार ===
=== संचार ===
सीरियल एल्गोरिदम की लागत या जटिलता का अनुमान अंतरिक्ष (मेमोरी) और समय (प्रोसेसर चक्र) के संदर्भ में लगाया जाता है। समानांतर एल्गोरिदम को  और संसाधन, विभिन्न प्रोसेसर के बीच संचार को अनुकूलित करने की आवश्यकता होती है। दो प्रकार से समानांतर प्रोसेसर संचार, साझा स्मृति या [[संदेश देना]] कर रहे हैं।
सीरियल एल्गोरिदम की लागत या जटिलता का अनुमान अंतरिक्ष (मेमोरी) और समय (प्रक्रमक चक्र) के संदर्भ में लगाया जाता है। समानांतर एल्गोरिदम को  और संसाधन, विभिन्न प्रक्रमक के बीच संचार को अनुकूलित करने की आवश्यकता होती है। दो प्रकार से समानांतर प्रक्रमक संचार, साझा स्मृति या [[संदेश देना]] कर रहे हैं।


साझा मेमोरी प्रोसेसिंग को डेटा के लिए अतिरिक्त लॉक (कंप्यूटर विज्ञान) की आवश्यकता होती है, अतिरिक्त प्रोसेसर और बस चक्रों के ओवरहेड को लागू करता है, और एल्गोरिथम के कुछ हिस्से को क्रमबद्ध भी करता है।
साझा मेमोरी प्रोसेसिंग को डेटा के लिए अतिरिक्त लॉक (कंप्यूटर विज्ञान) की आवश्यकता होती है, अतिरिक्त प्रक्रमक और बस चक्रों के ओवरहेड को लागू करता है, और एल्गोरिथम के कुछ हिस्से को क्रमबद्ध भी करता है।


संदेश पासिंग प्रोसेसिंग चैनल और संदेश बॉक्स का उपयोग करता है लेकिन यह संचार बस में ट्रांसफर ओवरहेड जोड़ता है, कतारों और संदेश बॉक्स के लिए अतिरिक्त मेमोरी की आवश्यकता होती है और संदेशों में विलंबता होती है। समानांतर प्रोसेसर के डिजाइन विशेष [[बस (कंप्यूटिंग)]] जैसे [[क्रॉसबार स्विच]] का उपयोग करते हैं ताकि संचार ओवरहेड छोटा हो लेकिन यह समानांतर एल्गोरिदम है जो यातायात की मात्रा तय करता है।
संदेश पासिंग प्रोसेसिंग चैनल और संदेश बॉक्स का उपयोग करता है लेकिन यह संचार बस में ट्रांसफर ओवरहेड जोड़ता है, कतारों और संदेश बॉक्स के लिए अतिरिक्त मेमोरी की आवश्यकता होती है और संदेशों में विलंबता होती है। समानांतर प्रक्रमक के डिजाइन विशेष [[बस (कंप्यूटिंग)]] जैसे [[क्रॉसबार स्विच]] का उपयोग करते हैं ताकि संचार ओवरहेड छोटा हो लेकिन यह समानांतर एल्गोरिदम है जो यातायात की मात्रा तय करता है।


यदि अतिरिक्त प्रोसेसर का संचार ओवरहेड दूसरे प्रोसेसर को जोड़ने के लाभ से अधिक है, तो [[समानांतर मंदी]] का सामना करना पड़ता है।
यदि अतिरिक्त प्रक्रमक का संचार ओवरहेड दूसरे प्रक्रमक को जोड़ने के लाभ से अधिक है, तो [[समानांतर मंदी]] का सामना करना पड़ता है।


=== भार संतुलन ===
=== भार संतुलन ===
{{main|Load balancing (computing)}}
{{main|Load balancing (computing)}}
समांतर एल्गोरिदम के साथ  और समस्या यह सुनिश्चित कर रही है कि इनपुट आकार संतुलित होने के बजाय लोड (समग्र कार्य) संतुलित है, यह सुनिश्चित करके वे उचित रूप से [[लोड संतुलन (कंप्यूटिंग)]] कर रहे हैं। उदाहरण के लिए,  से लेकर  लाख तक की सभी संख्याओं की जांच प्रोसेसर के बीच विभाजित करना सरल  है; हालाँकि, यदि संख्याओं को समान रूप से विभाजित किया जाता है (1-1,000, 1,001-2,000, आदि), तो काम की मात्रा असंतुलित हो जाएगी, क्योंकि इस एल्गोरिथम द्वारा छोटी संख्याओं को संसाधित करना सरल  होता है (प्राथमिकता के लिए परीक्षण करना आसान), और इस प्रकार कुछ प्रोसेसरों को दूसरों की तुलना में अधिक काम करना होगा, जो लोड किए गए प्रोसेसर के पूर्ण होने तक निष्क्रिय रहेंगे।
समांतर एल्गोरिदम के साथ  और समस्या यह सुनिश्चित कर रही है कि इनपुट आकार संतुलित होने के बजाय लोड (समग्र कार्य) संतुलित है, यह सुनिश्चित करके वे उचित रूप से [[लोड संतुलन (कंप्यूटिंग)]] कर रहे हैं। उदाहरण के लिए,  से लेकर  लाख तक की सभी संख्याओं की जांच प्रक्रमक के बीच विभाजित करना सरल  है; चूँकि, यदि संख्याओं को समान रूप से विभाजित किया जाता है (1-1,000, 1,001-2,000, आदि), तो काम की मात्रा असंतुलित हो जाएगी, क्योंकि इस एल्गोरिथम द्वारा छोटी संख्याओं को संसाधित करना सरल  होता है (प्राथमिकता के लिए परीक्षण करना आसान), और इस प्रकार कुछ प्रोसेसरों को दूसरों की तुलना में अधिक काम करना होगा, जो लोड किए गए प्रक्रमक के पूर्ण होने तक निष्क्रिय रहेंगे।


== वितरित एल्गोरिदम ==
== वितरित एल्गोरिदम ==

Revision as of 00:22, 10 May 2023

कंप्यूटर विज्ञान में, एक समानांतर कलन विधि , पारंपरिक सीरियल एल्गोरिथम के विपरीत, एल्गोरिथम है जो निश्चित समय में कई ऑपरेशन कर सकता है। सार मशीन मॉडल में सीरियल एल्गोरिदम का वर्णन करना कंप्यूटर विज्ञान की परंपरा रही है, जिसे अधिकांशतः रैंडम-एक्सेस मशीन के रूप में जाना जाता है। इसी प्रकार, कई कंप्यूटर विज्ञान शोधकर्ताओं ने तथाकथित समानांतर रैंडम-एक्सेस मशीन (PRAM) का उपयोग समानांतर सार मशीन सहभाजी मैमोरी के रूप में किया है।[1][2]कई समांतर एल्गोरिदम को समवर्ती कंप्यूटिंग निष्पादित किया जाता है - चूंकि सामान्य समवर्ती एल्गोरिदम में अलग अवधारणा होती है और इस प्रकार इन अवधारणाओं को अधिकांशतः भ्रमित किया जाता है, एल्गोरिदम का कौन सा पहलू समानांतर है और जो समवर्ती है स्पष्ट रूप से अलग नहीं किया जा रहा है। इसके अतिरिक्त, समवर्ती एल्गोरिदम के विपरीत, गैर-समानांतर, गैर-समवर्ती एल्गोरिदम को अधिकांशतः अनुक्रमिक एल्गोरिदम के रूप में संदर्भित किया जाता है।

समानांतरता

एल्गोरिथम इस बात में पर्याप्त भिन्न होते हैं कि वे कितने समानांतर हैं, सरलता से समानांतर होने से लेकर पूरी प्रकार से अद्वितीय तक इसके अतिरिक्त, दी गई समस्या अलग-अलग एल्गोरिदम को समायोजित कर सकती है, जो कम या ज्यादा समानांतर हो सकती है।

कुछ समस्याओं को इस प्रकार से टुकड़ों में विभाजित करना सरल होता है - इन्हें शर्मनाक समानांतर समस्याएँ कहा जाता है। उदाहरणों में रुबिक के क्यूब्स को हल करने के लिए कई एल्गोरिदम सम्मलित हैं और उन मूल्यों को ढूंढते हैं जो किसी दिए गए साहचर्य सरणी में परिणामित होते हैं।

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

प्रेरणा

बहु प्रणाली में पर्याप्त सुधार और बहु कोर प्रक्रमक के उदय के कारण 2000 के दशक की प्रारंभिक से व्यक्तिगत उपकरणों पर समानांतर एल्गोरिदम अधिक सामान्य हो गए हैं। 2004 के अंत तक, एकल -कोर प्रक्रमक का प्रदर्शन आवृत्ति स्केलिंग के माध्यम से तेजी से बढ़ा और इस प्रकार ही प्रवाह क्षमता के साथ कई धीमे कोर वाले की तुलना में एकल स्थिर कोर के साथ कंप्यूटर बनाना सरल था, इसलिए बहु कोर प्रणाली उपयोग के थे। चूँकि, 2004 के बाद से, आवृत्ति स्केलिंग दीवार से टकराई और इस प्रकार बहु कोर प्रणाली अधिक व्यापक हो गए, जिससे अधिक सामान्य उपयोग के समानांतर एल्गोरिदम बन गए।

मुद्दे

संचार

सीरियल एल्गोरिदम की लागत या जटिलता का अनुमान अंतरिक्ष (मेमोरी) और समय (प्रक्रमक चक्र) के संदर्भ में लगाया जाता है। समानांतर एल्गोरिदम को और संसाधन, विभिन्न प्रक्रमक के बीच संचार को अनुकूलित करने की आवश्यकता होती है। दो प्रकार से समानांतर प्रक्रमक संचार, साझा स्मृति या संदेश देना कर रहे हैं।

साझा मेमोरी प्रोसेसिंग को डेटा के लिए अतिरिक्त लॉक (कंप्यूटर विज्ञान) की आवश्यकता होती है, अतिरिक्त प्रक्रमक और बस चक्रों के ओवरहेड को लागू करता है, और एल्गोरिथम के कुछ हिस्से को क्रमबद्ध भी करता है।

संदेश पासिंग प्रोसेसिंग चैनल और संदेश बॉक्स का उपयोग करता है लेकिन यह संचार बस में ट्रांसफर ओवरहेड जोड़ता है, कतारों और संदेश बॉक्स के लिए अतिरिक्त मेमोरी की आवश्यकता होती है और संदेशों में विलंबता होती है। समानांतर प्रक्रमक के डिजाइन विशेष बस (कंप्यूटिंग) जैसे क्रॉसबार स्विच का उपयोग करते हैं ताकि संचार ओवरहेड छोटा हो लेकिन यह समानांतर एल्गोरिदम है जो यातायात की मात्रा तय करता है।

यदि अतिरिक्त प्रक्रमक का संचार ओवरहेड दूसरे प्रक्रमक को जोड़ने के लाभ से अधिक है, तो समानांतर मंदी का सामना करना पड़ता है।

भार संतुलन

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

वितरित एल्गोरिदम

समानांतर एल्गोरिदम का उपप्रकार, वितरित एल्गोरिदम, क्लस्टर कंप्यूटिंग और वितरित कंप्यूटिंग वातावरण में काम करने के लिए डिज़ाइन किए गए एल्गोरिदम हैं, जहां शास्त्रीय समानांतर एल्गोरिदम के दायरे से परे अतिरिक्त चिंताओं को संबोधित करने की आवश्यकता होती है।

यह भी देखें

संदर्भ

  1. Blelloch, Guy E.; Maggs, Bruce M. "समानांतर एल्गोरिदम" (PDF). USA: School of Computer Science, Carnegie Mellon University. Retrieved 2015-07-27.
  2. Vishkin, Uzi (2009). "Thinking in Parallel: Some Basic Data-Parallel Algorithms and Techniques, 104 pages" (PDF). Class notes of courses on parallel algorithms taught since 1992 at the University of Maryland, College Park, Tel Aviv University and the Technion.
  3. Megson G M; Chen Xian (4 January 1997). नियमित संगणनाओं के एक वर्ग के लिए स्वचालित समानांतरकरण. World Scientific. ISBN 978-981-4498-41-8.


बाहरी संबंध