एर्लैंग का 99.9999999% (नौ नौ) विश्वसनीयता


99

Erlang का उपयोग उत्पादन प्रणालियों में 20 से अधिक वर्षों के लिए 99.9999999% के अपटाइम प्रतिशत के साथ किया गया था।

मैंने निम्नलिखित के रूप में गणित किया:

20*365.25*24*60*60*(1 - 0.999999999) == 0.631 s

इसका मतलब है कि सिस्टम में केवल 20 साल की अवधि के दौरान डाउनटाइम का एक सेकंड से भी कम है। मैं इस की वैधता को चुनौती देने की कोशिश नहीं कर रहा हूं, मैं केवल इस बारे में उत्सुक हूं कि हम केवल 0.631 सेकंड के लिए सिस्टम (उद्देश्य या दुर्घटना से) को कैसे बंद कर सकते हैं। क्या कोई जो बड़े सॉफ्टवेयर सिस्टम से परिचित है वह हमें यह समझा सकता है? धन्यवाद।


क्या किसी को पता है कि प्रसंस्करण इकाइयों (या मशीनों) के क्लस्टर पर एक सेवा के डाउनटाइम की गणना कैसे की जाती है?


28
शायद यह सिर्फ एक कंप्यूटर से अधिक वैय्या पर इस्तेमाल किया जाता है - कुछ देशों में 1.2 बच्चों की जन्म दर होती है ...
वेल्टरम्पिरिट

3
@weltraumpirat यह समझ में आता है, एर्लांग के वितरित प्रकृति के कारण, इसका उपयोग कई कंप्यूटरों पर किया जाना है।
निंग

12
हां। यह सेवा का अपटाइम है, इसे चलाने वाले कंप्यूटर नहीं।
RCE

जवाबों:


86

विश्वसनीयता का आंकड़ा कुल समय AXD301(प्रश्न में परियोजना) के किसी भी हिस्से को मापने के लिए नहीं था, 20 वर्षों के लिए कभी भी बंद कर दिया गया था। यह उन 20 वर्षों में कुल समय का प्रतिनिधित्व करता है जो AXD301सिस्टम द्वारा प्रदान की गई सेवा कभी ऑफ़लाइन थी। सूक्ष्म अंतर। जैसा कि जो आर्मस्ट्रांग यहां कहते हैं :

AXD301 ने नाइन नाइन की विश्वसनीयता हासिल की है (हाँ, आपने सही पढ़ा, 99.9999999%)। आइए इसे संदर्भ में रखें: 5 नाइन को अच्छा होने के लिए (5.2 मिनट डाउनटाइम / वर्ष) माना जाता है। 7 नौ लगभग अस्वीकार्य ... लेकिन हमने 9 किए।

ऐसा क्यों है? कोई साझा स्थिति नहीं, साथ ही एक परिष्कृत त्रुटि पुनर्प्राप्ति मॉडल।

यदि आप जोड द्वारा लिखित पीएचडी थीसिस में, एरलंग के मूल लेखक (जिसमें एक केस स्टडी शामिल है AXD301) को थोड़ा गहरा खोदते हैं , तो आप पढ़ते हैं:

इस अध्याय में अध्ययन की गई परियोजनाओं में से एक एरिक्सन एक्सड 301 है, जो एक उच्च-प्रदर्शन वाला अत्यधिक विश्वसनीय एटीएम स्विच है

इसलिए, जब तक कि नेटवर्क स्विच ऑफ का एक हिस्सा था, बिना डाउनटाइम के चल रहा था, तब तक लेखक "नौ निंस की विश्वसनीयता" के लिए AXD301कह सकता है (जो कि उसने कभी कहा था, बारीकियों से बचते हुए)। यह जरूरी नहीं है कि एर्लैंग ऐसी उच्च विश्वसनीयता का एकमात्र कारण है।

