वितरित प्रणाली मॉडल
वितरित प्रणाली मॉडल वास्तुकला, समय, संचार और विफलताओं के बारे में अमूर्त धारणाएँ हैं, जो यह परिभाषित करती हैं कि एक वितरित एल्गोरिथम किस पर निर्भर कर सकता है और उसे क्या सहन करना चाहिए।
Definition
एक वितरित प्रणाली स्वतंत्र कंप्यूटरों का एक संग्रह है जो केवल संदेशों का आदान-प्रदान करके संचार करते हैं और जो अपने उपयोगकर्ताओं को एक एकल सुसंगत प्रणाली के रूप में दिखाई देते हैं; एक प्रणाली मॉडल प्रक्रियाओं, संचार चैनलों, समय और विफलताओं के बारे में धारणाओं का समूह है जिसके तहत ऐसी प्रणाली का विश्लेषण किया जाता है।
Scope
यह क्षेत्र वितरित प्रणालियों (क्लाइंट, सर्वर, पीयर और मल्टीटियर संगठन) के वास्तुशिल्प और भौतिक मॉडल, तुल्यकालिक और अतुल्यकालिक निष्पादन को अलग करने वाले समय मॉडल, मौलिक विफलता मॉडल (क्रैश, चूक, समय और बीजान्टिन), और संदेश पासिंग, साझा मेमोरी, रिमोट इनवोकेशन और मिडलवेयर के संचार अमूर्तन को शामिल करता है। ये मॉडल क्षेत्र के हर परिणाम को फ्रेम करते हैं: एक मॉडल के तहत सही एल्गोरिथम दूसरे के तहत असंभव हो सकता है, इसलिए मॉडल को स्पष्ट करना शुद्धता और प्रदर्शन के बारे में तर्क करने के लिए एक शर्त है।
Sub-topics
Core questions
- किसी दिए गए वितरित एल्गोरिथम को समय, संचार और विफलताओं के बारे में किन धारणाओं की आवश्यकता होती है?
- तुल्यकालिक और अतुल्यकालिक मॉडल कैसे भिन्न होते हैं, और यह अंतर क्यों बदलता है कि क्या गणना योग्य है?
- एक प्रोटोकॉल को सही होने के लिए प्रक्रिया और चैनल विफलताओं के किन वर्गों को सहन करना चाहिए?
- एक प्रणाली को संदेश पासिंग बनाम साझा-मेमोरी या रिमोट-इनवोकेशन अमूर्तन के आसपास कब संरचित किया जाना चाहिए?
Key theories
- तुल्यकालिक बनाम अतुल्यकालिक मॉडल
- एक तुल्यकालिक मॉडल में संदेश विलंब और सापेक्ष प्रोसेसर गति पर ज्ञात सीमाएँ होती हैं, जिससे विफलताओं का पता लगाने के लिए टाइमआउट का उपयोग किया जा सकता है; एक अतुल्यकालिक मॉडल में ऐसी कोई सीमाएँ मौजूद नहीं होती हैं, जो विफलता का पता लगाने को मौलिक रूप से अविश्वसनीय बनाती हैं और कई असंभवता परिणामों का आधार बनती हैं।
- विफलता मॉडल पदानुक्रम
- प्रक्रिया और चैनल विफलताओं को सौम्य से गंभीर तक वर्गीकृत किया जाता है—क्रैश (फेल-स्टॉप), चूक, समय, और मनमाना (बीजान्टिन)—अधिक गंभीर विफलताओं को छिपाने के लिए मजबूत गारंटी की आवश्यकता होती है; चुना गया मॉडल प्राप्त करने योग्य लचीलापन और प्रोटोकॉल की लागत दोनों को निर्धारित करता है।
- संचार अमूर्तन
- वितरित संगणना अंतःक्रिया आदिमों के एक छोटे समूह पर आधारित है—अतुल्यकालिक और तुल्यकालिक संदेश पासिंग, वितरित साझा मेमोरी, और रिमोट प्रक्रिया या विधि इनवोकेशन—प्रत्येक में वितरण, ऑर्डरिंग और विफलता के लिए विशिष्ट शब्दार्थ होते हैं जो उच्च-स्तरीय डिज़ाइन को आकार देते हैं।
Clinical relevance
सही मॉडल चुनना किसी भी वास्तविक प्रणाली में पहला डिज़ाइन निर्णय है: क्लाउड प्लेटफ़ॉर्म, डेटाबेस और समन्वय सेवाएँ सभी एक (अक्सर आंशिक रूप से तुल्यकालिक) समय मॉडल और एक विफलता मॉडल घोषित करते हैं, और ये विकल्प निर्धारित करते हैं कि सिस्टम कौन सी संगति, उपलब्धता और दोष-सहिष्णुता की गारंटी दे सकता है।
History
1970 और 1980 के दशक में प्रारंभिक वितरित प्रणालियों के शोध ने न्यूनतम धारणाओं की पहचान करने की कोशिश की जिनके तहत वितरित समन्वय संभव है, जिससे तुल्यकालिक/अतुल्यकालिक द्वंद्व और विफलताओं का वर्गीकरण हुआ। इन मॉडलों को लिंच, अटिया और वेल्च, तानेनबाम और वैन स्टीन, और कूलूरिस और सहयोगियों की पाठ्यपुस्तकों में समेकित किया गया, जो पूरे क्षेत्र के लिए साझा शब्दावली बन गए।
Debates
- व्यावहारिक प्रणालियों के लिए अतुल्यकालिक मॉडल कितना यथार्थवादी है?
- शुद्ध अतुल्यकालिक मॉडल में प्रोग्राम करना सबसे कठिन साबित होता है और विश्वसनीय विफलता का पता लगाने को बाहर करता है, फिर भी अधिकांश वास्तविक नेटवर्क केवल रुक-रुक कर धीमे होते हैं; आंशिक रूप से तुल्यकालिक मॉडल और विफलता डिटेक्टर एक व्यावहारिक मध्य मार्ग के रूप में उभरे जो कठोरता को बनाए रखते हुए टाइमआउट को स्वीकार करते हैं।
Key figures
- Leslie Lamport
- Nancy Lynch
- Andrew S. Tanenbaum
- Maarten van Steen
Related topics
Seminal works
- lynch1996
- tanenbaum2017
- attiya2004
Frequently asked questions
- समय मॉडल इतना महत्वपूर्ण क्यों है?
- क्योंकि यह निर्धारित करता है कि टाइमआउट पर भरोसा किया जा सकता है या नहीं। एक तुल्यकालिक मॉडल में सीमित विलंब एक प्रक्रिया को सुरक्षित रूप से यह निष्कर्ष निकालने की अनुमति देता है कि एक शांत सहकर्मी विफल हो गया है; एक अतुल्यकालिक मॉडल में एक धीमी प्रक्रिया और एक क्रैश हुई प्रक्रिया अविभाज्य होती है, जो कई प्रसिद्ध असंभवता परिणामों का मूल कारण है।
- बीजान्टिन विफलता क्या है?
- एक बीजान्टिन (मनमानी) विफलता वह है जिसमें एक दोषपूर्ण घटक किसी भी तरह से व्यवहार कर सकता है, जिसमें विरोधाभासी या दुर्भावनापूर्ण संदेश भेजना शामिल है। इसे सहन करना साधारण क्रैश को सहन करने की तुलना में कहीं अधिक महंगा है और इसके लिए विशेष समझौते प्रोटोकॉल की आवश्यकता होती है।