CPU या RAM कैसे शेयर करें?


21

नेटवर्किंग में हम फ़ाइल (डिस्क ड्राइवर) या डेटाबेस साझा करते हैं। लेकिन हम नेटवर्क पर सीपीयू या रैम कैसे साझा कर सकते हैं।


3
ऐसा करने के साथ समस्या यह है कि सीपीयू और रैम के बीच नैनोसेकंड-स्केल अक्षांशों की तुलना में, एक नेटवर्क अविश्वसनीय रूप से धीमा है!
फशी

@ फोटो: नेटवर्क द्वारा जोड़े गए अक्षांशों के साथ भी, ऐसा सेटअप डिस्क-आधारित स्वैप की तुलना में तेज़ हो सकता है।
पिस्कवर

@ तस्वीर: लेकिन जैसा कि कोई भी आपको बता सकता है, डिस्क-आधारित स्वैप एक बहुत बड़े पैमाने पर प्रदर्शन हिट है!
फॉशी

@ घोषी: मैं सहमत हूं - वास्तव में यह है, और इष्टतम समाधान "अधिक भौतिक स्मृति जोड़ें।" मैं केवल इतना कह रहा हूं कि तेज नेटवर्क पर तेज डिवाइस (जैसे रैमडिस्क) से पेजिंग करना अभी भी भौतिक डिस्क से पेजिंग करने की तुलना में तेज हो सकता है। दूसरे शब्दों में: यह एक भौतिक माध्यम पर स्वैप की तुलना में तेज़ स्वैप डिवाइस हो सकता है, भले ही यह भौतिक रैम की तुलना में परिमाण की धीमी गति के कई आदेश होंगे।
पिस्कवर

1
@ भविष्य: पूरी तरह से प्रशंसनीय है, और भले ही आप गलत हों यह निश्चित रूप से परिमाण के एक ही क्रम पर है, इसलिए सबसे खराब स्थिति में बहुत बुरा नहीं होगा। मुझे लगता है कि यह सिर्फ अधिक स्थानीय भौतिक भंडारण के लिए सस्ता है!
फोजी

जवाबों:


21

ऐसा करने के लिए सीपीयू / रैम संसाधनों तक पहुंचने वाले प्रोग्राम (एस) को विशेष रूप से उक्त संसाधनों तक पहुंचने के लिए डिज़ाइन किया जाना चाहिए। इस तरीके से स्थापित एक प्रणाली को क्लस्टर कहा जाता है, और जिस तरह से संसाधनों को साझा किया जाता है वह MPI नामक एक प्रोटोकॉल (संदेश पासिंग इंटरफ़ेस) के साथ होता है। यह एक मुफ्त डाउनलोड है और लिनक्स के साथ इसका उपयोग करने से कम से कम लागत के लिए एक शक्तिशाली क्लस्टर (संभवतः सुपर कंप्यूटर भी मिल सकता है), लेकिन यह तब तक बेकार है जब तक कि आपके पास ऐसे प्रोग्राम नहीं हैं जो विशेष रूप से एमपीआई का लाभ उठाने के लिए डिज़ाइन किए गए थे। वहाँ कुछ अच्छे क्लस्टर ट्यूटोरियल हैं, अगर आप अभी भी रुचि रखते हैं तो आपको एक की जांच करनी चाहिए।

संपादित करें:

यदि आप एक क्लस्टर स्थापित करना चाहते हैं तो मैं यहां ट्यूटोरियल की सिफारिश करूंगा । मैंने लगभग एक साल पहले इस ट्यूटोरियल का अनुसरण करके एक क्लस्टर बनाया और इसने बहुत अच्छा काम किया। ट्यूटोरियल थोड़ा पुराना है, इसलिए कुछ फाइलें बिल्कुल नहीं हो सकती हैं जहां ट्यूटोरियल कहता है कि वे हैं (कभी-कभी फाइलें अलग-अलग / नए लिनक्स डिस्ट्रोस में स्थानांतरित हो जाती हैं) लेकिन अगर आप लिनक्स से कम से कम परिचित हैं तो यह एक मुद्दा नहीं होना चाहिए। ट्यूटोरियल MPI के पुराने संस्करण का उपयोग करता है, लेकिन मैंने नवीनतम संस्करण का उपयोग किया है और इसमें कोई समस्या नहीं थी जिसे आसानी से हल नहीं किया गया था। आप जो कर रहे हैं उसके आधार पर वास्तव में वहाँ एक कार्यक्रम हो सकता है जो एमपीआई का लाभ ले सकता है। मुझे पता है कि कुछ वीडियो एन्कोडिंग और नंबर क्रंचिंग प्रोग्राम हैं जो एमपीआई का लाभ उठाते हैं जिन्हें सार्वभौमिक स्रोतों से डाउनलोड किया जा सकता है।


कृपया मुझे कुछ संदर्भ बताएं।
MJH

1
@MJH मेरा संपादित उत्तर देखें।
ubiquibacon

धन्यवाद.लेकिन यह ट्यूटोरियल लिनक्स पर काम करता है और मैं इसके द्वारा Windows.also का उपयोग करता हूं, एप्लिकेशन को MPI, और इसके अवरोध के तहत लिखना होगा।
एमजेएच

3
@MJH अगर आप विंडोज के साथ काम करना चाहते हैं तो आपको बस एक MPI लाइब्रेरी की जरूरत है जो विंडोज के साथ काम करे, लेकिन कॉन्सेप्ट एक ही है। MPICH विंडोज के साथ काम करता है, या आप अपने Windows क्लस्टर को Windows HPC (MPI चालकता में बनाया गया है) के साथ बना सकते हैं, अगर आपके पास कोई सिक्का गिरना है। हालांकि यह आपको विंडोज का उपयोग करने देता है, फिर भी आपको एमपीआई के लिए लिखे गए कार्यक्रमों का उपयोग करना होगा, इस समय इसके आसपास कोई रास्ता नहीं है।
यूबिकिबाकॉन

2
इस उत्तर के लिए धन्यवाद - संदर्भित ट्यूटोरियल ने uiowa.edu/mihpclab/hpcSystsemTechnicalReport/ ... चीयर्स को पता बदल दिया है !
सादौ

9

आप रैम डिस्क का उपयोग करके रैम साझा कर सकते हैं, लेकिन यह सामान्य डिस्क साझा करने जैसा लगता है, सिवाय इसके कि ये दूसरे कंप्यूटर की रैम में हैं। एक कंप्यूटर के लिए किसी अन्य कंप्यूटर की रैम का उपयोग करने का कोई सीधा तरीका नहीं है जैसे कि वह स्वयं का रैम था, लेकिन अन्य कंप्यूटर की रैम का उपयोग करने के कुछ तरीके हैं। अगले पैराग्राफ में उस पर और अधिक।

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

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


