फॉल्ट टॉलरेंस: Difference between revisions

From Vigyanwiki
(edit text)
(text edit)
Line 159: Line 159:
दोष-सहिष्णु डिजाइन के फायदे स्पष्ट हैं, जबकि इसके कई नुकसान नहीं हैं:
दोष-सहिष्णु डिजाइन के फायदे स्पष्ट हैं, जबकि इसके कई नुकसान नहीं हैं:


* '''एक ही घटक में खराबी का पता लगाने मे के साथ हस्तक्षेप।''' उपरोक्त यात्री वाहन उदाहरण को जारी रखने के लिए, किसी भी दोष-सहिष्णु प्रणाली के साथ यह ड्राइवर के लिए स्पष्ट नहीं हो सकता है कि टायर पंचर हो गया है। यह आमतौर पर एक अलग स्वचालित गलती-पहचान प्रणाली के साथ नियंत्रित किया जाता है। टायर के मामले में, एक एयर प्रेशर मॉनिटर दबाव के नुकसान का पता लगाता है और ड्राइवर को सूचित करता है। विकल्प एक मैनुअल गलती-पहचान प्रणाली है, जैसे प्रत्येक स्टॉप पर सभी टायरों का मैन्युअल रूप से निरीक्षण करना।
* '''एक ही घटक में खराबी का पता लगाने के साथ हस्तक्षेप।''' उपरोक्त यात्री वाहन उदाहरण को जारी रखने के लिए, किसी भी दोष-सहिष्णु प्रणाली के साथ यह ड्राइवर के लिए स्पष्ट नहीं हो सकता है कि टायर पंचर हो गया है। यह आमतौर पर एक अलग स्वचालित गलती-पहचान प्रणाली के साथ नियंत्रित किया जाता है। टायर के मामले में, एक एयर प्रेशर मॉनिटर दबाव के नुकसान का पता लगाता है और ड्राइवर को सूचित करता है। विकल्प एक मैनुअल गलती-पहचान प्रणाली है, जैसे प्रत्येक स्टॉप पर सभी टायरों का मैन्युअल रूप से निरीक्षण करना।
* ''' दूसरे घटक में गलती का पता लगाने के साथ हस्तक्षेप। ''' इस समस्या का एक और बदलाव तब होता है जब एक घटक में गलती सहनशीलता एक अलग घटक में गलती का पता लगाने से रोकती है। उदाहरण के लिए, यदि घटक बी घटक ए से आउटपुट के आधार पर कुछ ऑपरेशन करता है, तो बी में गलती सहनशीलता ए के साथ एक समस्या छुपा सकती है। यदि घटक बी को बाद में बदल दिया जाता है (कम गलती-सहिष्णु डिजाइन के लिए) तो सिस्टम अचानक विफल हो सकता है, यह प्रकट करना कि नया घटक बी समस्या है। सिस्टम की सावधानीपूर्वक जांच करने के बाद ही यह स्पष्ट होगा कि मूल समस्या वास्तव में घटक ए के साथ है।
* ''' दूसरे घटक में गलती का पता लगाने के साथ हस्तक्षेप। '''इस समस्या मे एक और परिवर्तन तब होता है जब एक घटक में दोष सहिष्णुता दूसरे घटक में गलती का पता लगाने से रोकती है। उदाहरण के लिए, यदि घटक बी(B) घटक ए(A) से आउटपुट के आधार पर कुछ ऑपरेशन करता है, तो बी(B) में दोष सहिष्णुता (A) के साथ एक समस्या छुपा सकती है। यदि घटक बी(B) को बाद में बदल दिया जाता है (कम दोष-सहिष्णु डिजाइन के लिए) तो सिस्टम अचानक विफल हो सकता है, जिससे यह प्रतीत होता है कि नया घटक बी(B) समस्या है। सिस्टम की सावधानीपूर्वक जांच करने के बाद ही यह स्पष्ट होगा कि मूल समस्या वास्तव में घटक ए(A) के साथ है।
* ''' गलती सुधार की प्राथमिकता में कमी। ''' भले ही ऑपरेटर को गलती के बारे में पता हो, एक दोष-सहिष्णु प्रणाली होने से गलती की मरम्मत के महत्व को कम करने की संभावना है। यदि दोषों को ठीक नहीं किया जाता है, तो यह अंततः सिस्टम विफलता की ओर ले जाएगा, जब दोष-सहिष्णु घटक पूरी तरह से विफल हो जाता है या जब सभी निरर्थक घटक भी विफल हो जाते हैं।
* ''' गलती सुधार की प्राथमिकता में कमी। '''भले ही ऑपरेटर को गलती के बारे में पता हो,एक दोष-सहिष्णु प्रणाली होने से गलती की मरम्मत के महत्व को कम करने की संभावना है। यदि दोषों को ठीक नहीं किया जाता है,तो यह अंततः सिस्टम को विफलता की ओर ले जाएगा, जब दोष-सहिष्णु घटक पूरी तरह से विफल हो जाता है या जब सभी निरर्थक घटक भी विफल हो जाते हैं।
* ''' परीक्षण कठिनाई। ''' [[ परमाणु रिएक्टर ]] जैसे कुछ महत्वपूर्ण दोष-सहिष्णु प्रणालियों के लिए, यह सत्यापित करने का कोई आसान तरीका नहीं है कि बैकअप घटक कार्यात्मक हैं। इसका सबसे कुख्यात उदाहरण  [[ चेरनोबिल आपदा |  चेरनोबिल ]] है, जहां ऑपरेटरों ने प्राथमिक और माध्यमिक शीतलन को अक्षम करके आपातकालीन बैकअप कूलिंग का परीक्षण किया। बैकअप विफल हो गया, जिसके परिणामस्वरूप कोर मेल्टडाउन और विकिरण की बड़े पैमाने पर रिहाई हुई।
* ''' परीक्षण कठिनाई। '''[[ परमाणु रिएक्टर |परमाणु रिएक्टर]] जैसे कुछ महत्वपूर्ण दोष-सहिष्णु प्रणालियों के लिए, यह सत्यापित करने का कोई आसान तरीका नहीं है कि बैकअप घटक कार्यात्मक हैं। इसका सबसे कुख्यात उदाहरण  [[ चेरनोबिल आपदा |  चेरनोबिल(Chernobyl)]] है, जहां ऑपरेटरों ने प्राथमिक और द्वितीयक कूलिंग को अक्षम करके आपातकालीन बैकअप कूलिंग का परीक्षण किया। बैकअप विफल हो गया, जिसके परिणामस्वरूप कोर मेल्टडाउन और विकिरण की बड़े पैमाने पर मुक्ति हुई।
* ''' लागत। ''' दोष-सहनशील घटकों और निरर्थक घटकों दोनों की लागत में वृद्धि होती है। यह पूरी तरह से आर्थिक लागत हो सकती है या इसमें वजन जैसे अन्य उपाय शामिल हो सकते हैं। [[ मानव अंतरिक्ष यान | मानवयुक्त अंतरिक्ष यान ]] , उदाहरण के लिए, इतने अनावश्यक और दोष-सहिष्णु घटक हैं कि उनका वजन मानव रहित प्रणालियों पर नाटकीय रूप से बढ़ जाता है, जिन्हें समान स्तर की सुरक्षा की आवश्यकता नहीं होती है।
* ''' लागत। '''दोष-सहनशील घटकों और निरर्थक घटकों दोनों की लागत में वृद्धि होती है। यह पूरी तरह से आर्थिक लागत हो सकती है या इसमें वजन जैसे अन्य उपाय शामिल हो सकते हैं। उदाहरण के लिए, [[ मानव अंतरिक्ष यान |मानवयुक्त अंतरिक्ष यान]],में इतने अनावश्यक और दोष-सहिष्णु घटक हैं कि उनका वजन मानव रहित प्रणालियों पर नाटकीय रूप से बढ़ जाता है, जिन्हें समान स्तर की सुरक्षा की आवश्यकता नहीं होती है।
* '''अवर घटक।''' एक दोष-सहिष्णु डिज़ाइन निम्न घटकों के उपयोग की अनुमति दे सकता है, जो अन्यथा सिस्टम को निष्क्रिय बना देता। हालांकि इस अभ्यास में लागत वृद्धि को कम करने की क्षमता है, कई निम्न घटकों का उपयोग सिस्टम की विश्वसनीयता को एक तुलनीय गैर-गलती-सहिष्णु प्रणाली के बराबर या उससे भी बदतर स्तर तक कम कर सकता है।
* '''निम्न घटक।''' एक दोष-सहिष्णु डिज़ाइन निम्न घटकों के उपयोग की अनुमति दे सकता है,अन्यथा जो सिस्टम को निष्क्रिय बना देता। हालांकि इस अभ्यास में लागत वृद्धि को कम करने की क्षमता है, कई निम्न घटकों का उपयोग सिस्टम की विश्वसनीयता को एक तुलनीय गैर-दोष-सहिष्णु प्रणाली के बराबर या उससे भी और ज्यादा स्तर तक कम कर सकता है।


