क्या 2 कंप्यूटरों की प्रसंस्करण शक्ति को संयोजित करना संभव है?


14

यहाँ कुछ सवाल हैं, मैं चाहता हूँ कि आप मुझे बता सकते हैं।

  1. क्या 2 कंप्यूटरों की प्रसंस्करण शक्ति को संयोजित करना संभव है?
  2. मैं यह कैसे करुं?

7
1) निश्चित रूप से। 2) भारी कठिनाई के साथ।
डैनियल आर हिक्स

जवाबों:


11

पारदर्शी रूप से नहीं जहां एक रनिंग प्रोग्राम किसी तरह कोड को निष्पादित करने के लिए दूसरी मशीन का उपयोग कर सकता है, क्योंकि वे एक दूसरे की मेमोरी को संप्रेषित करने या एक्सेस करने के लिए सीपीयू के लिए कोई रास्ता नहीं के साथ तार्किक रूप से अलग हैं।

इसका मतलब यह नहीं है कि आप प्रसंस्करण शक्ति को जोड़ नहीं सकते हैं:

  1. विशिष्ट सॉफ़्टवेयर में ऐसे घटक हो सकते हैं जो अन्य मशीनों पर निष्पादित कर सकते हैं, जैसे प्रोटीन तह, SETI @ घर। ये विशिष्ट हैं, अर्थात आप एक्सेल को शुरू नहीं कर सकते हैं और यह बता सकते हैं कि गणना के लिए किसी अन्य कंप्यूटर का उपयोग करें।
  2. यदि आप प्रोसेसर गहन कार्य कर रहे हैं, तो आप उन्हें चलाने के लिए द्वितीयक मशीन का उपयोग कर सकते हैं, जैसे वीडियो स्ट्रीम को एन्कोडिंग / रीकोड करना।

यदि आप किसी भी तरह से माध्यमिक कंप्यूटर का उपयोग करना चाहते हैं, तो रिमोट कंट्रोल के लिए सक्षम होना महत्वपूर्ण है। ऐसा करने के दो तरीके हैं रिमोट एक्सेस (आरडीपी, वीएनसी) या वैकल्पिक रूप से तालमेल + जैसे कुछ के माध्यम से।


1
उदाहरण के लिए, मेरे पास अपने लैपटॉप पर 4GB रैम और मेरे पीसी पर 4GB रैम है, क्या RDP मुझे 8GB RAM के साथ एक प्रोग्रान चलाने की अनुमति देगा?
TGamer

5

मेरी सबसे अधिक उपयोग की जाने वाली पंक्तियों में से एक - हाँ और नहीं!

हां यह संभव है - कुछ अनुप्रयोगों के लिए जो इस तरह से काम करने के लिए डिज़ाइन किए गए हैं। (आम तौर पर एक क्लस्टर के रूप में जाना जाता है - आगे यहाँ पढ़ते हुए )

नहीं, यह संभव नहीं है (कम से कम जहां तक ​​मुझे पता है) शेल्फ कंप्यूटरों में से दो को उतारने के लिए, उन्हें एक साथ "टाई" करें और संयुक्त मेमोरी, प्रोसेसिंग पावर और बाकी सब कुछ प्राप्त करें।


1
@ ~ क्वैक हाँ, और मैंने कुछ अनुप्रयोगों के लिए कहा ... जैसा कि प्रश्न विंडोज -7 को टैग किया गया था, मैंने मान लिया था कि उनका हर दिन का कंप्यूटर शेल्फ प्रोग्राम से दूर है। वैसे भी - क्या बियोवुल्फ़ समूहों की आवश्यकता नहीं है विशेष रूप से लिखित अनुप्रयोग! ... मैं कोई विशेषज्ञ नहीं हूं, कभी भी एक का इस्तेमाल नहीं किया, लेकिन मैंने जल्दी से beowulf.org/overview/index.html (विशेषकर अंतिम दो पैराग्राफ) पढ़े
विलियम हिल्सम

क्षमा करें, रीरिंग के बाद मेरी पहले की गई टिप्पणी को हटा दिया गया और ध्यान दिया गया कि आप पहले से ही क्लस्टरिंग अवधारणा से जुड़े हुए हैं। बियोवुल्फ़ को ऑफ-द-शेल्फ घटकों के आसपास डिज़ाइन किया गया है, और एक साथ कई प्रणालियों को "टाई" करने का एक तरीका है, लेकिन आप सही हैं कि वे वास्तव में उन कार्यक्रमों के लिए काम नहीं करते हैं जो विशेष रूप से उनके लिए डिज़ाइन नहीं किए गए हैं।
क्वैक कोटे

4