EDIT: वास्तव में, "20 वर्ष" स्वयं एक गलत व्याख्या की तरह लगता है। जोए ने एक ही लेख में 20 साल के एक आंकड़े का उल्लेख किया है, लेकिन यह वास्तव में नौ-नाइन की विश्वसनीयता के आंकड़े से जुड़ा नहीं है, जो संभावित रूप से बहुत कम अध्ययन से निकला है (जैसा कि अन्य ने उल्लेख किया है)।


13
"हाँ। यह सेवा का समय है, इसे चलाने वाले कंप्यूटर नहीं हैं।" - आरसीई कहते हैं
ल्यूक स्टेनली

यह ऐसा है जैसे मैं GT MSCS 1993 में स्कूल में वापस आ गया हूँ! आप इसे किसी न किसी।
माइक पोलेन

2
जैसा कि मैंने अपने जवाब में बताया, यह आंकड़ा 20 साल के एक्सडीडी 301 ऑपरेशन पर आधारित नहीं था। यह ब्रिटिश टेलीकॉम द्वारा एकल परीक्षण में 8 महीने की अवधि में 14 नोड्स पर आधारित था। यह शायद ही पूरे AXD301 लाइन के परिचालन विशेषताओं का 20 वर्षों में प्रतिनिधि है (जो मुझे यकीन है कि अभी भी तारकीय है, केवल नौ नाइन नहीं है)।
एडविन फाइन

56

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

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

  1. हॉट कोड पुनः लोड हो रहा है । एक एरलांग प्रणाली में, एक मौजूदा एक के लिए प्रतिस्थापन मॉड्यूल को संकलित करना और लोड करना आसान है। बीईएम एमुलेटर स्वैच्छिक रूप से बिना किसी चीज को रोके स्वैग करता है। निस्संदेह कुछ छोटी मात्रा में समय होता है जिसके दौरान यह स्थानांतरण होता है, लेकिन यह कंप्यूटर समय में स्वचालित रूप से हो रहा है, बजाय मानव समय में मैन्युअल रूप से। यह आवश्यक रूप से शून्य डाउनटाइम के साथ अपग्रेड करना संभव बनाता है। (यदि आप प्रतिस्थापन मॉड्यूल में बग है जो सिस्टम को क्रैश करता है, तो आप डाउनटाइम कर सकते हैं, लेकिन इसीलिए आप उत्पादन को लागू करने से पहले परीक्षण करते हैं।)

  2. पर्यवेक्षकों । एरलैंग की ओटीपी लाइब्रेरी में एक पर्यवेक्षी ढांचा बनाया गया है जो आपको परिभाषित करता है कि मॉड्यूल क्रैश होने पर सिस्टम को कैसे प्रतिक्रिया देनी चाहिए। यहां मानक कार्रवाई विफल मॉड्यूल को पुनरारंभ करना है। पुनः आरंभ किए गए मॉड्यूल को तुरंत दुर्घटनाग्रस्त न मानने पर, आपके सिस्टम के विरुद्ध लगाया गया कुल डाउनटाइम एक सेकंड का मामला हो सकता है। एक ठोस प्रणाली जो शायद ही कभी दुर्घटनाग्रस्त होती है वह वास्तव में रन टाइम के वर्षों में कुल डाउनटाइम के केवल एक अंश को जमा कर सकती है।

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

  4. अतुल्यकालिक संदेश गुजर रहा है । जब एक प्रक्रिया किसी दूसरी चीज़ को बताना चाहती है, तो एर्लांग भाषा में एक प्रथम श्रेणी का ऑपरेटर होता है जो उसे ऐसा करने देता है। संदेश भेजने की प्रक्रिया को संदेश को संसाधित करने के लिए रिसीवर का इंतजार नहीं करना पड़ता है, और उसे भेजे गए डेटा के स्वामित्व का समन्वय नहीं करना पड़ता है। एर्लैंग के संदेश-पासिंग सिस्टम की अतुल्यकालिक कार्यात्मक प्रकृति सभी का ध्यान रखती है। यह उच्च उत्थान को बनाए रखने में मदद करता है क्योंकि यह उस प्रभाव को कम करता है जो एक प्रणाली के एक हिस्से में डाउनटाइम अन्य भागों पर हो सकता है।

  5. क्लस्टरिंग । यह पिछले बिंदु से इस प्रकार है: एरलैंग का संदेश पासिंग तंत्र एक नेटवर्क पर मशीनों के बीच पारदर्शी रूप से काम करता है, इसलिए एक भेजने की प्रक्रिया को यह भी ध्यान नहीं है कि रिसीवर एक अलग मशीन पर है। यह कई मशीनों के बीच एक वर्कलोड को विभाजित करने के लिए एक आसान तंत्र प्रदान करता है, जिनमें से प्रत्येक समग्र सिस्टम अपटाइम को नुकसान पहुंचाए बिना अलग से नीचे जा सकता है।