== संबंधित शब्द ==
== संबंधित शब्द ==
दोष सहिष्णुता और उन प्रणालियों के बीच अंतर है जिनमें शायद ही कभी समस्याएं होती हैं। उदाहरण के लिए, [[ वेस्टर्न इलेक्ट्रिक ]] [[ क्रॉसबार स्विच | क्रॉसबार ]] सिस्टम की विफलता दर प्रति चालीस वर्षों में दो घंटे थी, और इसलिए अत्यधिक "गलती प्रतिरोधी" थी। लेकिन जब कोई गलती हुई तो उन्होंने पूरी तरह से काम करना बंद कर दिया, और इसलिए 'गलती सहिष्णु' नहीं थे।
दोष सहिष्णुता और उन प्रणालियों के बीच अंतर है जिनमें शायद ही कभी समस्याएं होती हैं। उदाहरण के लिए, [[ वेस्टर्न इलेक्ट्रिक |वेस्टर्न इलेक्ट्रिक]] [[ क्रॉसबार स्विच |क्रॉसबार]] सिस्टम की विफलता दर प्रति चालीस वर्षों में दो घंटे थी,और इसलिए अत्यधिक "दोष प्रतिरोधी" थी। लेकिन जब कोई गलती हुई तो उन्होंने पूरी तरह से काम करना बंद कर दिया,और इसलिए यह 'दोष सहिष्णु' नहीं थे।


