समानता के बारे में सोचने की गलती है क्योंकि केवल कच्चे नंबर की क्रंचिंग शक्ति के बारे में ही। एर्लांग एक क्लस्टर कंप्यूटर के तरीके के करीब है, कहें, एक जीपीयू या क्लासिक सुपरकंप्यूटर।
आधुनिक जीपीयू और पुराने शैली के सुपरकंप्यूटर में, प्रदर्शन वेक्टरकृत अंकगणितीय, विशेष उद्देश्य गणना हार्डवेयर, और प्रसंस्करण इकाइयों के बीच कम विलंबता संचार के बारे में है। चूंकि संचार विलंबता कम है और प्रत्येक व्यक्तिगत कंप्यूटिंग इकाई बहुत तेज है, आदर्श उपयोग पैटर्न मशीन के रैम को डेटा के साथ लोड करना है और इसे एक बार में सभी को क्रंच करना है। इस प्रसंस्करण में नोड्स के बीच गुजरने वाले बहुत सारे डेटा शामिल हो सकते हैं, जैसा कि छवि प्रसंस्करण या 3 डी में होता है, जहां इनपुट फॉर्म से आउटपुट फॉर्म में डेटा को बदलने के लिए बहुत सारे CPU- बाध्य कार्य होते हैं। इस प्रकार की मशीन खराब विकल्प होती है जब आपको अक्सर डिस्क, नेटवर्क या डेटा के लिए कुछ अन्य धीमी I/O चैनल पर जाना पड़ता है। यह कम से कम एक महंगा, विशेष प्रोसेसर को निष्क्रिय करता है, और शायद डेटा प्रोसेसिंग पाइपलाइन को भी चुटकुले करता है, इसलिए कुछ और नहीं किया जाता है।
यदि आपके प्रोग्राम को धीमी आई/ओ चैनलों के भारी उपयोग की आवश्यकता है, तो एक बेहतर प्रकार की मशीन एक क्लस्टर की तरह कई सस्ते स्वतंत्र प्रोसेसर के साथ एक है। आप एक मशीन पर एर्लांग चला सकते हैं, इस मामले में आपको उस मशीन के भीतर क्लस्टर की तरह कुछ मिलता है, या आप आसानी से इसे वास्तविक हार्डवेयर क्लस्टर पर चला सकते हैं, इस मामले में आपके पास क्लस्टर का समूह है।यहां, संचार ओवरहेड अभी भी प्रसंस्करण इकाइयों को निष्क्रिय करता है, लेकिन क्योंकि आपके पास कंप्यूटिंग हार्डवेयर के प्रत्येक बिट पर चल रही कई प्रोसेसिंग इकाइयां हैं, इरलांग तत्काल अन्य प्रक्रियाओं में से एक पर स्विच कर सकती है। यदि ऐसा होता है कि एक पूरी मशीन आई/ओ पर प्रतीक्षा कर रही है, तो आपके पास अभी भी हार्डवेयर क्लस्टर में अन्य नोड्स हैं जो स्वतंत्र रूप से संचालित हो सकते हैं। यह मॉडल केवल तब टूट जाता है जब संचार ओवरहेड इतना ऊंचा होता है कि प्रत्येक नोड किसी अन्य नोड पर या सामान्य I/O के लिए प्रतीक्षा कर रहा है, इस मामले में आपको या तो तेज I/O या अधिक नोड्स की आवश्यकता होती है, जिनमें से दोनों Erlang स्वाभाविक रूप से लाभ लेते हैं का।
संचार और नियंत्रण प्रणाली एरलांग के आदर्श अनुप्रयोग हैं क्योंकि प्रत्येक व्यक्तिगत प्रसंस्करण कार्य में थोड़ा सीपीयू होता है और केवल कभी-कभी अन्य प्रोसेसिंग नोड्स के साथ संवाद करने की आवश्यकता होती है। अधिकांश समय, प्रत्येक प्रक्रिया स्वतंत्र रूप से परिचालन कर रही है, प्रत्येक सीपीयू पावर का एक छोटा सा अंश ले रहा है। यहां सबसे महत्वपूर्ण बात यह है कि इनमें से हजारों को कुशलता से संभालने की क्षमता है।
क्लासिक केस जहां आपको बिल्कुल क्लासिक सुपरकंप्यूटर की आवश्यकता है, मौसम पूर्वानुमान है। यहां, आप वायुमंडल को cubes में विभाजित करते हैं और प्रत्येक घन में क्या होता है यह जानने के लिए भौतिकी सिमुलेशन करते हैं, लेकिन आप क्लस्टर का उपयोग नहीं कर सकते क्योंकि प्रत्येक घन के बीच हवा चलता है, इसलिए प्रत्येक घन लगातार अपने 6 आसन्न पड़ोसियों के साथ संचार कर रहा है। (वायु किनारों के किनारों या कोनों से गुजरती नहीं है, जो असीम रूप से ठीक है, इसलिए यह अन्य 20 पड़ोसी क्यूब्स से बात नहीं करती है।) इसे क्लस्टर पर चलाएं, चाहे उस पर एरलांग चल रहा हो या कुछ अन्य सिस्टम, और यह तुरंत I/O बाध्य हो जाता है।
एरलांग को भारी और भरोसेमंद वितरित दूरसंचार सेवाओं के निर्माण के लिए एक समवर्ती भाषा के रूप में बनाया गया था - यह काफी स्वाभाविक है कि वे उदा। सामान्य संख्या क्रंचिंग से अधिक प्रोटोकॉल पार्सिंग। – nos
मुझे "व्यक्तिपरक और तर्कवादी" के आधार पर एक करीबी वोट दिखाई देता है, और मैं मानता हूं कि शीर्षक कुछ वांछित होने के लिए छोड़ देता है, लेकिन प्रश्न अच्छी तरह से और पोषक रूप से phrased हैं, और आज तक हमारे पास केवल सहायक प्रतिक्रियाएं हैं। मैं कहूंगा कि चीजें नीचे जाने तक इसे छोड़ दें। ** @ जॉन: ** शीर्षक को फिर से लिखने पर विचार करें। – dmckee
इसके बारे में कैसे? मैंने वास्तव में चीजों को ध्यान से और निष्पक्ष रूप से शब्दों की कोशिश करने की कोशिश की। मैंने सिर्फ अपने सवालों के जवाब देने के लिए चीजें नहीं देखी हैं, इसलिए मुझे बस पूछना पड़ा। –