14
यह नोट करना भी महत्वपूर्ण है कि आप डाउनटाइम कैसे गिनते हैं। इससे कोई फर्क नहीं पड़ता कि आप कितनी बार कोड मॉड्यूल स्वैप करते हैं, विफल मॉड्यूल आदि को पुनरारंभ करते हैं जब तक कि एटीएम स्विच प्रक्रिया स्वयं बंद नहीं होती है। यूट्यूब की तरह - डाउनलोड सेकंड के लिए रोक सकता है - लेकिन जब तक आपके पास पर्याप्त बफर वीडियो अभी भी खेलता है :)
NPSF3000

एरलांग के बारे में आपने जो कुछ लिखा है वह सही है; गलतफहमी यह है कि पूरे AXD301 लाइन में नौ नाइन की उपलब्धता है, जिसे मैं अपने उत्तर में संबोधित करता हूं।
एडविन फाइन

33

99.9999999% उपलब्धता का आंकड़ा अक्सर उद्धृत लेकिन मौलिक रूप से भ्रामक आंकड़ा है। AXD-301 टीम के सदस्यों में से एक, मैट क्रोनकविस्ट ने एक प्रस्तुति दी (वीडियो) सैन फ्रांसिस्को में 2010 एर्लांग फैक्ट्री सम्मेलन में (जिसमें मैंने भाग लिया), इस सटीक उपलब्धता सांख्यिकीय पर चर्चा की। उनके अनुसार, यह AXD-301 का उपयोग करके "5 नोड-इयर्स" की एक परीक्षण अवधि (जनवरी से सितंबर 2002 तक मेरा विश्वास है) के लिए ब्रिटिश टेलीकॉम द्वारा दावा किया गया था। ट्रायल के अंत तक लाइव ट्रैफिक ले जाने वाले 14 नोड थे।

क्रोनकविस्ट ने विशेष रूप से कहा कि यह पूरे AXD-301 इतिहास का प्रतिनिधि नहीं है, या आम तौर पर एर्लैंग, और वह खुश नहीं था कि जो आर्मस्ट्रांग ने इसे उद्धृत किया, जिससे एरलैंग की विश्वसनीयता की उम्मीदों को पछाड़ दिया। दूसरों ने लिखा है कि पाँच नाइन अधिक यथार्थवादी आकृति हैं।

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


7

उन आंकड़ों के बारे में मेरी समझ यह है कि यह उत्पादन में सभी AXD301 प्रणालियों पर गणना की जाती है। हम उम्मीद कर सकते हैं कि जब AXD301 में कोई गंभीर समस्या होगी, तो यह 0.631 सेकंड से अधिक के लिए नीचे होगा। इस पेडियोड के दौरान, अन्य AXD301 नेटवर्क को चालू रखने के लिए काम करेगा।

हालाँकि, जब आप सभी चलने वाले AXD301 की कुल संख्या के योग बनाते हैं, तो एक असफल AXD301 के लिए अनुपात बनाते हैं, आप 99.999999% पाते हैं

यही मैं इस आंकड़े को समझता हूं।

उममीद है कि इससे मदद मिलेगी।

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