==See also==
==यह भी देखे==
{{Div col}}
{{Div col}}
*[[Byzantine fault tolerance]]
*[[Byzantine fault tolerance]]

Revision as of 20:09, 8 July 2022

फॉल्ट टॉलरेंस वह गुण है जो किसी प्रणाली( सिस्टम) को इसके कुछ घटकों में एक या अधिक दोषों की विफलता की स्थिति में ठीक से संचालन जारी रखने में सक्षम बनाता है। यदि इसकी परिचालन गुणवत्ता बिल्कुल भी कम हो जाती है, तो कमी विफलता की गंभीरता के समानुपाती होती है,एक सरलता से डिज़ाइन की गई प्रणाली की तुलना में, जिसमें एक छोटी सी विफलता भी विघटन का कारण बन सकती है। उच्च उपलब्धता, महत्वपूर्ण लक्ष्य, या यहां तक ​​कि जीवन महत्वपूर्ण प्रणाली में दोष सहिष्णुता (फॉल्ट टॉलरेंस) की विशेष रूप से मांग की जाती है। सिस्टम के कुछ हिस्सों के टूटने पर कार्यक्षमता को बनाए रखने की क्षमता को ग्रेसफुल डिग्रेडेशन कहा जाता है।[1]

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

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

इतिहास

पहला ज्ञात दोष-सहिष्णु(फॉल्ट टॉलरेंस) कंप्यूटर SAPO था,जिसे 1951 में चेकोस्लोवाकिया में एंटोनिन स्वोबोडा द्वारा बनाया गया था।[3]: 155  इसका मूल डिजाइन चुंबकीय ड्रम था जो रिले के माध्यम से जुड़ा हुआ था, जिसमें स्मृति त्रुटि का पता लगाने की मतदान पद्धति (ट्रिपल मॉड्यूलर रिडंडेंसी) थी। इस लाइन के साथ कई अन्य मशीनें विकसित की गईं, जो ज्यादातर सैन्य उपयोग के लिए थीं। आखिरकार, वे तीन अलग-अलग श्रेणियों में विभाजित हो गए: मशीनें जो बिना किसी रखरखाव के लंबे समय तक चलेंगी, जैसे कि नासा अंतरिक्ष जांच और उपग्रह पर उपयोग की जाने वाली मशीनें; ऐसे कंप्यूटर जो बहुत भरोसेमंद थे लेकिन उन्हें निरंतर निगरानी की आवश्यकता थी, जैसे कि परमाणु ऊर्जा संयंत्र या सुपरकोलाइडर प्रयोगों की निगरानी और नियंत्रण के लिए उपयोग किए जाने वाले कंप्यूटर; और अंत में, उच्च मात्रा में रनटाइम वाले कंप्यूटर जो भारी उपयोग में होंगे, जैसे कि बीमा कंपनियों द्वारा उनकी सम्भाविकी निगरानी के लिए उपयोग किए जाने वाले कई सुपर कंप्यूटर।

