2012-08-31 13 views
6

मैं वर्तमान में कंप्यूटर विज्ञान में स्नातक अध्ययन के लिए विषयों की जांच कर रहा हूं और मुझे ब्याज का एक अपेक्षाकृत बड़ा क्षेत्र मिला है, वितरित कंप्यूटिंग, जिसे मैं अधिक जानकारी प्राप्त करना चाहता हूं। कुछ अन्य प्रश्न हैं [1, 2, 3] स्टैक ओवरव्लो पर जो समान मामलों को संबोधित करते हैं, लेकिन जरूरी नहीं कि मैं पूछने वाला प्रश्न, विशेष रूप से उन भाषाओं से संबंधित हूं जिन्हें मैं ढूंढ रहा हूं।वितरित कंप्यूटिंग/समांतर प्रसंस्करण के साथ कहां से शुरू करें? (पायथन/सी)

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

एक साइड नोट के रूप में, मैं यह उल्लेख करना चाहता हूं कि यह भी अधिक विशिष्ट हो सकता है कि समांतर कंप्यूटिंग वितरित कंप्यूटिंग के क्षेत्र में कैसे फिट बैठती है। (मैंने अभी तक कोई कोर्स नहीं लिया है!)

+0

एफवाईआई आप पाइथन और सी/सी ++ का उपयोग कर सकते हैं! आप गति के लिए साइथन द्वारा लिपटे या उत्पन्न उच्च स्तरीय प्रबंधन और सी/सी ++ के लिए अजगर का उपयोग कर सकते हैं। इस तरह आप दोनों दुनिया मिलते हैं! – Onlyjus

+0

यह एसओ के लिए उपयुक्त नहीं है। –

+0

आईईईई स्पेक्ट्रम में एक उत्कृष्ट लेख है: [द ट्राउबल विद मल्टीकोर] (http://spectrum.ieee.org/computing/software/the-trouble-with-multicore/)। खासकर उदाहरण का वर्णन [पीआई की गणना को समानांतर कैसे करें] (http://spectrum.ieee.org/image/1627665) मुझे समस्याओं के बारे में सोचने के लिए बहुत मददगार पाया गया ताकि उन्हें समानांतर करने में सक्षम हो सके। –

उत्तर

1

मुझे एक मशीन पर पायथन के लिए निर्मित संकुल का उपयोग करके अच्छे अनुभव हुए हैं। 128 कोर के साथ मशीन पर आईपीथॉन का उपयोग करके मेरे दोस्त को बड़ी सफलता मिली है।

अब क्लस्टर, बादल, या इंटरनेट पर किसी भी मशीन जैसे फ़ोल्डिंग @ होम (पीएस 3 सहित!) जैसे वितरित कंप्यूटिंग के विभिन्न प्रकार हैं, जीपीयू के बारे में भी मत भूलना!

कुछ अजगर लिंक:
Various Python libraries
Ipython
Python and Parallel Computing presentation

+0

प्रेजेंटेशन मुझे संबंधित कई संबंधित जानकारी प्रदर्शित करता है। आपको किसी भी अन्य सामग्रियों के बारे में पता नहीं होगा, लेकिन आईपीथॉन से असंबंधित, क्या आप? –

+0

@AlexWilliams, मुझे अपने सिर के ऊपर से कुछ भी पता नहीं है। – Onlyjus

3

Disclamer: मैं स्कूप का एक डेवलपर हूँ।

यह वास्तव में आपके व्यक्तित्व पर निर्भर करता है। यदि आप आगे बढ़ने से पहले सैद्धांतिक जानकारी प्राप्त करना पसंद करते हैं, तो आपको कुछ किताबें पढ़नी चाहिए या पहले तकनीकों के साथ मिलना चाहिए। विषय की अच्छी हिस्सा कवर पुस्तकों की एक सूची होगा:

  • मल्टीकोर और क्लस्टर सिस्टम थॉमस Rauber, और गुदुला Rünger (स्प्रिंगर-वर्लग) द्वारा के लिए समानांतर प्रोग्रामिंग।
  • केल्विन लिन और लॉरेंस स्नाइडर (एडिसन-वेस्ले)
  • टिमोथी जी मैटसन और अल द्वारा समानांतर प्रोग्रामिंग के लिए पैटर्न से समानांतर प्रोग्रामिंग की
  • सिद्धांतों। (एडिसन-वेस्ले)

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

यदि आप पहले अपने हाथ गंदे करना पसंद करते हैं, तो आपको कार्य-आधारित ढांचे के साथ शुरू करना चाहिए जो एक सरल और उपयोगकर्ता के अनुकूल उपयोग प्रदान करता है। SCOOP बनाते समय इनमें से दोनों अत्यंत ध्यान केंद्रित थे। आप pip -U scoop के साथ इसे आजमा सकते हैं। विंडोज़ पर, आप पहले अपने executable installers का उपयोग कर PyZMQ इंस्टॉल करना चाह सकते हैं। आप प्रदान किए गए उदाहरणों की जांच कर सकते हैं और यह समझने के लिए विभिन्न मानकों के साथ खेल सकते हैं कि प्रदर्शन में गिरावट या आसानी से वृद्धि क्या होती है।मैं आपको कोरआउट फ्रेमवर्क के लिए इसी तरह के काम या Gevent के लिए Celery जैसे विकल्पों में इसकी तुलना करने के लिए प्रोत्साहित करता हूं। यदि आप साहसी महसूस करते हैं, तो पाइथन के builtin coroutines functionnalities का परीक्षण करने के लिए शर्मिंदा न हों और उन्हें विभिन्न नेटवर्किंग स्टैक से प्लग करें।

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

+0

बहुत उपयोगी। मैं निश्चित रूप से उन ग्रंथों की जांच करूँगा! –

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