क्या मेरे नेटवर्क में मेरे एप्लिकेशन को साझा करने के लिए सॉफ़्टवेयर है? विदेशी नेटवर्क की आवश्यकता के बिना? (पूर्व के लिए। मैं एक फ़ाइल प्रदान करना चाहता हूं, कि मेरा पीसी 7 दिनों में इसे प्रस्तुत करता है, लेकिन मैं इसे अपने नेटवर्क पर साझा करता हूं और 1 दिन में कमी प्रदान करता हूं?
MJH

@ एमजेएच दुर्भाग्य से, मैंने किसी भी कार्यक्रम के बारे में नहीं सुना है जो प्रतिपादन के लिए हो सकता है।
आंद्रेजाको

1
शेयरिंग ramdisks थोड़े व्यर्थ है हालांकि यह नहीं है? आप राम की अस्थिरता, नेटवर्क संलग्न संग्रहण की सुस्ती के साथ मिलता है
जर्नीमैन गीक

1
@AndrejaKo सीधे वीडियो ट्रांसकोडिंग के लिए मैंने किसी के बारे में नहीं सुना है (लेकिन कुछ कर गुजरने के दौरान मुझे अल्फा / बीटा में 1 या दो प्रोजेक्ट मिले थे)। हालाँकि, 3D रेंडरिंग के लिए, मैंने 90 के दशक से 3D रेंडरिंग प्रोग्राम नहीं देखा है जो नेटवर्क रेंडरिंग का समर्थन नहीं करता है
स्कॉट चैंबरलेन

5

क्या मेरे नेटवर्क में मेरे एप्लिकेशन को साझा करने के लिए सॉफ़्टवेयर है? विदेशी नेटवर्क की आवश्यकता के बिना? (पूर्व के लिए। मैं एक फ़ाइल प्रदान करना चाहता हूं, कि मेरा पीसी 7 दिनों में इसे प्रस्तुत करता है, लेकिन मैं इसे अपने नेटवर्क पर साझा करता हूं और 1 दिन में कमी प्रदान करता हूं? - MJH Mar 12 '11 1:19 बजे

आप एक XY प्रॉब्लम में पड़ गए हैं , आपको यह नहीं पूछना चाहिए कि "मैं कैसे सीपीयू और रैम एप्रो कंप्यूटर को साझा कर सकता हूं" लेकिन "मैं ZZZZZ का उपयोग करके अपने रेंडर बनाने के लिए कई कंप्यूटरों का उपयोग कैसे कर सकता हूं?"

यह अत्यधिक निर्भर करता है कि आप किस सॉफ्टवेयर का उपयोग कर रहे हैं, और आप क्या दे रहे हैं (क्या आप वीडियो ट्रांसकोड कर रहे हैं, या आप एक 3 डी मॉडल / वीडियो प्रदान कर रहे हैं?)।

कुछ उदाहरण लेने के लिए मुफ्त 3 डी सॉफ्टवेयर ब्लेंडर वितरित रेंडरिंग का समर्थन करता है जहां आपके पास एक आउटपुट उत्पन्न करने के लिए सभी कंप्यूटर एक साथ काम कर सकते हैं। यदि आप कुछ त्वरित googling वीडियो प्रतिपादन कर रहे हैं, तो ओपन सोर्स प्रोजेक्ट MediaEncodingCluster पाया गया जो आपको कई कंप्यूटरों का उपयोग करके वीडियो और ऑडियो फ़ाइलों को प्रस्तुत करने की अनुमति देता है।


5

केवल ऑपरेटिंग सिस्टम मुझे पता है जो सीपीयू / रैम को साझा करने की अनुमति देता है वह है प्लान 9। वहां आप लगभग कुछ भी निर्यात / माउंट कर सकते हैं। इसका मतलब यह नहीं है कि प्रदर्शन अच्छे हैं, निश्चित रूप से।


0

नेटवर्क पर कार्यों के लिए सीपीयू / रैम को साझा करना एक अच्छी सुविधा होगी। वर्तमान में हम अभी भी बॉक्स में प्रोग्राम रखने के लिए कुछ पुरानी धारणाओं से बंधे हुए हैं जहां चीजें होती हैं, लेकिन हम कोड के समान स्निपलेट तक पहुंचने के लिए एक ही मशीन पर कई सीपीयू की अनुमति दे सकते हैं। हमारे पास एक विधि है (कम से कम) जो इस तरह से कुछ करती है। java webpages में सर्वर और क्लाइंट दोनों का उपयोग करके काम करता है, लेकिन यह अभी भी सर्वर-क्लाइंट तरीके से चीजों को करने के लिए बंद है (जहां सर्वर अधिकांश डेटा रखता है)। जब हम एक से अधिक cpus (मशीन को छोड़कर जो काम करने के लिए प्रोग्राम स्निप और डेटा स्निप असाइन करने की आवश्यकता होती है, को छोड़कर) हम बहुत कुछ उसी तरह मशीनों को कार्य सौंपने में सक्षम होने की आवश्यकता है। यह नेटवर्क पर भारी भार डालता है, हालांकि यदि कार्य स्वयं सरल प्रकृति का नहीं है और इसके परिणामस्वरूप नई अड़चनें आ सकती हैं। मुझे यह विचार पसंद है कि यह कहां है '

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