तथाकथित LLNM (लॉन्ग लाइफ,नो मेंटेनेंस) कंप्यूटिंग में अधिकांश विकास 1960 के दशक में अपोलो योजना और अन्य शोध पहलुओं की तैयारी के दौरान किया गया था।[4] पहली मशीन अंतरिक्ष प्रेक्षणगृह में गई और उनका दूसरा प्रयास JSTAR कंप्यूटर,समुद्रयात्रा में इस्तेमाल किया गया। मेमोरी रिकवरी विधियों का उपयोग करने के लिए इस कंप्यूटर में मेमोरी सरणियों का बैकअप था और इस प्रकार इसे जेपीएल सेल्फ-टेस्टिंग-एंड-रिपेयरिंग कंप्यूटर कहा जाता था। यह अपनी स्वयं की त्रुटियों का पता लगा सकता है और उन्हें ठीक कर सकता है या आवश्यकतानुसार अनावश्यक मॉड्यूल ला सकता है। 2022 की शुरुआत तक कंप्यूटर अभी भी काम कर रहा है।[5]

हाइपर-डिपेंडेबल कंप्यूटरों का संचालन ज्यादातर विमान निर्माताओं,परमाणु ऊर्जा कंपनियों और रेल उद्योग द्वारा किया गया था।[3]: 210  इन्हें भारी मात्रा में अपटाइम वाले कंप्यूटरों की आवश्यकता थी जो इस तथ्य पर भरोसा करते हुए कि कंप्यूटर आउटपुट को लगातार मनुष्यों द्वारा दोषों का पता लगाने के लिए मॉनिटर किया जाएगा। फिर से,आईबीएम (IBM) ने सैटर्न वी रॉकेट के मार्गदर्शन के लिए इस तरह का पहला कंप्यूटर विकसित किया, लेकिन बाद में बीएनएसएफ( BNSF), यूनिसिस और जनरल इलेक्ट्रिक ने अपना खुद का कंप्यूटर बनाया।[3]: 223 

1970 के दशक में इस क्षेत्र में बहुत काम हुआ है,[6][7][8] उदाहरण के लिए, एफ14 सीएडीसी मेंअंतर्निर्मित आत्म-परीक्षण किया गया था।[9]

सामान्य तौर पर, दोष-सहिष्णु डिजाइनों के शुरुआती प्रयास मुख्य रूप से आंतरिक निदान पर केंद्रित थे, जहां एक गलती से संकेत मिलता था कि कुछ विफल हो रहा था और एक कार्यकर्ता इसे बदल सकता है। उदाहरण के लिए, SAPO के पास एक तरीका था जिसके द्वारा दोषपूर्ण मेमोरी ड्रम विफलता से पहले एक शोर का उत्सर्जन करेगा।[10] बाद के प्रयासों से पता चला कि पूरी तरह से प्रभावी होने के लिए, सिस्टम को स्वयं-मरम्मत और निदान करना होगा - एक गलती को अलग करना और फिर मरम्मत की आवश्यकता को चेतावनी देते हुए एक अनावश्यक बैकअप को लागू करना। इसे एन-मॉडल अतिरेक के रूप में जाना जाता है, जहां दोष स्वत: सुरक्षित और ऑपरेटर को चेतावनी का कारण बनते हैं, और यह आज भी उपयोग में स्तर एक दोष-सहिष्णु डिजाइन का सबसे सामान्य रूप है।

वोटिंग एक और प्रारंभिक विधि थी, जैसा कि ऊपर चर्चा की गई है, जिसमें कई निरर्थक बैकअप लगातार काम कर रहे हैं और एक दूसरे के परिणामों की जांच कर रहे हैं, इस परिणाम के साथ कि यदि, उदाहरण के लिए, चार घटकों ने 5 के उत्तर की सूचना दी और एक घटक ने 6 के उत्तर की सूचना दी, तो अन्य चार "वोट" करेंगे कि पाँचवाँ घटक दोषपूर्ण था और इसे सेवा से बाहर कर दिया गया था। इसे N बहुमत वाले मतदान में से M कहा जाता है।

