Failure detector
ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ સિસ્ટમમાં, નિષ્ફળતા ડિટેક્ટર એ કમ્પ્યુટર એપ્લિકેશન અથવા સબસિસ્ટમ છે જે નોડ નિષ્ફળતા અથવા ક્રેશની શોધ માટે જવાબદાર છે. ફેઇલર ડિટેક્ટર્સ સૌપ્રથમ 1996 માં ચંદ્ર અને ટુએગ દ્વારા તેમના પુસ્તક અનરિલિએબલ ફેઇલર ડિટેક્ટર્સ ફોર રિલાઇબલ ડિસ્ટ્રિબ્યુટેડ સિસ્ટમ્સમાં રજૂ કરવામાં આવ્યા હતા. આ પુસ્તક ફેલ્યોર ડિટેક્ટરને વિતરિત પ્રણાલીમાં સર્વસંમતિ (વિશ્વસનીયતાની સિદ્ધિ) અને અણુ પ્રસારણ (સંદેશાઓનો સમાન ક્રમ) સુધારવાના સાધન તરીકે વર્ણવે છે. બીજા શબ્દોમાં કહીએ તો, નિષ્ફળતા ડિટેક્ટર્સ પ્રક્રિયામાં ભૂલો શોધે છે, અને સિસ્ટમ વિશ્વસનીયતાનું સ્તર જાળવી રાખશે. વ્યવહારમાં, નિષ્ફળતા ડિટેક્ટર્સ સ્પોટ ક્રેશ થયા પછી, સિસ્ટમ એવી પ્રક્રિયાઓ પર પ્રતિબંધ મૂકશે જે કોઈપણ વધુ ગંભીર ક્રેશ અથવા ભૂલોને રોકવા માટે ભૂલો કરી રહી છે. 21મી સદીમાં, એપ્લિકેશન ભૂલો શોધવા માટે વિતરિત કમ્પ્યુટિંગ સિસ્ટમોમાં નિષ્ફળતા ડિટેક્ટર્સનો વ્યાપકપણે ઉપયોગ થાય છે, જેમ કે સોફ્ટવેર એપ્લિકેશન યોગ્ય રીતે કામ કરવાનું બંધ કરે છે. જેમ જેમ ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ પ્રોજેક્ટ્સ (ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ પ્રોજેક્ટ્સની સૂચિ જુઓ) વધુને વધુ લોકપ્રિય બને છે, તેમ તેમ નિષ્ફળતા શોધનો ઉપયોગ પણ મહત્વપૂર્ણ અને નિર્ણાયક બને છે. ઓરિજિન અનરિલિએબલ ફેલ્યર ડિટેક્ટર ચંદ્ર અને ટુએગ, અનરિલિએબલ ફેલ્યર ડિટેક્ટર્સ ફોર રિલાઇબલ ડિસ્ટ્રિબ્યુટેડ સિસ્ટમ્સ (1996) પુસ્તકના સહ-લેખકો, અવિશ્વસનીય નિષ્ફળતા ડિટેક્ટર રજૂ કરીને નિષ્ફળતા ગાંઠો શોધવાના ખ્યાલનો સંપર્ક કર્યો. તેઓ ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ સિસ્ટમમાં અવિશ્વસનીય નિષ્ફળતા ડિટેક્ટરની વર્તણૂકને આ રીતે વર્ણવે છેઃ સિસ્ટમમાં દરેક પ્રક્રિયા સ્થાનિક નિષ્ફળતા ડિટેક્ટર ઘટકમાં દાખલ થયા પછી, દરેક સ્થાનિક ઘટક સિસ્ટમની અંદરની તમામ પ્રક્રિયાઓના એક ભાગની તપાસ કરશે. વધુમાં, દરેક પ્રક્રિયામાં એવા કાર્યક્રમો પણ હોવા જોઈએ કે જે હાલમાં નિષ્ફળતા ડિટેક્ટર્સ દ્વારા શંકાસ્પદ છે. નિષ્ફળતા ડિટેક્ટર ચંદ્ર અને ટુએગે દાવો કર્યો હતો કે સિસ્ટમ દ્વારા કરવામાં આવેલી ભૂલોને શોધવામાં અવિશ્વસનીય નિષ્ફળતા ડિટેક્ટર હજુ પણ વિશ્વસનીય હોઈ શકે છે. તેઓ તમામ પ્રકારના નિષ્ફળતા ડિટેક્ટર્સ માટે અવિશ્વસનીય નિષ્ફળતા ડિટેક્ટર્સને સામાન્ય બનાવે છે કારણ કે અવિશ્વસનીય નિષ્ફળતા ડિટેક્ટર્સ અને નિષ્ફળતા ડિટેક્ટર્સ સમાન ગુણધર્મો ધરાવે છે. વધુમાં, ચંદ્ર અને ટુએગ એક મહત્વપૂર્ણ હકીકત તરફ ધ્યાન દોરે છે કે નિષ્ફળતા ડિટેક્ટર સિસ્ટમમાં કોઈ પણ ક્રેશને અટકાવતું નથી, ભલે તે અગાઉ ક્રેશ થયેલા પ્રોગ્રામની શંકા કરવામાં આવી હોય. નિષ્ફળતા ડિટેક્ટરનું નિર્માણ એક આવશ્યક છે, પરંતુ એક ખૂબ જ મુશ્કેલ સમસ્યા છે જે વિતરિત કમ્પ્યુટર સિસ્ટમમાં ખામી-સહિષ્ણુ ઘટકના વિકાસમાં આવી છે. પરિણામે, ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ સિસ્ટમ્સમાં વિશાળ માહિતી વ્યવહારમાં ભૂલો શોધવાની જરૂરિયાતને કારણે નિષ્ફળતા ડિટેક્ટરની શોધ કરવામાં આવી હતી. ગુણધર્મો નિષ્ફળતા ડિટેક્ટર્સના વર્ગોને બે મહત્વપૂર્ણ ગુણધર્મો દ્વારા અલગ પાડવામાં આવે છેઃ સંપૂર્ણતા અને ચોકસાઈ. સંપૂર્ણતાનો અર્થ એ છે કે નિષ્ફળતા ડિટેક્ટર્સ એ પ્રોગ્રામ્સને શોધી કાઢશે જે આખરે પ્રક્રિયામાં ક્રેશ થઈ ગયા હતા, જ્યારે ચોકસાઈનો અર્થ એ છે કે નિષ્ફળતા ડિટેક્ટર્સે પ્રક્રિયામાં કરેલા સાચા નિર્ણયો. સંપૂર્ણતાની ડિગ્રી ચોક્કસ સમયગાળામાં નિષ્ફળતા ડિટેક્ટર દ્વારા ક્રેશ થયેલી પ્રક્રિયાની સંખ્યા પર આધાર રાખે છે. મજબૂત સંપૂર્ણતાઃ "દરેક ખામીયુક્ત પ્રક્રિયા આખરે દરેક બિન-ખામીયુક્ત પ્રક્રિયા દ્વારા કાયમી ધોરણે શંકાસ્પદ બને છે". નબળી પૂર્ણતાઃ "દરેક ખામીયુક્ત પ્રક્રિયા આખરે કેટલીક બિન-ખામીયુક્ત પ્રક્રિયા દ્વારા કાયમી ધોરણે શંકાસ્પદ બને છે". ચોકસાઈની ડિગ્રી ચોક્કસ સમયગાળામાં નિષ્ફળતા શોધક દ્વારા કરવામાં આવેલી ભૂલોની સંખ્યા પર આધાર રાખે છે. મજબૂત ચોકસાઈઃ "કોઈ પણ પ્રક્રિયા ક્રેશ થાય તે પહેલાં (કોઈના દ્વારા) શંકાસ્પદ નથી". નબળી ચોકસાઈઃ "કેટલીક બિન-ખામીયુક્ત પ્રક્રિયા પર ક્યારેય શંકા થતી નથી". ઘટનાત્મક મજબૂત ચોકસાઈઃ "અંધાધૂંધીના પ્રારંભિક સમયગાળાના અંત પછી થોડા સમય પછી કોઈ બિન-ખામીયુક્ત પ્રક્રિયાની શંકા નથી કારણ કે તે સમયે છેલ્લી દુર્ઘટના થાય છે". ઘટનાત્મક નબળી ચોકસાઈઃ "મૂંઝવણના કેટલાક પ્રારંભિક સમયગાળા પછી, કેટલીક બિન-ખામીયુક્ત પ્રક્રિયા ક્યારેય શંકાસ્પદ નથી". વર્ગીકરણ નિષ્ફળતા ડિટેક્ટર્સને નીચેના આઠ પ્રકારોમાં વર્ગીકૃત કરી શકાય છેઃ સંપૂર્ણ નિષ્ફળતા ડિટેક્ટર્સ (પી) આખરે સંપૂર્ણ નિષ્ફળતા ડિટેક્ટર્સ (પી) મજબૂત નિષ્ફળતા ડિટેક્ટર્સ (એસ) આખરે મજબૂત નિષ્ફળતા ડિટેક્ટર્સ (એસ) નબળા નિષ્ફળતા ડિટેક્ટર્સ (ડબલ્યુ) આખરે નબળા નિષ્ફળતા ડિટેક્ટર્સ (ડબલ્યુ) અર્ધ-સંપૂર્ણ નિષ્ફળતા ડિટેક્ટર્સ (ક્યૂ) આખરે અર્ધ-સંપૂર્ણ નિષ્ફળતા ડિટેક્ટર્સ (ક્યૂ) આ નિષ્ફળતા ડિટેક્ટર્સના ગુણધર્મો નીચે વર્ણવવામાં આવ્યા છેઃ ટૂંકમાં, નિષ્ફળતા ડિટેક્ટર્સના ગુણધર્મો એ વાત પર નિર્ભર કરે છે કે નિષ્ફળતા ડિટેક્ટર વાસ્તવિક નિષ્ફળતાઓને કેટલી ઝડપથી શોધી કાઢે છે અને ખોટી શોધને કેટલી સારી રીતે ટાળે છે. એક સંપૂર્ણ નિષ્ફળતા ડિટેક્ટર કોઈપણ ભૂલો વિના તમામ ભૂલો શોધી કાઢશે, જ્યારે નબળા નિષ્ફળતા ડિટેક્ટર કોઈ ભૂલો શોધી કાઢશે નહીં અને અસંખ્ય ભૂલો કરશે. એપ્લિકેશન્સ નિષ્ફળતા ડિટેક્ટર્સના ગુણધર્મોને બદલીને વિવિધ પ્રકારના નિષ્ફળતા ડિટેક્ટર્સ મેળવી શકાય છે. પ્રથમ ઉદાહરણો દર્શાવે છે કે નિષ્ફળતા ડિટેક્ટરની સંપૂર્ણતા કેવી રીતે વધારવી, અને બીજું ઉદાહરણ દર્શાવે છે કે નિષ્ફળતા ડિટેક્ટરના એક પ્રકારને બીજામાં કેવી રીતે બદલવો. સંપૂર્ણતામાં વધારો યેલ યુનિવર્સિટીના કમ્પ્યુટર સાયન્સ વિભાગમાંથી નીચેનું એક ઉદાહરણ ટૂંકમાં લેવામાં આવ્યું છે. તે નિષ્ફળતાની સંપૂર્ણતાને વધારીને કાર્ય કરે છે detector.initially શંકાસ્પદો = યુ. એલ. કાયમ માટેઃ દરેક પ્રક્રિયા માટે પીઃ જો મારા નબળા-ડિટેક્ટરને પી. ની શંકા હોય, તો પછી કોઈ પ્રક્રિયા q: શંકાસ્પદોઃ = શંકાસ્પદો + પી-ક્યૂ પાસેથી પી પ્રાપ્ત કર્યા પછી તમામ પ્રક્રિયાઓને પી મોકલો ઉપરના ઉદાહરણમાંથી, જો પી ક્રેશ થાય, તો નબળા-ડિટેક્ટર આખરે તેની શંકા કરશે. નિષ્ફળતા ડિટેક્ટર્સ દ્વારા બનાવવામાં આવેલા અનંત લૂપને કારણે સિસ્ટમમાંના તમામ નિષ્ફળતા ડિટેક્ટર્સ આખરે પી પર શંકા કરશે. આ ઉદાહરણ એ પણ દર્શાવે છે કે નબળું સંપૂર્ણતા નિષ્ફળતા ડિટેક્ટર પણ આખરે તમામ ક્રેશની શંકા કરી શકે છે. ક્રેશ થયેલા કાર્યક્રમોનું નિરીક્ષણ સંપૂર્ણતા પર આધારિત નથી. નિષ્ફળતા ડિટેક્ટર W ને નિષ્ફળતા ડિટેક્ટર S માં ઘટાડવું નિષ્ફળતા ડિટેક્ટર W ને નિષ્ફળતા ડિટેક્ટર S માં બદલવાના અલ્ગોરિધમને સંતોષવા માટે નીચેની ચોકસાઈ દલીલો છે. નિષ્ફળતા ડિટેક્ટર W સંપૂર્ણતામાં નબળો છે, અને નિષ્ફળતા ડિટેક્ટર S સંપૂર્ણતામાં મજબૂત છે. તેઓ બંને ચોકસાઈમાં નબળા છે. તે નબળી સંપૂર્ણતાને મજબૂત પૂર્ણતામાં પરિવર્તિત કરે છે. તે શાશ્વત ચોકસાઈ જાળવી રાખે છે. તે અંતિમ ચોકસાઈ જાળવી રાખે છે. જો ઉપરોક્ત તમામ દલીલો સંતુષ્ટ હોય, તો નબળા નિષ્ફળતા ડિટેક્ટર W ને મજબૂત નિષ્ફળતા ડિટેક્ટર S માં ઘટાડવું ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ સિસ્ટમની અંદરના અલ્ગોરિધમ સાથે સહમત થશે. ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ પ્રોજેક્ટ્સની યાદી પણ જુઓ સ્વીમ પ્રોટોકોલ ક્રેશ (કમ્પ્યુટિંગ) ફોલ્ટ ટોલરન્સ સર્વસંમતિ અણુ પ્રસારણ સંદર્ભો બાહ્ય કડીઓ http://www.cs.yale.edu/homes/aspnes/pinewiki/FailureDetectors.html http://www.cs.cornell.edu/home/sam/FDpapers.html ડિસ્ટ્રિબ્યુટેડ કમ્પ્યુટિંગ ફોલ્ટ-ટોલરન્ટ કમ્પ્યુટર સિસ્ટમ્સ