यह बहुत संभव है! लेकिन आपके प्रश्न की सरलता को देखते हुए, मुझे लगता है कि आप केवल एक प्रोग्राम चलाना चाहेंगे जो आपके कंप्यूटर को जादुई रूप से दोगुना तेज़ बना देगा, जो संभव नहीं है।

आपको यह समझने की आवश्यकता है कि जब कोई प्रोग्राम चलता है तो वह HDD, RAM और CPU रजिस्टरों के बीच मेमोरी को स्थानांतरित करने के लिए CPU को उत्तेजित करके अपनी स्थिति बनाए रखता है, साथ ही विभिन्न घटकों (जैसे वीडियो कार्ड या नेटवर्क कार्ड) पर भी पता चलता है। आपकी सहायता के लिए एक अन्य कंप्यूटर से सीपीयू का उपयोग करने में परेशानी यह है कि इसे उसी मेमोरी तक पहुंचने की आवश्यकता है। और दूसरे कंप्यूटर पर अपने कंप्यूटर की मेमोरी की मिरर इमेज को बनाए रखने के लिए बहुत अधिक ओवरहेड की आवश्यकता होती है, ताकि यह आसानी से प्रदर्शन हासिल करने के लिए दूसरे कंप्यूटर को जोड़ने के प्रयास को हरा दे :)

लेकिन जिन चीजों को कई कंप्यूटरों में विभाजित किया जा सकता है, वे हैं इमेज रेंडरिंग या कुछ गणितीय गणना जो स्वतंत्र रूप से काम कर सकती हैं।


3

यदि आप जो देख रहे हैं, वह दो पीसी की प्रोसेसिंग पावर को एक में मिलाने का एक तरीका है, तो ऐसा करने का "सबसे आसान" तरीका यह है कि उन दोनों को वर्चुअल मशीन होस्ट के रूप में कॉन्फ़िगर किया जाए, जैसे VMWare ESXi जैसे सॉफ्टवेयर का उपयोग कर होस्ट किया जा सकता है (इसके लिए यह आवश्यक है डिवाइस में संगत हार्डवेयर है) और एक संसाधन समूह या क्लस्टर बना रहा है और एक वर्चुअल मशीन बना रहा है जो दोनों कंप्यूटरों के संसाधनों का उपयोग करता है। यह आपको पूर्ण 2x गति नहीं मिलने वाला है (आप वर्चुअलाइजेशन के कारण संसाधनों को खो देंगे) और संभावित अनुकूलता आवश्यकताओं के कारण एक सीमित समाधान है लेकिन यह आपके प्रश्न का सबसे "सही" उत्तर है। वर्चुअलाइजेशन को बनाए रखने के लिए आवश्यक ओवरहेड को होस्ट करने वाली दोनों मेजबानों की प्रोसेसिंग पावर के साथ वर्चुअल मशीन सिंगल पीसी की तरह काम करेगी।


मुझे डर है कि मेजबानों के बीच संवाद अड़चन होगा।
ग्रोनोस्तज

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

2

मैं अन्य उत्तरों से सहमत हूँ:

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

यदि आप एक वितरित (बहु-कंप्यूटर) वातावरण में चलाने के लिए सॉफ़्टवेयर विकसित करने की बात कर रहे हैं, तो यहां कुछ सुझाव दिए गए हैं:

  • दूरस्थ प्रक्रिया कॉल (RPC) का उपयोग करें । जैसे आप किसी होस्ट को फ़ाइल सर्वर या वेब सर्वर बना सकते हैं, वैसे ही आरपीसी आपको अनिवार्य रूप से सीपीयू सर्वर मशीन बनाने की अनुमति देता है। वैचारिक रूप से, आपके पास एक मास्टर मशीन होगी, जो एक आरपीसी क्लाइंट होगी, और यह पुस्तकालय कार्यों को बुलाएगा जो पारदर्शी रूप से सर्वर पर निष्पादित होंगे। अपने सरलतम रूप में, यह आर्किटेक्चर आपको कोई प्रदर्शन लाभ नहीं देगा, क्योंकि केवल एक सीपीयू किसी भी समय निष्पादित होगा। हालांकि, एसिंक्रोनस मॉडल में, क्लाइंट सर्वर पर एक दूरस्थ प्रक्रिया शुरू कर सकता है और फिर सर्वर चालू होने के दौरान अन्य काम कर सकता है।
  • समानांतर प्रसंस्करण के लिए डिज़ाइन की गई भाषा का उपयोग करें, जैसे यूनिफाइड पैरेलल C (UPC) । यह वितरित डेटा और एक साथ निष्पादन के लिए सुविधाओं के साथ सी भाषा का विस्तार है। संदर्भ:
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.