ऐतिहासिक रूप से, गति हमेशा एन-मॉडल(N-model) से आगे बढ़ने के लिए और एन(N) से एम(M) से अधिक तक आगे बढ़ने के लिए रही है क्योंकि सिस्टम की जटिलता और संक्रमणीय स्थिति को गलती-नकारात्मक से गलती-सकारात्मक तक सुनिश्चित करने की कठिनाई ने संचालन को बाधित नहीं किया।

टेंडेम और स्ट्रैटस ऑनलाइन लेनदेन प्रोसेसिंग के लिए दोष-सहनशील कंप्यूटर सिस्टम के डिजाइन में विशेषज्ञता वाली पहली कंपनियों में से थे।

उदाहरण

M2 मोबाइल वेब, ट्विटर का मूल मोबाइल वेब फ्रंट एंड, बाद में दिसंबर 2020 तक क्लाइंट के लिए बिना जावास्क्रिप्ट सपोर्ट और/या असंगत ब्राउज़र के फॉलबैक लीगेसी वर्जन के रूप में कार्य किया।

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

कंप्यूटर अनुप्रयोगों में दोष सहिष्णुता उल्लेखनीय रूप से सफल है। टेंडेम कंप्यूटर्स ने अपना पूरा व्यवसाय ऐसी मशीनों पर बनाया, जिन्होंने नॉनस्टॉप सिस्टम बनाने के लिए सिंगल-पॉइंट टॉलरेंस का इस्तेमाल किया, जिसमें अपटाइम मापा गया।

विफल-सुरक्षित आर्किटेक्चर में कंप्यूटर सॉफ़्टवेयर भी शामिल हो सकता है, उदाहरण के लिए प्रक्रिया प्रतिकृति द्वारा।

डेटा स्वरूपों को भी नष्ट करने के लिए डिज़ाइन किया जा सकता है। उदाहरण के लिए एचटीएमएल (HTML), को ऐसे डिज़ाइन किया गया है,जिससे वेब ब्राउज़र दस्तावेज़ को अनुपयोगी किए बिना नए और असमर्थित एचटीएमएल (HTML) इकाइयों को अनदेखा करने की इजाजत देता है। इसके अतिरिक्त, कुछ साइटें, जिनमें ट्विटर (Twitter) (दिसंबर 2020 तक) जैसे लोकप्रिय प्लेटफॉर्म शामिल हैं, जो जावास्क्रिप्ट(JavaScript) पर निर्भर नहीं है और इसमें न्यूनतम लेआउट है, जिसमे व्यापक उपलब्धता और पहुँच है,जैसे सीमित वेब ब्राउज़िंग क्षमताओं के साथ कार्य ढाँचा।[11][12]

शब्दावली

पारदर्शिता वाली छवि में डिज़ाइन द्वारा ग्रेसफुल डिग्रेडेशन का एक उदाहरण। शीर्ष दो छवियों में से प्रत्येक एक दर्शक में समग्र छवि को देखने का परिणाम है जो पारदर्शिता को पहचानता है। नीचे की दो छवियां एक ऐसे दर्शक का परिणाम हैं, जिसमें पारदर्शिता के लिए कोई समर्थन नहीं है। क्योंकि ट्रांसपेरेंसी मास्क (सेंटर बॉटम) को हटा दिया जाता है, केवल ओवरले (सेंटर टॉप) रहता है; बाईं ओर की छवि को इनायत से नीचा दिखाने के लिए डिज़ाइन किया गया है, इसलिए इसकी पारदर्शिता जानकारी के बिना अभी भी सार्थक है।

एक या अधिक घटक विफल होने पर भी दोष-सहिष्णु प्रणाली प्रदर्शन के समान स्तर पर जारी रह सकती है। उदाहरण के लिए,एक बैकअप विद्युत जनरेटर भवन दीवार के आउटलेट को समान वोल्टेज प्रदान करेगा,भले ही ग्रिड पावर विफल हो जाए।

एक प्रणाली जो सुरक्षित,या असफल-सुरक्षित, या विफल होने के