बर्कले का एल्गोरिथ्म एक एल्गोरिथ्म है जिसका उपयोग वितरित प्रणालियों में घड़ी के सिंक्रनाइज़ेशन के लिए किया जाता है। इस एल्गोरिथम का उपयोग उन मामलों में किया जाता है जब वितरित नेटवर्क के कुछ या सभी सिस्टम में इनमें से कोई एक समस्या होती है -
-
उ. मशीन के पास सटीक समय स्रोत नहीं है।
-
B. नेटवर्क या मशीन में UTC सर्वर नहीं है।
वितरित प्रणाली इसमें कई नोड होते हैं जो भौतिक रूप से अलग होते हैं लेकिन एक नेटवर्क का उपयोग करके एक साथ जुड़े होते हैं।
बर्कले का एल्गोरिथम
इस एल्गोरिथम में, सिस्टम एक नोड को मास्टर/लीडर नोड के रूप में चुनता है। यह सर्वर में पूल नोड्स से किया जाता है।
एल्गोरिथम है -
-
चुनाव प्रक्रिया सर्वर में मास्टर नोड चुनती है।
-
नेता तब अनुयायियों का चुनाव करता है जो अपना समय क्रिश्चियन के एल्गोरिथम के समान प्रदान करते हैं , यह समय-समय पर किया जाता है।
-
नेता तब सापेक्ष समय की गणना करता है जिसे अन्य नोड्स को वैश्विक घड़ी के समय में सिंक्रनाइज़ करने के लिए बदलना या समायोजित करना पड़ता है जो कि नेता नोड को प्रदान किए जाने वाले समय का औसत है।
आइए बर्कले एल्गोरिथम का उपयोग करके घड़ी को सिंक्रोनाइज़ करने के लिए अपनाए गए चरणों का सारांश दें,
वितरित सिस्टम में नोड्स उनके घड़ी के समय के साथ -
N1 -> 14:00 (master node) N2 -> 13: 46 N3 -> 14: 15
चरण 1 - नेता चुना जाता है, नोड N1 सिस्टम में मास्टर होता है।
चरण 2 - नेता सभी नोड्स से समय का अनुरोध करता है।
N1 -> time : 14:00 N2 -> time : 13:46 N3 -> time : 14:20
चरण 3 - नेता समय को औसत करता है और सुधार समय को वापस नोड्स में भेजता है।
N1 -> Corrected Time 14:02 (+2) N2 -> Corrected Time 14:02 (+16) N3 -> Corrected Time 14:02 (-18)
यह दिखाता है कि बर्कले के एल्गोरिथम का उपयोग करके एक वितरित सिस्टम के नोड्स का सिंक्रनाइज़ेशन कैसे किया जाता है।