समस्याओं और एल्गोरिदम के विशेष पैटर्न में समानांतरकरण पर परिचयात्मक नोट


10

मैं ऑनलाइन उपलब्ध लेक्चर नोट्स या अन्य संसाधनों की तलाश कर रहा हूं जो कंप्यूटर विज्ञान में बुनियादी कक्षाओं के समानांतर एनालॉग की तरह, समानांतर प्रोग्रामिंग में एक अच्छा परिचय देते हैं।

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

उदाहरण के लिए, मैं इस बात को व्यक्त करने के लिए विनियोग शर्तों को प्राप्त करना चाहूंगा कि निम्नलिखित समस्याओं में से प्रत्येक के लिए स्पष्ट समानांतर दृष्टिकोण अलग-अलग गुणात्मक व्यवहार है:

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

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


क्या आप इस वाक्य में सुधार कर सकते हैं: "उदाहरण के लिए, मैं एक भाषा चाहता हूं कि निम्नलिखित समस्याओं के लिए स्पष्ट समानांतर दृष्टिकोण अलग गुणात्मक व्यवहार क्यों है"
गोपी

किया हुआ। मुझे आशा है कि यह अधिक तीक्ष्ण है।
शुहलो

जवाबों:


6

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

इसके अलावा, एसपीएए 11 में एक समानांतर एल्गोरिथ्म और वितरित छात्र को क्या पता होना चाहिए और क्या पढ़ाया जाना चाहिए, इस बारे में चर्चा हुई। समानांतर और वितरित कम्प्यूटिंग पर यह पाठ्यचर्या पहल , आपको एक कोर्स नहीं बल्कि एक अंडरग्राउंड कोर्स के दौरान कवर किए जाने वाले विभिन्न विषय की सूची खोजने में मदद करेगी। फिर मुझे लगता है कि हर विशिष्ट विषय पर प्रलेखन खोजना आसान है।


1
"भाषा" शब्द का अर्थ प्राकृतिक भाषा से है, प्रोग्रामिंग भाषा या समान नहीं। जैसे गणित एक भाषा है, और उदाहरण के लिए श्रेणी सिद्धांत या समूह सिद्धांत को कुछ संरचनाओं, संबंधों और तथ्यों के लिए "भाषा" प्रदान करने के लिए कहा जाता है। लेकिन फिर भी धन्यवाद।
शुहलो

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


NSF / IEEE-TCPP पाठ्यक्रम पहल के लिए +1, लेकिन मेरा सुझाव है कि आप OpenMP और MPI को हटा दें, क्योंकि वे वास्तव में यहां प्रासंगिक नहीं हैं।
जुका सुओमेला

दरअसल, मैं @ मॉर्टिन की टिप्पणी के बाद इसे हटाना भूल गया। धन्यवाद।
गोपी

7

यदि आप gory के विवरणों में तल्लीन नहीं करना चाहते हैं , तो Mattson, Sanders और Massingill द्वारा पुस्तक पैटर्न्स के समानांतर प्रोग्रामिंग के लिए समानांतर डिज़ाइन पैटर्न का एक बहुत अच्छा परिचय प्रदान किया गया है ।

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

फिर, यह समानांतर एल्गोरिदम पर एक पाठ्यपुस्तक नहीं है। यह एक व्यावहारिक और सैद्धांतिक फोकस दोनों के साथ, समानांतर सॉफ्टवेयर इंजीनियरिंग से संबंधित सामग्रियों को सख्ती से पेश करने का एक बहुत अच्छा काम करता है। इसलिए, यह आपकी आवश्यकताओं के अनुरूप होना चाहिए।


1

MPI_RUBY ... मेरे नवीनतम स्थिर निर्माण को खोजने की आवश्यकता है। मैं सूची में समानांतर-उपसर्ग (स्कैन) जोड़ने का सुझाव दूंगा। मैं बस समानांतर उपसर्ग सिखाऊंगा, और उन्हें दिखाऊंगा कि सभी जोड़े समस्या पर बेहतर कैश दक्षता प्राप्त करने के लिए स्पेस फिलिंग कर्व का उपयोग कैसे करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.